net_if: give more details about the bug being fixed
[gnulib.git] / ChangeLog
1 2012-09-06  Eric Blake  <eblake@redhat.com>
2
3         net_if: give more details about the bug being fixed
4         * doc/posix-headers/net_if.texi: Add clarification.
5
6 2012-09-05  Eric Blake  <eblake@redhat.com>
7
8         net_if: new module
9         * modules/net_if: New module, borrowing ideas from netinet_in.
10         * m4/net_if_h.m4: New file.
11         * lib/net_if.in.h: Likewise.
12         * doc/posix-headers/net_if.texi (net/if.h): Document it.
13         * MODULES.html.sh (lacking POSIX:2008): Likewise.
14         * tests/test-net_if.c: Make function checks conditional.
15         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
16
17 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
18
19         readutmp: fix non-portable UT_PID use
20         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
21         Use `UT_PID (u) > 0' as absolute condition.
22
23 2012-09-04  Jim Meyering  <meyering@redhat.com>
24
25         fts: reduce two or more trailing spaces to just one, usually
26         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
27         or more slashes, trim all but the final one.  But if a name consists
28         solely of two slashes, don't modify it.  If it consists solely of
29         three or more slashes, strip all but one.
30
31         This is part of the solution to a minor problem with rm:
32         it would print a bogus ELOOP diagnostic when failing to remove
33         the slash-decorated name of a symlink-to-directory:
34
35             $ mkdir d && ln -s d s && env rm -r s/
36             rm: cannot remove 's': Too many levels of symbolic links
37
38         With the change below and a trivial don't-trim-trailing-slashes
39         adjustment to remove.c, it does this:
40
41             $ env rm -r s/
42             rm: cannot remove 's/': Not a directory
43
44         Improved by: Eric Blake
45
46         fts: when there is no risk of overlap, use memcpy, not memmove
47         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
48
49 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
50
51         stdbool: be more compatible with mixed C/C++ compiles
52         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
53         Define to bool, true, false, respectively, as GCC's builtin
54         stdbool.h does.  Problem reported by Michael Goffioul in
55         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
56
57 2012-08-28  Jim Meyering  <meyering@redhat.com>
58
59         revert last change: it was not needed
60         * tests/test-vc-list-files-git.sh: There's already a test for
61         a working git, just below.
62
63 2012-08-28  Jim Meyering  <meyering@redhat.com>
64
65         tests: test-vc-list-files-git.sh: skip if git is not available
66         * tests/test-vc-list-files-git.sh: Skip this test when git is
67         not available.
68
69 2012-08-26  Bruno Haible  <bruno@clisp.org>
70
71         gnulib-tool: Remove no-op option --no-changelog.
72         * gnulib-tool (func_usage): Don't mention --no-changelog.
73         (do_changelog): Remove variable.
74         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
75
76 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77
78         doc: remove fdl-1.2.texi
79         It is no longer used or maintained, and its use of @acronym
80         is problematic.  See the thread containing
81         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
82         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
83         * doc/old-licenses/fdl-1.2.texi: Remove.
84
85         execinfo: port to FreeBSD
86         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
87         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
88         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
89         * modules/execinfo (Link): Add $(LIB_EXECINFO).
90
91 2012-08-23  Jim Meyering  <meyering@redhat.com>
92
93         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
94         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
95         to placate gcc's -Wold-style-declaration.
96
97 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
98
99         doc: do not use @acronym
100         * doc/inet_ntoa.texi (inet_ntoa):
101         * doc/parse-datetime.texi (Seconds since the Epoch)
102         (Specifying time zone rules):
103         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
104         Don't use @acronym.  Problem reported by John Darlington in
105         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
106
107 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
108
109         stdnoreturn: port to newer GCCs
110         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
111         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
112         Problem reported by Jim Meyering in
113         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
114         Also, rename the 'test' function to a void a clash with the
115         already-supplied 'main' function; this fixes a bug that incorrectly
116         rejected GCC 4.7.1's <stdnoreturn.h>.
117         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
118         Document GCC problem.
119
120 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
121
122         pipe-filter: fix comment typo
123         * lib/pipe-filter.h: Mention correct function.
124
125 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
126
127         execinfo: new module
128         This is for Emacs.  Currently, it provides a no-effect stub
129         on all platforms where it does not already work.
130         It already works on glibc-based systems, and on Solaris 11.
131         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
132         New files.
133         * doc/glibc-headers/execinfo.texi (execinfo.h):
134         * MODULES.html.sh (Misc): Document it.
135
136 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
137
138         extern-inline: support old GCC 'inline'
139         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
140         if available.  This applies to GCC versions 2.7 through 4.2, or
141         when newer GCC is using -fgnu89-inline.  The goal is to address
142         some of the performance issues mentioned by Bruno Haible in
143         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
144
145 2012-08-20  Eric Blake  <eblake@redhat.com>
146
147         maint.mk: avoid redundant file name in message
148         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
149         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
150         (sc_makefile_path_separator_check): Remove bogus $(ME).
151
152 2012-08-20  Mike Frysinger <vapier@gentoo.org>
153
154         timer-time: fix link order when static linking on glibc
155         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
156         _after_ -lrt so that it's significant.
157
158 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
159
160         timespec: omit unnecessary AC_C_INLINE
161         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
162
163         stat-time: omit unnecessary AC_C_INLINE
164         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
165         Do not require AC_C_INLINE.
166
167         ignore-value: omit unnecessary AC_C_INLINE
168         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
169
170         sys_select: avoid 'static inline'
171         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
172
173         mktime: avoid 'static inline'
174         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
175         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
176
177 2012-08-19  Bruno Haible  <bruno@clisp.org>
178
179         gnulib-tool: Improve coding style.
180         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
181         func_emit_lib_Makefile_am.
182         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
183
184 2012-08-19  Bruno Haible  <bruno@clisp.org>
185
186         gnulib-tool: Fix indentation.
187         * gnulib-tool (func_import): Fix indentation.
188
189 2012-08-19  Bruno Haible  <bruno@clisp.org>
190
191         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
192         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
193         on the list of removed files.
194
195 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
196
197         test-parse-datetime: avoid glibc leap-second glitch
198         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
199         with the 2012 rules.  Problem reported by Bruce Dubbs in
200         <http://bugs.gnu.org/12206>.
201
202 2012-08-14  Bruno Haible  <bruno@clisp.org>
203
204         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
205         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
206         from argument.
207         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
208
209 2012-08-14  Eric Blake  <eblake@redhat.com>
210
211         ldexp: relax license
212         * modules/ldexp (License): Trivial relax, since the module only
213         provides a permissively licensed m4 file.
214
215 2012-08-13  Bruno Haible  <bruno@clisp.org>
216
217         gnulib-tool: Fix persistence of --witness-c-macro option.
218         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
219         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
220
221 2012-08-11  Eric Blake  <eblake@redhat.com>
222
223         count-leading-zeros: use a lookup table on non-gcc compilers
224         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
225         alternate implementation, suggested by Jim Meyering.
226
227 2012-08-10  Eric Blake  <eblake@redhat.com>
228
229         count-leading-zeros: new module
230         * modules/count-leading-zeros: New module.
231         * m4/count-leading-zeros.m4: New file.
232         * lib/count-leading-zeros.h: Likewise.
233         * modules/count-leading-zeros-tests: New test.
234         * tests/test-count-leading-zeros.c: New file.
235         * MODULES.html.sh (Integer arithmetic functions): Document it.
236
237 2012-08-07  Simon Josefsson  <simon@josefsson.org>
238             Jim Meyering  <meyering@redhat.com>
239
240         maintainer-makefile: Fix syntax error with dash.
241         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
242         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
243
244 2012-08-05  Jim Meyering  <meyering@redhat.com>
245
246         extern-inline: also ignore -Wmissing-declarations
247         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
248         required with gcc-4.8.0-to-be.
249
250         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
251         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
252         for /error ?([^,]*)/.  This avoids false-positives for strings like
253         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
254
255 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
256
257         gnumakefile: better interaction with Automake-NG
258         * modules/gnumakefile [Makefile.am]: The makefiles generated by
259         Automake-NG always contain a definition of VPATH, even in non-VPATH
260         builds (its value being simply '.' in that case).  So, in the
261         'clean-GNUmakefile' rule, to determine whether running under a
262         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
263         '$(VPATH)' expands to the empty string.
264
265 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
266
267         base64: Use extern C scope in header file, for C++.
268         * lib/base64.h: Add C++ namespace protection.
269
270 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
271
272         stat-time, timespec, u64: support naive out-of-dir builds
273         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
274         Use '#include "foo.h"', not '#include <foo.h>', when including
275         one's own interface.  This works better when configuring with
276         out-of-directory builds, since packages need not add an
277         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
278
279 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
280
281         utimens: use extern-inline
282         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
283         * lib/utimens.h: Add copyright notice, since this is now large enough
284         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
285         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
286         * modules/utimens (Depends-on): Add extern-inline.
287
288         u64: use extern-inline
289         * lib/u64.c: New file.
290         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
291         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
292         * modules/u64 (Files): Add lib/u64.c.
293         (Depends-on): Add extern-inline.
294         (configure.ac): No need to require AC_C_INLINE, since extern-inline
295         does that now.
296         (lib_SOURCES): Add u64.c.
297
298         timespec: use extern-inline
299         * lib/timespec.c: New file.
300         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
301         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
302         * modules/timespec (Files): Add lib/timespec.c.
303         (Depends-on): Add extern-inline.
304         (lib_SOURCES): Add timespec.c.
305
306         stat-time: use extern-inline
307         * lib/stat-time.c: New file.
308         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
309         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
310         * modules/stat-time (Files): Add lib/stat-time.c.
311         (Depends-on): Add extern-inline.
312         (lib_SOURCES): Add stat-time.c.
313
314         extern-inline: new module
315         * modules/extern-inline, m4/extern-inline.m4: New files.
316         This is for better support of 'extern inline' a la ISO C99,
317         with a portable alternative on compilers that do not support
318         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
319         of the Emacs executable, when compiled with debugging disabled,
320         which is a typical way that Emacs is built while developing.
321
322 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
323
324         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
325         * build-aux/do-release-commit-and-tag: Move variable definitions
326         together.
327         ($branch): Instead of defaulting to "master", default to the current
328         branch (as gnu-web-doc-update does).
329         (help): Display the current values of the option arguments.
330         * top/maint.mk (release-commit): New.
331         * top/README-release: Simplify the corresponding step.
332
333 2012-07-30  Eric Blake  <eblake@redhat.com>
334
335         passfd: fix comment on recvfd
336         * lib/passfd.c (recvfd): Fix comment.
337         Reported by Jann Horn <jannhorn@googlemail.com>.
338
339 2012-07-30  Jim Meyering  <meyering@redhat.com>
340
341         maint.mk: avoid a sub-shell
342         * top/maint.mk (release-prep): Remove unneeded sub-shell.
343
344 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
345
346         maint.mk: use silent-rules support from Automake
347         * top/maint.mk (news-check, vc-diff-check, announcement)
348         (no-submodule-changes, alpha beta stable, release-prep)
349         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
350
351 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
352
353         maint.mk: provide a web-manual-update target
354         * top/maint.mk: here.
355         * top/README-release: Use it to simplify the web manual update step.
356
357 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
358
359         README-release: shorten the circuit to post a news
360         * top/README-release: Point directly to the news submission form.
361
362 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
363
364         gnu-web-doc-update: fix --help
365         * build-aux/gnu-web-doc-update: The information "top level" was written
366         twice.
367
368 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
369
370         maint.mk: absolute VPATH issue
371         * top/maint.mk (release-prep): Help Git find .git/.
372         From Jim Meyering.
373
374 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
375
376         gitlog-to-changelog: fix previous change
377         * build-aux/gitlog-to-changelog: Fix condition.
378         Add missing ";".
379
380 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
381
382         gitlog-to-changelog: don't expect .git to be in $srcdir
383         Reported by Bruno Haible.
384         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
385         * build-aux/gitlog-to-changelog (&git_dir_option): New.
386         Use it.
387
388 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
389
390         maint.mk: absolute VPATH build fix
391         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
392         $(srcdir) is not a parent of $(builddir).
393
394 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
395
396         clean-temp: Fix memory leak.
397         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
398         'files' members of tmpdir.
399
400 2012-07-27  Jim Meyering  <meyering@redhat.com>
401
402         maint.mk: new rule: refresh-gnulib-patches
403         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
404         Use this rule to refresh them.
405         * top/maint.mk (refresh-gnulib-patches): New rule.
406
407 2012-07-24  Bruno Haible  <bruno@clisp.org>
408
409         gnulib-tool: Fix handling of inctests variable.
410         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
411         Reported by Nick Bowler <nbowler@elliptictech.com>.
412
413 2012-07-22  Bruno Haible  <bruno@clisp.org>
414
415         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
416         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
417         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
418         Remove exemption for getpass.h.
419         Suggested by Eric Blake.
420
421 2012-07-20  Eric Blake  <eblake@redhat.com>
422
423         verify: document conflict with -Wnested-externs
424         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
425
426         maint.mk: forbid exit(-1)
427         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
428
429 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
430
431         fsusage: port back to Solaris
432         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
433         error (fsd not declared) on Solaris 10.  Reported privately by
434         Andrew Borodin.
435
436 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
437
438         gnu-web-doc-update: fix error messages
439         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
440
441         gnu-web-doc-update: check the requirements.
442         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
443         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
444         * build-aux/bootstrap (find_tool): Comment change.
445
446 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
447
448         maint.mk: minor simplication.
449         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
450         for default values.
451
452 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
453
454         gitlog-to-changelog: VPATH build issues
455         If builddir is not a subdirectory of srcdir, running git from it will
456         fail.
457         * build-aux/gitlog-to-changelog (--srcdir): New option.
458
459 2012-07-15  Bruno Haible  <bruno@clisp.org>
460
461         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
462         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
463         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
464         Remove exemption for fpending.h.
465         Suggested by Eric Blake.
466
467 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
468
469         pthread_sigmask: fix bug on FreeBSD 9
470         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
471         Include string.h.
472         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
473         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
474         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
475         but pthread_sigmask (1729, NULL, NULL) returns zero.
476         See <http://bugs.gnu.org/11884>.
477         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
478         by inspecting whether the main call changed the old mask.
479
480 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
481
482         README-release: make it more legible
483         * top/README-release: Improve typography slightly.
484
485 2012-07-15  Jim Meyering  <meyering@redhat.com>
486
487         maint: require that each sc_... command start with "@"
488         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
489         "make sc_maint" helps us avoid this nit.
490
491 2012-07-15  Jim Meyering  <meyering@redhat.com>
492
493         maint.mk: add leading "@" to quiet new "make syntax-check" rule
494         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
495
496 2012-07-13  Eric Blake  <eblake@redhat.com>
497
498         maint.mk: new syntax check for HAVE_DECL checks
499         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
500         * cfg.mk
501         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
502         Exempt some false positives.
503         Based on a report by Karel Zak.
504
505         argp: make HAVE_DECL usage consistent
506         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
507         macros, not whether they are defined.
508         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
509         convention with other declaration checks.
510         Reported by Karel Zak, with suggestions from Paul Eggert.
511
512         stat-time: relax license to LGPLv2+
513         * modules/stat-time (License): Relax, with consent of all authors.
514
515         strndup: fix m4 usage error
516         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
517         defined, to either 0 or 1.
518         Reported by Karel Zak.
519
520 2012-07-11  Jim Meyering  <meyering@redhat.com>
521
522         maint: enable the sc_avoid_if_before_free syntax-check rule
523         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
524         (if_before_free_offenders_): Define.
525         (if_before_free_basename_re_): Define.
526         Exempt current files with useless if-before-free.
527
528 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
529
530         gettext: do not assume '#define ... defined ...' behavior
531         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
532         Do not use '#define FOO ... defined BAR ...', as the C standard says
533         it's not portable to expect that this works after macro expansion.
534         Problem reported for gzip by Steven M. Schweda in
535         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
536
537 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
538
539         getloadavg: clean out old Emacs and Autoconf cruft
540         See Glenn Morris in <http://bugs.gnu.org/11905>.
541         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
542         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
543         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
544         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
545
546 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
547
548         bootstrap: let warn be like tests/init.sh's warn_
549         Reported by Jim Meyering.
550         * build-aux/bootstrap (warn): Remove, replaced by...
551         (warnf_, warn_): these.
552         Adjust callers.
553         Shorten messages that no longer fit in 80 columns.
554
555 2012-07-09  Bruno Haible  <bruno@clisp.org>
556
557         getopt: Simplify after Emacs changed.
558         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
559         (gl_GETOPT_IFELSE): Remove macro.
560
561 2012-07-09  Jim Meyering  <meyering@redhat.com>
562
563         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
564         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
565
566         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
567         Bugs in both of those conspired to make the
568         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
569         _sc_search_regexp's handling of non-empty $in_files would filter
570         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
571         choice of in_files value meant there would be no match in most
572         projects, due to the presence of two or more Makefile.in files.
573         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
574         Fix a bug in how a non-empty $$in_files was processed:
575         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
576         in spite of the name, it's a regexp, not a list of file names.
577
578 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
579
580         getloadavg, getopt: fix commentary re configure.in
581         Autoconf is deprecating the name 'configure.in', so change it to
582         to the new name 'configure.ac' in a couple of places.
583         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
584         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
585         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
586         Emacs has renamed it to configure.ac, and it no longer refers
587         to these macros anyway.
588
589         timespec: mark functions with const attributes
590         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
591         Mark with _GL_ATTRIBUTE_CONST.
592
593 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
594
595         canonicalize[-lgpl]: handle "guessing" values when cross-building
596         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
597         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
598         matches "*yes" instead of just "yes".  Regression introduced in commit
599         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
600
601 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
602             Bruno Haible  <bruno@clisp.org>
603
604         canonicalize: make the right guess when cross-compiling to GNU
605         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
606         determine whether cross-compiling to glibc systems, so as to
607         include GNU/Hurd.
608
609 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
610
611         timespec-sub: avoid duplicate include
612         * lib/timespec-sub.c: Do not include <config.h> twice.
613         Reported by Juanma Barranquero.
614
615 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
616
617         bootstrap: use a more consistent error reporting scheme
618         * build-aux/bootstrap (warn, die): New.
619         Use them.
620
621 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
622
623         sys_time: allow too-wide tv_sec
624         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
625         timeval even if tv_sec is wider than time_t.  This allows
626         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
627         as without this patch gnulib replaces struct timeval
628         and OpenBSD futimes therefore has a type mismatch.
629         * doc/posix-headers/sys_time.texi: Mention this.
630
631         pthread: check for both pthread_create and pthread_join
632         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
633         alter the check so that it tests for both pthread_create and
634         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
635         Suggested by Bruno Haible and Richard Yao in
636         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
637
638         parse-datetime: doc tuneup
639         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
640         spacing issues.
641
642 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
643
644         do-release-commit-and-tag: fix the previous commit
645         * build-aux/do-release-commit-and-tag: Actually the test was right,
646         but the comment and the error message were misleading.
647         Fix comment, and improve error message.
648         Perform check first, so that NEWS is not modified uselessly.
649
650         do-release-commit-and-tag: fix typo
651         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
652         _not_ start with a stub.
653
654 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
655
656         pthread: check for pthread_create, not pthread_join
657         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
658         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
659         pthread_join in libc.  I hope this removes the need for all the
660         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
661         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
662
663 2012-07-04  Jim Meyering  <meyering@redhat.com>
664
665         parse-datetime: fix failure to diagnose invalid input
666         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
667         rather than diagnosing the invalid input.  Now it reports this:
668         date: invalid date '\260'
669         * lib/parse-datetime.y (to_uchar): Define.
670         (yylex): Don't sign-extend "other" bytes.
671         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
672         Thanks to Bruno Haible for the patch to this file.
673         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
674         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
675
676 2012-07-03  Jim Meyering  <meyering@redhat.com>
677
678         bootstrap: do not require now-removed build-aux/missing
679         Now that build-aux/missing is, er, missing, bootstrap would
680         silently fail.
681         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
682         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
683         no longer part of gnulib.
684         Diagnose the failure.
685
686 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
687
688         alloca: add support for HP NonStop TNS/E native
689         * lib/alloca.in.h (alloca): Support the new host.
690         From a suggestion by Joachim Schmitz in
691         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
692
693 2012-07-02  Pádraig Brady  <P@draigBrady.com>
694
695         fsusage: remove code not needed on non GNU/Linux systems.
696
697         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
698         Don't include headers no longer needed in this case.
699         * lib/fsusage.c [STAT_STATVFS &&
700         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
701         STAT_STATFS2_FRSIZE to exclude code not used in this case.
702
703 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
704
705         fsusage: include files needed for glibc 2.6 fallback
706         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
707         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
708         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
709         Problem reported by Ludovic Courtès in
710         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
711
712         fsusage: avoid needless check on GNU/Linux
713         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
714         on GNU/Linux systems, since it can't possibly work.
715
716 2012-07-01  Bruno Haible  <bruno@clisp.org>
717
718         log: Fix an autoconf >= 2.64 warning.
719         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
720         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
721
722 2012-06-28  Bruno Haible  <bruno@clisp.org>
723
724         log10f: Fix possible configuration problem.
725         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
726         $LOGF_LIBM.
727         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
728
729 2012-06-28  Bruno Haible  <bruno@clisp.org>
730
731         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
732         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
733         not gl_cv_func_unlink_works.
734         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
735
736 2012-06-27  Eric Blake  <eblake@redhat.com>
737
738         config: drop scripts that automake says are not independent
739         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
740         * build-aux/elisp-comp: Delete.
741         * build-aux/missing: Likewise.
742         * build-aux/ylwrap: Likewise.
743         * modules/elisp-comp: Likewise.
744         * MODULES.html.sh: Drop mention of elisp-comp.
745         * NEWS: Mention this.
746
747 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
748
749         root-uid: new module
750         This is for portability to Tandem's NonStop Kernel.
751         * lib/root-uid.h, modules/root-uid: New files.
752         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
753         * lib/write-any-file.c, tests/test-sethostname2.c:
754         Include "root-uid.h".
755         * lib/euidaccess.c (euidaccess):
756         * lib/pt_chown.c (main):
757         * lib/unlinkdir.c (cannot_unlink_dir):
758         * lib/write-any-file.c (can_write_any_file):
759         * m4/mknod.m4 (gl_FUNC_MKNOD):
760         * tests/test-sethostname2.c (geteuid, main):
761         Don't assume ROOT_UID == 0.
762         * modules/euidaccess (Depends-on):
763         * modules/pt_chown (Depends-on):
764         * modules/sethostname-tests (Depends-on):
765         * modules/unlinkdir (Depends-on):
766         * modules/write-any-file (Depends-on):
767         Add root-uid.
768
769         regex: use locale-independent comparison for codeset name
770         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
771         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
772         for codeset name.
773         * lib/regex_internal.h: Do not include <strings.h>, since we
774         no longer use strcasecmp.
775         * modules/regex (Depends-on): Remove strcase.
776
777 2012-06-23  Bruno Haible  <bruno@clisp.org>
778
779         getopt-posix: No longer guarantee that option processing is resettable.
780         * doc/posix-functions/getopt.texi: Drop description of problem with
781         internal state. Fix info about mingw and msvc9.
782         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
783         option processing by getopt(). Run three test programs instead of one.
784         Simplify cross-compilation guess.
785         * NEWS: Mention the change.
786         Reported by Rich Felker <dalias@aerifal.cx>.
787
788 2012-06-26  Bruno Haible  <bruno@clisp.org>
789
790         argp, regex: Ensure strcasecmp gets declared.
791         * lib/argp-help.c: Include <strings.h>.
792         * lib/regex_internal.h: Likewise.
793         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
794
795 2012-06-24  Bruno Haible  <bruno@clisp.org>
796
797         ptsname_r: Make it consistent with ptsname on AIX.
798         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
799         implementation as for OSF/1.
800         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
801         a pty master.
802
803         ptsname_r: Make it consistent with ptsname on OSF/1.
804         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
805         OSF/1.
806
807 2012-06-24  Bruno Haible  <bruno@clisp.org>
808
809         ttyname_r: Fix result on OSF/1, Solaris.
810         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
811
812 2012-06-24  Bruno Haible  <bruno@clisp.org>
813
814         ptsname_r: Add support for Solaris.
815         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
816         Solaris.
817
818         ptsname_r: Fix test failure on native Windows.
819         * modules/ptsname_r (Depends-on): Add isatty.
820
821         ptsname_r: Fix test failures on IRIX, Solaris.
822         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
823         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
824         accordingly.
825         * lib/ptsname_r.c: Include <fcntl.h>.
826         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
827         set errno if fd is invalid.
828         * tests/test-isatty.c (main): Update comments.
829
830 2012-06-24  Bruno Haible  <bruno@clisp.org>
831
832         ptsname test: Extend test.
833         * tests/test-ptsname.c: Include <errno.h>.
834         (main): Test behaviour with invalid file descriptor.
835
836 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
837
838         time: fix obsolete comment
839         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
840         reference to HAVE_STRUCT_TIMESPEC in comment.
841
842 2012-06-23  Bruno Haible  <bruno@clisp.org>
843
844         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
845         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
846         does not handle abbreviated long options with equivalent
847         disambiguations, set gl_replace_getopt to yes.
848         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
849
850 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
851
852         time_r: fix typo that always overrode localtime_r decl
853         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
854         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
855         not in a standard include.
856
857 2012-06-22  Bruno Haible  <bruno@clisp.org>
858
859         Write "Mac OS X" instead of "MacOS X".
860         * README: Write "Mac OS X" instead of "MacOS X".
861         * build-aux/bootstrap: Likewise.
862         * build-aux/install-reloc: Likewise.
863         * lib/acl-internal.h: Likewise.
864         * lib/acl_entries.c: Likewise.
865         * lib/argp-ba.c: Likewise.
866         * lib/argp-pv.c: Likewise.
867         * lib/config.charset: Likewise.
868         * lib/copy-acl.c: Likewise.
869         * lib/csharpexec.c: Likewise.
870         * lib/euidaccess.c: Likewise.
871         * lib/fbufmode.c: Likewise.
872         * lib/fflush.c: Likewise.
873         * lib/file-has-acl.c: Likewise.
874         * lib/filemode.h: Likewise.
875         * lib/fpurge.c: Likewise.
876         * lib/freadable.c: Likewise.
877         * lib/freadahead.c: Likewise.
878         * lib/freading.c: Likewise.
879         * lib/freadptr.c: Likewise.
880         * lib/freadseek.c: Likewise.
881         * lib/fseeko.c: Likewise.
882         * lib/fseterr.c: Likewise.
883         * lib/fsusage.c: Likewise.
884         * lib/fwritable.c: Likewise.
885         * lib/fwriting.c: Likewise.
886         * lib/get-rusage-as.c: Likewise.
887         * lib/get-rusage-data.c: Likewise.
888         * lib/getdomainname.c: Likewise.
889         * lib/idpriv-drop.c: Likewise.
890         * lib/idpriv-droptemp.c: Likewise.
891         * lib/localcharset.c: Likewise.
892         * lib/locale.in.h: Likewise.
893         * lib/localename.c: Likewise.
894         * lib/mbsrtowcs-state.c: Likewise.
895         * lib/nproc.c: Likewise.
896         * lib/passfd.c: Likewise.
897         * lib/posix_openpt.c: Likewise.
898         * lib/printf-parse.c: Likewise.
899         * lib/progreloc.c: Likewise.
900         * lib/safe-read.h: Likewise.
901         * lib/safe-write.h: Likewise.
902         * lib/sched.in.h: Likewise.
903         * lib/set-mode-acl.c: Likewise.
904         * lib/signal.in.h: Likewise.
905         * lib/stdint.in.h: Likewise.
906         * lib/stdio-impl.h: Likewise.
907         * lib/stdlib.in.h: Likewise.
908         * lib/strtod.c: Likewise.
909         * lib/sys_select.in.h: Likewise.
910         * lib/tcgetsid.c: Likewise.
911         * lib/unistd.in.h: Likewise.
912         * lib/unlockpt.c: Likewise.
913         * lib/vasnprintf.c: Likewise.
914         * lib/vma-iter.c: Likewise.
915         * lib/wcsrtombs-state.c: Likewise.
916         * m4/acl.m4: Likewise.
917         * m4/acosl.m4: Likewise.
918         * m4/asinl.m4: Likewise.
919         * m4/atanl.m4: Likewise.
920         * m4/c-stack.m4: Likewise.
921         * m4/cosl.m4: Likewise.
922         * m4/expl.m4: Likewise.
923         * m4/extensions.m4: Likewise.
924         * m4/fdatasync.m4: Likewise.
925         * m4/fmal.m4: Likewise.
926         * m4/frexp.m4: Likewise.
927         * m4/frexpf.m4: Likewise.
928         * m4/frexpl.m4: Likewise.
929         * m4/fsusage.m4: Likewise.
930         * m4/getdomainname.m4: Likewise.
931         * m4/getloadavg.m4: Likewise.
932         * m4/getopt.m4: Likewise.
933         * m4/gettext.m4: Likewise.
934         * m4/gnulib-common.m4: Likewise.
935         * m4/intdiv0.m4: Likewise.
936         * m4/intlmacosx.m4: Likewise.
937         * m4/largefile.m4: Likewise.
938         * m4/ldexpl.m4: Likewise.
939         * m4/link-follow.m4: Likewise.
940         * m4/locale-ar.m4: Likewise.
941         * m4/locale-fr.m4: Likewise.
942         * m4/locale-ja.m4: Likewise.
943         * m4/locale-tr.m4: Likewise.
944         * m4/locale-zh.m4: Likewise.
945         * m4/locale_h.m4: Likewise.
946         * m4/lock.m4: Likewise.
947         * m4/logl.m4: Likewise.
948         * m4/mathfunc.m4: Likewise.
949         * m4/minus-zero.m4: Likewise.
950         * m4/mktime.m4: Likewise.
951         * m4/mmap-anon.m4: Likewise.
952         * m4/multiarch.m4: Likewise.
953         * m4/nanosleep.m4: Likewise.
954         * m4/nocrash.m4: Likewise.
955         * m4/poll.m4: Likewise.
956         * m4/printf-frexpl.m4: Likewise.
957         * m4/printf.m4: Likewise.
958         * m4/signbit.m4: Likewise.
959         * m4/sinl.m4: Likewise.
960         * m4/sqrtl.m4: Likewise.
961         * m4/strerror_r.m4: Likewise.
962         * m4/tanl.m4: Likewise.
963         * m4/threadlib.m4: Likewise.
964         * m4/ttyname_r.m4: Likewise.
965         * m4/unlink.m4: Likewise.
966         * m4/visibility.m4: Likewise.
967         * m4/wcwidth.m4: Likewise.
968         * tests/minus-zero.h: Likewise.
969         * tests/test-alloca-opt.c: Likewise.
970         * tests/test-copy-acl.sh: Likewise.
971         * tests/test-copy-file.sh: Likewise.
972         * tests/test-fdatasync.c: Likewise.
973         * tests/test-file-has-acl.sh: Likewise.
974         * tests/test-flock.c: Likewise.
975         * tests/test-fsync.c: Likewise.
976         * tests/test-localename.c: Likewise.
977         * tests/test-malloca.c: Likewise.
978         * tests/test-nonblocking-pipe.h: Likewise.
979         * tests/test-nonblocking-socket.h: Likewise.
980         * tests/test-openpty.c: Likewise.
981         * tests/test-posix_openpt.c: Likewise.
982         * tests/test-ptsname.c: Likewise.
983         * tests/test-ptsname_r.c: Likewise.
984         * tests/test-sameacls.c: Likewise.
985         * tests/test-select.h: Likewise.
986         * tests/test-set-mode-acl.sh: Likewise.
987         * tests/test-snprintf-posix.h: Likewise.
988         * tests/test-sprintf-posix.h: Likewise.
989         * tests/test-strtod.c: Likewise.
990         * tests/test-time.c: Likewise.
991         * tests/test-vasnprintf-posix.c: Likewise.
992         * tests/test-vasprintf-posix.c: Likewise.
993         * doc/acl-resources.txt: Likewise.
994         * doc/**/*.texi: Likewise.
995         Reported by Max Horn <max@quendi.de>.
996
997 2012-06-22  Bruno Haible  <bruno@clisp.org>
998
999         grantpt: Relax requirement regarding invalid file descriptors.
1000         * lib/grantpt.c: Don't include <fcntl.h>.
1001         (grantpt): Don't verify the validity of the file descriptor.
1002         * modules/grantpt (Depends-on): Remove fcntl-h.
1003         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
1004         file descriptors.
1005         * doc/posix-functions/grantpt.texi: Document more platforms on which
1006         grantpt succeeds for invalid file descriptors.
1007         Reported by Rich Felker <dalias@aerifal.cx>.
1008
1009 2012-06-22  Bruno Haible  <bruno@clisp.org>
1010
1011         fbufmode test: Don't test unportable behaviour.
1012         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
1013         (main): Invoke it three times.
1014         Reported by Szabolcs Nagy <nsz@port70.net>
1015         and Rich Felker <dalias@aerifal.cx>.
1016
1017 2012-06-21  Bruno Haible  <bruno@clisp.org>
1018
1019         gnulib-tool: Refactor inctests variable.
1020         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
1021         (func_modules_transitive_closure,
1022         func_modules_transitive_closure_separately,
1023         func_import, func_create_testdir): Update.
1024
1025         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
1026         * gnulib-tool: Accept option --without-tests.
1027         (func_usage): Document --without-tests option. Rearrange.
1028         (inctests): Normalize according to the mode.
1029         * NEWS: Mention the change.
1030         Suggested by Simon Josefsson.
1031
1032 2012-06-21  Bruce Korb  <bkorb@gnu.org>
1033
1034         parse-duration test: Avoid spurious output.
1035         * tests/test-parse-duration.sh: Reindent with leading tabs.
1036
1037 2012-06-21  Jim Meyering  <meyering@redhat.com>
1038
1039         maint: disable the strncpy prohibition
1040         * cfg.mk: Do not prohibit strncpy here.
1041
1042 2012-06-21  Bruno Haible  <bruno@clisp.org>
1043
1044         nonblocking: Avoid compilation error on mingw64.
1045         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
1046         fscanf.
1047         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
1048         * modules/vfscanf (configure.ac): Likewise.
1049         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
1050         definition only if stdio.h has prepared it.
1051         Reported by Daniel P. Berrange <berrange@redhat.com>.
1052
1053 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
1054
1055         gnulib-tool: Use readlink if it is available.
1056         * gnulib-tool (func_readlink): Choose function more appropriately.
1057
1058 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1059
1060         posixtm-tests: port to buggy compiler
1061         Problem reported by Simon Josefsson in
1062         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
1063         * modules/posixtm-tests (Depends-on): Add stdint.
1064         * tests/test-posixtm.c (struct posixtm_test.t_expected):
1065         Now of type int_least64_t, not int64_t, both because that's
1066         what INT64_C returns and because int_least64_t works even
1067         on 72-bit hosts.
1068         (T): Use INT64_C on constants outside the traditional int range,
1069         to work around compiler bug noted by Simon.
1070
1071         mktime: fix integer overflow in 'configure'-time test
1072         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
1073         after integer overflow.  Problem reported by Rich Felker in
1074         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
1075         Also, don't look for further instances of a bug if we've already
1076         found one instance; this helps 'configure' run faster.
1077
1078 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
1079
1080         tmpfile, clean-temp: Fix invocation of GetVersionEx.
1081         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
1082         GetVersionEx correctly.
1083         * lib/clean-temp.c (supports_delete_on_close): Likewise.
1084
1085 2012-06-20  Bruno Haible  <bruno@clisp.org>
1086
1087         fdopen: Allow implementations that don't reject invalid fd arguments.
1088         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
1089         succeeds.
1090         Reported by Rich Felker <dalias@aerifal.cx>.
1091
1092 2012-06-20  Simon Josefsson  <simon@josefsson.org>
1093
1094         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
1095         bring in LIBINTL.
1096
1097 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1098
1099         init.sh: do not rely on autoupated PWD
1100         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
1101         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
1102         Although Nelson's bug was not necessarily fixed by this patch,
1103         it seems wise to make the change for safety.
1104         * tests/init.sh (path_prepend_): Do not rely on PWD updating
1105         automagically after 'cd'; this is not reliable on older shells.
1106         (setup_): Fail if we cannot cd to temporary directory.
1107
1108 2012-06-19  Bruno Haible  <bruno@clisp.org>
1109
1110         stat, fstat: Avoid warnings on mingw64.
1111         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
1112         redefining.
1113         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
1114         Reported by Daniel P. Berrange <berrange@redhat.com>.
1115
1116 2012-06-19  Bruno Haible  <bruno@clisp.org>
1117
1118         stdioext: Add support for musl libc.
1119
1120         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
1121         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
1122
1123         * m4/fseterr.m4: New file.
1124         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
1125         function exists.
1126         * modules/fseterr (Files): Add m4/fseterr.m4.
1127         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
1128         __fseterr does not exist.
1129         (Makefile.am): Remove fseterr.c from lib_SOURCES.
1130
1131         * lib/freadable.h: Update comment.
1132
1133         * lib/fwritable.h: Update comment.
1134
1135         * lib/freading.h: Update comment.
1136
1137         * lib/fwriting.h: Update comment.
1138
1139         * m4/freadahead.m4: New file.
1140         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
1141         that function exists.
1142         * modules/freadahead (Files): Add m4/freadahead.m4.
1143         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
1144         __freadahead does not exist.
1145         (Makefile.am): Remove freadahead.c from lib_SOURCES.
1146
1147         * m4/freadptr.m4: New file.
1148         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
1149         function exists.
1150         * modules/freadptr (Files): Add m4/freadptr.m4.
1151         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
1152         __freadptr does not exist.
1153         (Makefile.am): Remove freadptr.c from lib_SOURCES.
1154
1155         * m4/freadseek.m4: New file.
1156         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
1157         exists.
1158         * modules/freadseek (Files): Add m4/freadseek.m4.
1159         (configure.ac): Invoke gl_FUNC_FREADSEEK.
1160
1161         * lib/fpurge.c (fpurge): Update comment.
1162
1163         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
1164
1165 2012-06-19  Bruno Haible  <bruno@clisp.org>
1166
1167         *printf-posix: Put more info into config.log.
1168         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
1169         exit code into config.log.
1170
1171 2012-06-19  Bruno Haible  <bruno@clisp.org>
1172
1173         getopt-gnu: Fix exit code overflow in autoconf test.
1174         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
1175         to keep them below < 128.
1176
1177 2012-06-17  Jim Meyering  <meyering@redhat.com>
1178
1179         maint.mk: fix typo in code to derive GPG key at release time
1180         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
1181
1182 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
1183
1184         regex: avoid warning when pointers are not long
1185         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
1186         and uintptr_t, not long, for portability to hosts where pointers and
1187         long have different sizes.  Issue noted by Daniel P. Berrange in
1188         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
1189         and fix suggested by Bruno Haible in
1190         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
1191
1192 2012-06-17  Bruno Haible  <bruno@clisp.org>
1193
1194         dummy: Relicense into the public domain.
1195         * modules/dummy (License): Set to "public domain".
1196         Suggested by Reuben Thomas.
1197
1198 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1199
1200         announce-gen: VPATH issues
1201         * build-aux/announce-gen (--srcdir): New option, used to trim the
1202         $srcdir part of the path from $builddir to NEWS.
1203         * top/maint.mk (announcement): Adjust.
1204
1205 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
1206
1207         gnu-web-doc-update: VPATH builds
1208         * build-aux/gnu-web-doc-update (--builddir): New option.
1209         Revamp the handling of options.
1210         Prefer $(...) to `...`.
1211         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
1212         the template, and it is GNU mktemp specific.
1213         Prefer set -e to long series of &&.
1214         Restore the initial git branch, not "master".
1215         Properly initialize submodules (don't rely only on bootstrap).
1216         Do not reconfigure blindly, use config.status.
1217         * top/README-release: Update instructions for gnu-web-doc-update.
1218
1219 2012-06-11  Jim Meyering  <meyering@redhat.com>
1220
1221         maint.mk: revert most of the previous change re "all these"
1222         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
1223         For rationale, see the discussion at
1224         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
1225
1226 2012-06-10  Karl Berry  <karl@gnu.org>
1227
1228         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
1229
1230         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
1231
1232 2012-06-10  Bruce Korb  <bkorb@gnu.org>
1233
1234         parse-duration: Relicense under LGPLv2+.
1235         * modules/parse-duration (License): Change to LGPLv2+.
1236
1237 2012-06-10  Jim Meyering  <meyering@redhat.com>
1238
1239         maint.mk: prohibit common grammar error: "all these"
1240         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
1241         the list of prohibited word sequences.  It should be "all of these".
1242         * lib/tempname.c (__gen_tempname): Fix one of them.
1243
1244 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1245
1246         do-release-commit-and-tag: support VPATH builds
1247         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
1248         (noteworthy): Defined earlier to factor its value.
1249         (noteworthy_stub): New.
1250         Use it to factor.
1251         (help_version): Split into...
1252         (help, version): these.
1253         Adjust the option processing part.
1254         Support "--option=value" in addition to "--option value".
1255         (builddir): New.
1256         (--builddir): New option.
1257         * top/README-release: Document this.
1258         Reword slightly so that the reader cannot understand that he
1259         has to do these steps before calling do-release-commit-and-tag.
1260
1261 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1262
1263         readme-release: also require announce-gen and maintainer-makefile
1264         * modules/readme-release (Depends-on): here.
1265         * modules/announce-gen, modules/do-release-commit-and-tag,
1266         modules/gnu-web-doc-update, modules/maintainer-makefile
1267         (Description): Point to readme-release.
1268
1269 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
1270
1271         maint.mk: fix VPATH issues.
1272         * top/maint.mk (news-check): GNU Make understand $< very well.
1273         (release-prep): NEWS is in $(srcdir).
1274
1275 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
1276
1277         readme-release: require the promoted modules.
1278         * modules/readme-release (Depends-on): Add
1279         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
1280         in this text.
1281
1282 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1283             Bruno Haible  <bruno@clisp.org>
1284
1285         error, strerror-override: Support mingw64 from Fedora 17.
1286         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
1287         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
1288         EINPROGRESS.
1289         * lib/strerror-override.h (strerror_override): Test it.
1290         * lib/strerror-override.c (strerror_override): Likewise.
1291         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
1292
1293 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1294             Bruno Haible  <bruno@clisp.org>
1295
1296         error, strerror-override: Support mingw64 from Fedora 17.
1297         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
1298         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
1299         * lib/strerror-override.h (strerror_override): Test it.
1300         * lib/strerror-override.c (strerror_override): Likewise.
1301
1302 2012-06-03  Bruno Haible  <bruno@clisp.org>
1303
1304         error, strerror-override: Support new errno values from POSIX:2008.
1305         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
1306         ENOTRECOVERABLE.
1307         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
1308         platforms.
1309         * lib/strerror-override.c (strerror_override): Conditionalize the
1310         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
1311         * lib/strerror-override.h (strerror_override): Declare also if
1312         GNULIB_defined_EOWNERDEAD is defined.
1313         * tests/test-errno.c (e130, e131): New variables.
1314         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
1315         ENOTRECOVERABLE.
1316         Reported by Paolo Bonzini.
1317
1318 2012-05-31  Jim Meyering  <meyering@redhat.com>
1319
1320         savewd: add missing dependency on sys_wait module
1321         * modules/savewd (Depends-on): Add sys_wait, needed at least
1322         for MSVC.  Report and suggested change by Michael Goffioul.
1323
1324 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
1325
1326         system-quote-tests: port to CentOS 5
1327         Problem reported by Tom G. Christensen in
1328         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
1329         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
1330
1331 2012-05-29  Jim Meyering  <meyering@redhat.com>
1332
1333         maint: fix typos in comments and ChangeLog
1334         Culprits identified and fixed mostly automatically using these commands:
1335         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
1336         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
1337         using http://github.com/lyda/misspell-check
1338         * ChangeLog: Fix typos.
1339         * doc/solaris-versions: Likewise.
1340         * lib/regexec.c (re_search_stub): Likewise.
1341         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
1342
1343 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
1344
1345         manywarnings: remove duplicate -Wmultichar entry
1346         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
1347         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
1348         so keep the entry marked as documented.
1349
1350 2012-05-27  Karl Berry  <karl@gnu.org>
1351
1352         * config/srclist.txt (mktime.c): remove last libc sync,
1353         perhaps just temporarily.
1354
1355 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
1356
1357         regex: don't assume uint64_t or uint32_t
1358         * lib/regcomp.c (init_word_char): Don't assume that the types
1359         uint64_t and uint32_t exist.  The C standard doesn't guarantee
1360         them, and on some 32-bit compilers there is no uint64_t.
1361         Problem reported by Gianluigi Tiesi in
1362         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
1363
1364 2012-05-25  Jim Meyering  <meyering@redhat.com>
1365
1366         maint.mk: add strncpy-prohibiting syntax-check rule
1367         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
1368
1369 2012-05-24  Jim Meyering  <meyering@redhat.com>
1370
1371         maint.mk: compute $(gpg_key_ID) more portably
1372         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
1373         That use of sed is not portable to some fringe systems.
1374         Reported by Paul Eggert in
1375         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
1376
1377 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
1378
1379         mktime: sync from glibc
1380         * config/srclist.txt: Uncomment mktime.c.
1381         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
1382         First, indent with tabs, since glibc uses tabs and doesn't want to
1383         change and we'd rather be identical to glibc.  Also, two small
1384         coding changes:
1385         (isdst_differ): Use &&, not &, as && is the usual style.
1386         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
1387         for clarity.
1388
1389 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1390
1391         announce-gen: du -h is more portable than du --human
1392         * build-aux/announce-gen (sizes): Invoke du with -h instead
1393         of --human.  Accept leading white space in its output.
1394
1395 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1396
1397         announce-gen: Improve diagnostics.
1398         * build-aux/announce-gen: When parsing command line options,
1399         prefer "announce-gen: option --release-type requires an argument"
1400         to "Option release-type requires an argument".
1401
1402 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
1403
1404         maint.mk: gpg_key_ID: use sed more portably
1405         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
1406         the closing brace.
1407         (refresh-po): Fuse two sed invocations into one.
1408
1409 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
1410
1411         gitlog-to-changelog: support the log message format used in Bison.
1412         * build-aux/gitlog-to-changelog: Support --strip-tab and
1413         --strip-cherry-picked.
1414
1415 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
1416
1417         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
1418         the rest of the current time slice to another thread in the current
1419         process. So if the thread that feeds the file decscriptor we're
1420         polling is not in the current process, we get busy-waiting.
1421         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
1422         Patch from Theodore Leblond.
1423         * lib/select.c: Split polling out of the loop that sets the output
1424         fd_sets.  Check for zero result and loop if the wait timeout is
1425         infinite.
1426
1427 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1428
1429         select: Fix build error on IRIX 6.5.
1430         * lib/select.c: Include stddef.h for NULL.
1431
1432 2012-05-21  Simon Josefsson  <simon@josefsson.org>
1433
1434         gc: fix libgcrypt detection on older machines.
1435         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
1436         copyright years because the file has been distributed every year
1437         since it was created.
1438
1439 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
1440
1441         crypto: fix bug in large buffer handling
1442         Problem reported by Serge Belyshev for glibc in
1443         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
1444         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
1445         * lib/md4.c (md4_process_block):
1446         * lib/md5.c (md5_process_block):
1447         * lib/sha1.c (sha1_process_block):
1448         * lib/sha256.c (sha256_process_block):
1449         Don't assume the buffer length is less than 2**32.
1450         * lib/sha512.c (sha512_process_block): Likewise.
1451         Here, the bug is present only in the rare case where the host does
1452         not support uint64_t or where size_t is wider than 64 bits.
1453         Use u64size to work around the problems.
1454         * lib/u64.h (u64size): New macro.
1455
1456 2012-05-15  Pádraig Brady  <P@draigBrady.com>
1457
1458         fsusage: fix block size returned on older Linux 2.6
1459
1460         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
1461         which is available since Linux 2.6.
1462         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
1463         when the member is available so it can be used as a fallback.
1464         * doc/posix-functions/statvfs.texi: Mention the hang issue
1465         on Linux < 2.6.36.
1466
1467 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
1468
1469         bootstrap: suppress stderr chatter
1470         * build-aux/bootstrap (insert_sorted_if_absent, main program):
1471         Omit unnecessary chatter to stderr.  The main program chatter
1472         was there only inadvertantly.
1473
1474         bootstrap: .gitignore files created by autopoint, libtool
1475         I ran into this problem when bootstrapping the latest diffutils.
1476         After './bootstrap', 'git status' reported lots of untracked files
1477         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
1478         autopoint and do not need to be version-controlled.
1479         * build-aux/bootstrap: Put into .gitignore the files that
1480         autopoint and libtool create, by keeping track of files that exist
1481         after but not before these programs are run.
1482         (version_controlled_file): Move up.  2nd arg is now full file
1483         name, not base name; this is more convenient.  Put CVS at the end,
1484         as it's now somewhat deprecated.
1485
1486 2012-05-14  Jim Meyering  <meyering@redhat.com>
1487
1488         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
1489         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
1490         definition.  Reported by Bruno Haible.
1491
1492 2012-05-13  Bruno Haible  <bruno@clisp.org>
1493             Paul Eggert  <eggert@cs.ucla.edu>
1494
1495         binary-io: Define set_binary_mode function.
1496         * lib/binary-io.h (set_binary_mode): New function.
1497         (SET_BINARY): Define in terms of set_binary_mode.
1498         * modules/binary-io (configure.ac): Require AC_C_INLINE.
1499         * tests/test-binary-io.c (main): Accept an argument, and test either
1500         set_binary_mode or SET_BINARY depending on the argument.
1501         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
1502         argument. Clean up also t-bin-out0.tmp.
1503
1504 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
1505
1506         bootstrap: take advantage of POSIX shell features
1507
1508         The 'bootstrap' script offered by Gnulib script already uses POSIX
1509         shell features (like $((...)) arithmetic expansions) that are not
1510         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
1511         means that bootstrap must already be run using a proper POSIX shell,
1512         which will thus provide more features, like ${var#pattern} parameter
1513         expansion or inversion of a command exit status with '!'.  We can
1514         thus use these features to improve the clarity and the performances
1515         of the bootstrap script.
1516
1517         Suggested by Eric Blake.
1518
1519         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
1520         of sed/expr plus command substitutions, to save some forks.  While
1521         we are at it, prefer the POSIX $(...) form of command substitution,
1522         rather than the legacy form `...` (since the former is visually
1523         clearer and interacts better with quoting), and prefer the idiom:
1524           "if ! CMD; then ACTION ..."
1525         over the idiom:
1526           "if CMD; then :; else ACTION ..."
1527         which was required by legacy Bourne shells not supporting '!'.
1528
1529 2012-05-12  Bruno Haible  <bruno@clisp.org>
1530
1531         system-quote: Add more comments.
1532         * lib/system-quote.h: Add more comments about wilcards and limitations.
1533         Suggested by Eli Zaretskii <eliz@gnu.org>.
1534
1535         sh-quote, system-quote: Add comments about wildcards.
1536         * lib/sh-quote.h: Clarify what happens with wildcard characters.
1537         * lib/system-quote.h: Likewise.
1538         Reported by Eli Zaretskii <eliz@gnu.org>.
1539
1540 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
1541
1542         fsusage: check for GNU/Linux statvfs problem dynamically
1543         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
1544         Define STAT_STATFS2_BSIZE too, since in this case the code now
1545         checks dynamically whether statvfs is reliable, falling back on
1546         Linux-style statfs otherwise.
1547         (statvfs_works): New function, for dynamically testing statvfs.
1548         (get_fs_usage) [STAT_STATVFS]: Use it.
1549         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
1550         statvfs on GNU/Linux hosts, since it's now done dynamically.
1551
1552 2012-05-10  Bruno Haible  <bruno@clisp.org>
1553
1554         system-quote, execute, spawn-pipe: Escape '?' on Windows.
1555         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
1556         '?' character.
1557         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
1558         * tests/test-system-quote-main.c (check_all): Check also strings like
1559         "??????????".
1560         Reported by Eli Zaretskii <eliz@gnu.org>.
1561
1562 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
1563
1564         _Noreturn: port config.h to gcc -Wundef
1565         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
1566         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
1567         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
1568
1569 2012-05-10  Bruno Haible  <bruno@clisp.org>
1570
1571         system-quote: Refactor.
1572         * lib/system-quote.h (system_quote_copy): Fix comment.
1573         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
1574         New functions, extracted from system_quote_copy.
1575         (system_quote_length, system_quote_copy): Use these functions.
1576         Reported by Paul Eggert.
1577
1578 2012-05-08  Bruno Haible  <bruno@clisp.org>
1579
1580         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
1581         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
1582
1583 2012-05-08  Bruno Haible  <bruno@clisp.org>
1584
1585         Tests for module 'system-quote'.
1586         * modules/system-quote-tests: New file.
1587         * tests/test-system-quote.sh: New file.
1588         * tests/test-system-quote-main.c: New file.
1589         * tests/test-system-quote-child.c: New file.
1590
1591         New module 'system-quote'.
1592         * lib/system-quote.h: New file.
1593         * lib/system-quote.c: New file.
1594         * modules/system-quote: New file.
1595
1596 2012-05-08  Bruno Haible  <bruno@clisp.org>
1597
1598         sh-quote: Make C++ safe and allow multiple inclusion.
1599         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
1600         declarations in extern "C".
1601
1602 2012-05-08  Bruno Haible  <bruno@clisp.org>
1603
1604         sh-quote tests: Make tests stricter.
1605         * tests/test-sh-quote.c (check_one): Check the return value of
1606         shell_quote_copy.
1607         (main): Check a string with a CR character. Check a string that
1608         contains UCHAR_MAX.
1609
1610 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
1611
1612         warnings.m4: provide a means to specify the program to compile.
1613         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
1614         (gl_WARN_ADD): here.
1615         Use gl_AS_VAR_APPEND.
1616         Support an argument to specify the program to compile.
1617         (gl_WARN_ADD): Accept an argument to specify the program to compile.
1618         AC_SUBST the WARN_CFLAGS when they are used.
1619         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
1620         leave this to gl_WARN_ADD.
1621
1622 2012-05-08  Eric Blake  <eblake@redhat.com>
1623
1624         doc: recommendations on gettext version
1625         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
1626         choice between versions.
1627         * DEPENDENCIES (gettext): Cover both approaches.
1628
1629 2012-05-08  Jim Meyering  <meyering@redhat.com>
1630
1631         init.sh: explain why EXEEXT support uses aliases rather than functions
1632         * tests/init.sh: Add a comment.
1633
1634         init.sh: don't let bash aliases interfere with tests
1635         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
1636         is bash.  This avoids problems for those who alias standard commands to
1637         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
1638         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
1639
1640 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1641
1642         stdint: be more consistent with glibc, SunOS libc
1643         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
1644         (gl_int_fast16_t, gl_uint_fast16_t)
1645         (gl_int_fast32_t, gl_uint_fast32_t)
1646         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
1647         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
1648         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
1649         Be consistent with glibc by default, and with SunOS 5.10 and later
1650         if __sun is defined.  This lessens the likelihood of clashes if
1651         code compiled for older hosts is combined with code compiled for
1652         newer ones.  Problem reported by Niels Möller in
1653         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
1654
1655 2012-05-07  Eric Blake  <eblake@redhat.com>
1656
1657         isatty: relax license to LGPLv2+
1658         * modules/isatty (License): Relax license.
1659
1660 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1661
1662         stat-size: comment fix
1663         * lib/stat-size.h: Remove obsolete comment about indenting.
1664
1665 2012-05-06  Bruno Haible  <bruno@clisp.org>
1666
1667         Tests for module 'sh-quote'.
1668         * modules/sh-quote-tests: New file.
1669         * tests/test-sh-quote.c: New file.
1670
1671 2012-05-06  Bruno Haible  <bruno@clisp.org>
1672
1673         sh-quote: Improve shell_quote_argv's signature.
1674         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
1675         * lib/sh-quote.c (shell_quote_argv): Likewise.
1676
1677 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
1678
1679         stdint: document issues with int_fast8_t etc.
1680         * doc/posix-headers/stdint.texi (stdint.h): Say that other
1681         stdint.h substitutes may define these types differently.  See
1682         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
1683
1684 2012-05-05  Bruno Haible  <bruno@clisp.org>
1685
1686         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
1687         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
1688         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
1689         or 'guessing no (mishandles large arguments)'.
1690
1691 2012-05-05  Bruno Haible  <bruno@clisp.org>
1692
1693         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
1694         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
1695         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1696         set gl_cv_func_link_follows_symlink to "guessing no".
1697
1698 2012-05-05  Bruno Haible  <bruno@clisp.org>
1699
1700         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
1701         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
1702         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
1703         "guessing no".
1704         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
1705
1706 2012-05-05  Bruno Haible  <bruno@clisp.org>
1707
1708         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
1709         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
1710         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
1711         set gl_cv_struct_dirent_d_ino to "guessing yes".
1712
1713 2012-05-05  Bruno Haible  <bruno@clisp.org>
1714
1715         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
1716         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
1717         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
1718         "guessing yes".
1719
1720 2012-05-05  Bruno Haible  <bruno@clisp.org>
1721
1722         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
1723         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
1724         compiling to a glibc system, set gl_cv_func_signbit and
1725         gl_cv_func_signbit_gcc to "guessing yes".
1726
1727 2012-05-05  Bruno Haible  <bruno@clisp.org>
1728
1729         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
1730         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
1731         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
1732         to "guessing yes".
1733         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
1734         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
1735
1736 2012-05-05  Bruno Haible  <bruno@clisp.org>
1737
1738         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
1739         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
1740         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
1741         gl_cv_func_realpath_works to "guessing yes".
1742
1743 2012-05-05  Bruno Haible  <bruno@clisp.org>
1744
1745         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
1746         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
1747         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
1748
1749 2012-05-04  Bruno Haible  <bruno@clisp.org>
1750
1751         Tweak last commit.
1752         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
1753         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
1754
1755 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
1756
1757         unistd_h: make it easier to avoid sys_types_h
1758         This is useful for Emacs, which has its own method of porting to
1759         Windows, and which therefore does not need the sys_types_h module.
1760         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
1761         code moved here from gl_SYS_TYPES_H.
1762         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
1763         using the code directly.
1764         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
1765         gl_SYS_TYPES_H.
1766         * modules/sys_types (Files):
1767         * modules/unistd (Files): Add m4/off_t.m4.
1768
1769 2012-05-03  Bruno Haible  <bruno@clisp.org>
1770
1771         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
1772         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
1773         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
1774         "guessing yes" or "guessing no".
1775         (gl_FUNC_LSTAT): Update.
1776         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
1777         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
1778         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
1779
1780 2012-05-03  Bruno Haible  <bruno@clisp.org>
1781
1782         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
1783         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
1784         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
1785         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
1786         cross-compiling, choose the first alternative on glibc systems.
1787         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
1788
1789 2012-05-03  Bruno Haible  <bruno@clisp.org>
1790
1791         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
1792         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
1793         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
1794
1795 2012-05-03  Bruno Haible  <bruno@clisp.org>
1796
1797         chown: Avoid "guessing no" when cross-compiling to glibc systems.
1798         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
1799
1800 2012-05-03  Bruno Haible  <bruno@clisp.org>
1801
1802         Avoid "guessing no" guesses when cross-compiling to glibc systems.
1803         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
1804         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
1805         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
1806         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
1807         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
1808         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
1809         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
1810         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
1811         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
1812         compiling to glibc systems, set gl_cv_func_chown_slash_works,
1813         gl_cv_func_chown_ctime_works to "guessing yes".
1814         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
1815         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
1816         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
1817         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
1818         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
1819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
1820         compiling to glibc systems, set gl_cv_func_open_directory_works to
1821         "guessing yes".
1822         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
1823         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
1824         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
1825         "guessing yes".
1826         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
1827         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
1828         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
1829         compiling to glibc systems, set gl_cv_func_floorf_ieee to
1830         "guessing yes".
1831         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
1832         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
1833         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
1834         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
1835         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
1836         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
1837         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
1838         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
1839         "guessing yes".
1840         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
1841         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
1842         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
1843         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
1844         "guessing yes".
1845         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
1846         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
1847         "guessing yes".
1848         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
1849         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
1850         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
1851         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
1852         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
1853         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
1854         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
1855         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
1856         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
1857         compiling to glibc systems, set gl_cv_func_log10f_ieee to
1858         "guessing yes".
1859         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
1860         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
1861         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
1862         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
1863         "guessing yes".
1864         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
1865         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
1866         "guessing yes".
1867         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
1868         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
1869         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
1870         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
1871         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
1872         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
1873         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
1874         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
1875         compiling to glibc systems, set gl_cv_func_mkfifo_works to
1876         "guessing yes".
1877         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
1878         compiling to glibc systems, set gl_cv_func_mknod_works to
1879         "guessing yes".
1880         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
1881         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
1882         "guessing yes".
1883         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
1884         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
1885         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
1886         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
1887         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
1888         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
1889         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
1890         compiling to glibc systems, set gl_cv_func_svid_putenv to
1891         "guessing yes".
1892         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
1893         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
1894         "guessing yes".
1895         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
1896         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
1897         "guessing yes".
1898         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
1899         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
1900         to "guessing yes".
1901         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
1902         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
1903         to "guessing yes".
1904         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
1905         compiling to glibc systems, set gl_cv_func_rmdir_works to
1906         "guessing yes".
1907         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
1908         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
1909         gl_cv_func_unlink_parent_fails to "guessing yes".
1910         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
1911         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
1912         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
1913         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
1914         gl_cv_func_rename_dest_works to "guessing yes".
1915         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
1916         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
1917         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
1918         compiling to glibc systems, set gl_cv_func_roundf_ieee to
1919         "guessing yes".
1920         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
1921         compiling to glibc systems, set gl_cv_func_roundl_ieee to
1922         "guessing yes".
1923         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
1924         compiling to glibc systems, set gl_cv_func_setenv_works to
1925         "guessing yes".
1926         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
1927         compiling to glibc systems, set gl_cv_func_unsetenv_works to
1928         "guessing yes".
1929         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
1930         compiling to glibc systems, set gl_cv_func_sleep_works to
1931         "guessing yes".
1932         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
1933         compiling to glibc systems, set gl_cv_func_stat_file_slash to
1934         "guessing yes".
1935         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
1936         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
1937         "guessing yes".
1938         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
1939         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
1940         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
1941         compiling to glibc systems, set gl_cv_func_truncf_ieee to
1942         "guessing yes".
1943         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
1944         compiling to glibc systems, set gl_cv_func_truncl_ieee to
1945         "guessing yes".
1946         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
1947         compiling to glibc systems, set gl_cv_func_usleep_works to
1948         "guessing yes".
1949         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
1950         compiling to glibc systems, set gl_cv_func_futimesat_works to
1951         "guessing yes".
1952
1953 2012-05-03  Bruno Haible  <bruno@clisp.org>
1954
1955         Say "guessing yes" or "guessing no" when cross-compiling.
1956         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
1957         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
1958         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
1959         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
1960         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
1961         am_cv_func_working_getline to "guessing yes" or "guessing no".
1962         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
1963         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
1964         (gl_FUNC_MEMMEM): When cross-compiling, set
1965         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
1966         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
1967         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
1968         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
1969         set gl_cv_func_strcasestr_works_always to "guessing yes" or
1970         "guessing no".
1971         (gl_FUNC_STRCASESTR): When cross-compiling, set
1972         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
1973         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
1974         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
1975         (gl_FUNC_STRSTR): When cross-compiling, set
1976         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
1977         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
1978         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
1979         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
1980         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
1981
1982 2012-05-01  Bruno Haible  <bruno@clisp.org>
1983
1984         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
1985         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
1986         * build-aux/reloc-ldflags: Likewise.
1987         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
1988
1989 2012-05-01  Bruno Haible  <bruno@clisp.org>
1990
1991         gnulib-tool: Remove transitional code.
1992         * gnulib-tool: Don't warn about --import with 0 arguments any more.
1993         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1994
1995 2012-05-01  Bruno Haible  <bruno@clisp.org>
1996
1997         getcwd: Fix misindentation.
1998         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
1999
2000 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
2001
2002         exclude: process exclude and include directives in order
2003         This restores the pre-2009 behavior, and is part of a fix of a
2004         grep bug reported by Quentin Arce in
2005         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
2006         * lib/exclude.c (struct exclude): Remove 'tail' member.
2007         (new_exclude_segment): Prepend the new segment instead of appending.
2008         Return void, since that's now more convenient.
2009         (file_pattern_matches): Renamed from excluded_file_pattern_p.
2010         (file_name_matches): Renamed from excluded_file_name_p.
2011         (file_pattern_matches, file_name_matches):
2012         Return true if the pattern matches, not if it excludes.
2013         All callers changed.
2014         (excluded_file_name): Process the list in reverse order;
2015         since the list is now reversed this restores the pre-2009 behavior.
2016         (add_exclude): Adjust to new reversed-order list.  Use local var
2017         rather than macro, for clarity.
2018         * tests/test-exclude7.sh: Adjust to corrected behavior.
2019
2020         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
2021         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
2022         it's not possible here.  Handle the case of \ at end of pattern
2023         without dumping core.
2024         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
2025
2026         _Noreturn: future-proof non-GNU and non-MSVC compilers
2027         * build-aux/snippet/_Noreturn.h (_Noreturn):
2028         * m4/gnulib-common.m4 (gl_COMMON_BODY):
2029         Do not define _Noreturn if __STDC_VERSION__ indicates this is
2030         C11 or later.  This is more likely to work with random future C
2031         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
2032         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
2033
2034         exclude: handle wildcards with FNM_EXTMATCH
2035         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
2036         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
2037         comment that "has wildcards" really means "has or may have
2038         wildcards".  Simplify by avoiding the need to call strcspn.
2039
2040 2012-04-29  Bruno Haible  <bruno@clisp.org>
2041
2042         gnulib-tool: Fix list of authors.
2043         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
2044
2045 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
2046
2047         bootstrap: support Automake-NG in $buildreq
2048         * bootstrap (check_versions): Handle automake and aclocal from
2049         Automake-NG specially.  They can be specified as respectively
2050         the "automake-ng" and "aclocal-ng" requirements.
2051
2052 2012-04-25  Eric Blake  <eblake@redhat.com>
2053
2054         bootstrap: only force latest Makefile.in.in for gettext module
2055         * build-aux/bootstrap (with_gettext): Only install latest
2056         Makefile.in.in for projects requesting bleeding edge gettext.
2057
2058 2012-04-22  Bruno Haible  <bruno@clisp.org>
2059
2060         doc: Mention reason for replacement on glibc/Linux systems.
2061         * doc/posix-functions/dprintf.texi: Mention the problem with special
2062         'long double' values.
2063         * doc/posix-functions/fprintf.texi: Likewise.
2064         * doc/posix-functions/printf.texi: Likewise.
2065         * doc/posix-functions/snprintf.texi: Likewise.
2066         * doc/posix-functions/sprintf.texi: Likewise.
2067         * doc/posix-functions/vdprintf.texi: Likewise.
2068         * doc/posix-functions/vfprintf.texi: Likewise.
2069         * doc/posix-functions/vprintf.texi: Likewise.
2070         * doc/posix-functions/vsnprintf.texi: Likewise.
2071         * doc/posix-functions/vsprintf.texi: Likewise.
2072         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
2073         platforms with F_DUPFD_CLOEXEC problems.
2074         * doc/posix-functions/glob.texi: Mention which platforms are affected
2075         by the problem with symbolic links.
2076         * doc/posix-functions/linkat.texi: Mention the problem with
2077         AT_SYMLINK_FOLLOW on Linux.
2078
2079 2012-04-22  Bruno Haible  <bruno@clisp.org>
2080
2081         pwrite: Don't replace on all platforms.
2082         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
2083
2084 2012-04-22  Bruno Haible  <bruno@clisp.org>
2085
2086         rint* tests: Avoid gcc warnings.
2087         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
2088         * tests/test-rintf.c (INFINITY, NAN): Likewise.
2089         * tests/test-rintl.c (INFINITY, NAN): Likewise.
2090
2091 2012-04-21  Bruno Haible  <bruno@clisp.org>
2092
2093         users.txt: Update.
2094         * users.txt: Add freedink, wdiff. Update URLs for projects that have
2095         switched from CVS to git, bzr, or svn.
2096
2097 2012-04-21  Bruno Haible  <bruno@clisp.org>
2098
2099         Large File Support for native Windows platforms.
2100
2101         * m4/largefile.m4 (gl_LARGEFILE): New macro.
2102         * modules/largefile (configure.ac): Require gl_LARGEFILE.
2103
2104         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
2105         type.
2106         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
2107         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
2108         * doc/posix-headers/sys_types.texi: Mention the effect of the
2109         'largefile' module.
2110
2111         * lib/fcntl.in.h: Add comments about off_t.
2112         * modules/fcntl-h (Depends-on): Add sys_types.
2113
2114         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
2115         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
2116         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
2117         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
2118         * modules/unistd (Depends-on): Add sys_types.
2119         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
2120
2121         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
2122         instead of lseek.
2123         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
2124         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
2125         * modules/lseek (Depends-on): Add sys_types.
2126
2127         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
2128         msvc-nothrow.h.
2129         (SetFileSize): New function.
2130         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
2131         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
2132         if Large File Support is requested.
2133         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
2134         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
2135
2136         * lib/stdio.in.h: Add comments about off_t.
2137         * modules/stdio (Depends-on): Add sys_types.
2138
2139         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
2140         instead of ftello.
2141         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
2142         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
2143         (gl_PREREQ_FTELLO): New macro.
2144         * modules/ftello (Depends-on): Add sys_types.
2145         (configure.ac): Incoke gl_PREREQ_FTELLO.
2146
2147         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
2148         instead of fseeko.
2149         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
2150         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
2151         (gl_PREREQ_FSEEKO): New macro.
2152         * modules/fseeko (Depends-on): Add sys_types.
2153         (configure.ac): Invoke gl_PREREQ_FSEEKO.
2154
2155         * lib/sys_stat.in.h: Add comments about off_t.
2156         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
2157         64-bit integer for st_size in 'struct stat'.
2158         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
2159         Define _GL_WINDOWS_64_BIT_ST_SIZE.
2160         * modules/sys_stat (Depends-on): Add sys_types.
2161         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
2162
2163         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
2164         instead of stat or _stat.
2165
2166         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
2167         'struct _stati64' instead of fstat and 'struct stat'.
2168         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
2169         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
2170
2171         Reported by Ray Satiro <raysatiro@yahoo.com>.
2172
2173 2012-04-19  Eric Blake  <eblake@redhat.com>
2174
2175         bootstrap: accommodate older libtool
2176         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
2177         Reported by Daniel P. Berrange.
2178
2179 2012-04-19  Jim Meyering  <meyering@redhat.com>
2180
2181         announce-gen: avoid failure due to lack of Digest::SHA1
2182         Even with the preferred Digest::SHA available, this script
2183         would fail when the backup module, Digest::SHA1, was not installed.
2184         * build-aux/announce-gen: Quote the conditional use of "use".
2185         Reported by Reuben Thomas in:
2186         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
2187
2188         bootstrap: don't let a user's CDPATH setting affect this script
2189         When CDPATH is set, cd will sometimes generate output.
2190         When "cd" is run in a subshell whose output matters, that
2191         surprising-to-some output can cause malfunction.
2192         Unsetting CDPATH turns off this shell "feature."
2193         * build-aux/bootstrap (CDPATH): Unset.
2194         Reported by Reuben Thomas in:
2195         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
2196         and inspired by his patch here:
2197         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
2198
2199 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
2200         and Jim Meyering  <meyering@redhat.com>
2201
2202         maint.mk: catch "see @xref{}" and similar
2203         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
2204         prohibit "See also @xref{", "Also see @pxref{", and similar.
2205
2206 2012-04-16  Jim Meyering  <meyering@redhat.com>
2207
2208         bootstrap: really use gnulib's po/Makefile.in.in
2209         * build-aux/bootstrap: Correct the source file name in previous change.
2210         Reported by Akim Demaille.
2211
2212         configmake: correct minor inconsistency in Makefile rule
2213         * modules/configmake (Makefile.am): All other rules like this one
2214         run the final "mv -f ..." in the same backslash-continued command
2215         as the one that does everything else.  This one put the mv -f ...
2216         command on a separate, non-backslash-continued line.
2217         Make it like the others.
2218
2219         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
2220         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
2221         the one from gettext.  Reported by Akim Demaille.
2222
2223 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
2224
2225         Fix recursion of install-* into po directories.
2226         Bison's install-pdf bug reported by Hans Aberg at
2227         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
2228         * build-aux/po/Makefile.in.in (install-dvi, install-html)
2229         (install-info, install-pdf, install-ps): New targets.
2230
2231 2012-04-16  Jim Meyering  <meyering@redhat.com>
2232
2233         maint: avoid spurious "make sc_maint" failure
2234         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
2235         exempt all *.class file names, for lib/javaversion.class.
2236
2237 2012-04-15  Bruno Haible  <bruno@clisp.org>
2238
2239         lseek: Make configure test independent of environment.
2240         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
2241         Windows, we know that lseek() on pipes is broken; skip the runtime
2242         test.
2243
2244 2012-04-14  Bruno Haible  <bruno@clisp.org>
2245
2246         stat: Bypass buggy override in mingw64.
2247         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
2248         * lib/stat.c (stat) [mingw64]: Define to _stat.
2249         * doc/posix-functions/stat.texi: Mention mingw64 bug.
2250
2251 2012-04-14  Bruno Haible  <bruno@clisp.org>
2252
2253         pathmax: Fix compilation error on MSVC 9.
2254         * modules/pathmax (Depends-on): Add unistd.
2255
2256 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
2257
2258         README: document pointer comparison assumption
2259         * README (Portability guidelines): Document assumption about
2260         pointer comparisons, in response to a recent bug-gnulib comment by
2261         Jeffrey Kegler.
2262
2263 2012-04-12  Bruno Haible  <bruno@clisp.org>
2264
2265         Tests for module 'getrusage'.
2266         * modules/getrusage-tests: New file.
2267         * tests/test-getrusage.c: New file.
2268
2269         New module 'getrusage'.
2270         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
2271         warn-on-use.h.
2272         (getrusage): New declaration.
2273         * lib/getrusage.c: New file.
2274         * m4/getrusage.m4: New file.
2275         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
2276         is declared.
2277         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
2278         HAVE_GETRUSAGE.
2279         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
2280         snippet/c++defs, snippet/warn-on-use.
2281         (Makefile.am): Update generation of sys/resource.h. Substitute
2282         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
2283         * modules/getrusage: New file.
2284         * doc/posix-functions/getrusage.texi: Mention the new module.
2285
2286 2012-04-12  Bruno Haible  <bruno@clisp.org>
2287
2288         Tests for module 'sys_resource'.
2289         * modules/sys_resource-tests: New file.
2290         * tests/test-sys_resource.c: New file.
2291
2292         New module 'sys_resource'.
2293         * lib/sys_resource.in.h: New file.
2294         * m4/sys_resource_h.m4: New file.
2295         * modules/sys_resource: New file.
2296         * doc/posix-headers/sys_resource.texi: Mention the new module.
2297
2298 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
2299
2300         ioctl: Fix compilation error on mingw.
2301         * lib/ioctl.c: Include <windows.h>.
2302         Also reported by Ray Satiro <raysatiro@yahoo.com>.
2303
2304 2012-04-04  Jim Meyering  <meyering@redhat.com>
2305
2306         regex: correct #pragma guard expression
2307         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
2308         not 4.3.  Correct its cpp guard expression.
2309
2310 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
2311
2312         regex: remove unnecessary type punning
2313         Problem reported by Vladimir Serbinenko in
2314         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
2315         * lib/regex.h (struct re_pattern_buffer): Change the type of
2316         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
2317         Fix comment to match code.
2318         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
2319         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
2320         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
2321         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
2322         (set_regs):
2323         Omit no-longer-necessary casts.
2324
2325 2012-04-03  Bruno Haible  <bruno@clisp.org>
2326
2327         Tests for module 'ilogbl'.
2328         * modules/ilogbl-tests: New file.
2329         * tests/test-ilogbl.c: New file.
2330
2331         New module 'ilogbl'.
2332         * lib/math.in.h (ilogbl): New declaration.
2333         * lib/ilogbl.c: New file.
2334         * m4/ilogbl.m4: New file.
2335         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
2336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
2337         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
2338         Split sed invocation, to avoid the limit of 100 substitutions of
2339         HP-UX 'sed'.
2340         * modules/ilogbl: New file.
2341         * tests/test-math-c++.cc: Check the declaration of ilogbl.
2342         * doc/posix-functions/ilogbl.texi: Mention the new module.
2343
2344 2012-04-03  Bruno Haible  <bruno@clisp.org>
2345
2346         Tests for module 'ilogbf'.
2347         * modules/ilogbf-tests: New file.
2348         * tests/test-ilogbf.c: New file.
2349
2350         New module 'ilogbf'.
2351         * lib/math.in.h (ilogbf): New declaration.
2352         * lib/ilogbf.c: New file.
2353         * m4/ilogbf.m4: New file.
2354         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
2355         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
2356         REPLACE_ILOGBF.
2357         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
2358         REPLACE_ILOGBF.
2359         * modules/ilogbf: New file.
2360         * tests/test-math-c++.cc: Check the declaration of ilogbf.
2361         * doc/posix-functions/ilogbf.texi: Mention the new module.
2362
2363 2012-04-03  Bruno Haible  <bruno@clisp.org>
2364
2365         Tests for module 'ilogb'.
2366         * modules/ilogb-tests: New file.
2367         * tests/test-ilogb.c: New file.
2368         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
2369         tests/test-logb-ieee.h.
2370
2371         New module 'ilogb'.
2372         * lib/math.in.h (ilogb): New declaration.
2373         * lib/ilogb.c: New file.
2374         * m4/ilogb.m4: New file.
2375         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
2376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
2377         REPLACE_ILOGB.
2378         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
2379         REPLACE_ILOGB.
2380         * modules/ilogb: New file.
2381         * tests/test-math-c++.cc: Check the declaration of ilogb.
2382         * doc/posix-functions/ilogb.texi: Mention the new module.
2383
2384 2012-04-03  Bruno Haible  <bruno@clisp.org>
2385
2386         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
2387         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
2388         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
2389         (main): Check their values.
2390         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
2391         problem.
2392
2393 2012-04-03  Bruno Haible  <bruno@clisp.org>
2394
2395         Tests for module 'logbl-ieee'.
2396         * modules/logbl-ieee-tests: New file.
2397         * tests/test-logbl-ieee.c: New file.
2398
2399         New module 'logbl-ieee'.
2400         * modules/logbl-ieee: New file.
2401
2402         Tests for module 'logb-ieee'.
2403         * modules/logb-ieee-tests: New file.
2404         * tests/test-logb-ieee.c: New file.
2405
2406         New module 'logb-ieee'.
2407         * modules/logb-ieee: New file.
2408
2409         Tests for module 'logbf-ieee'.
2410         * modules/logbf-ieee-tests: New file.
2411         * tests/test-logbf-ieee.c: New file.
2412         * tests/test-logb-ieee.h: New file.
2413
2414         New module 'logbf-ieee'.
2415         * modules/logbf-ieee: New file.
2416
2417 2012-04-03  Bruno Haible  <bruno@clisp.org>
2418
2419         Tests for module 'logbl'.
2420         * modules/logbl-tests: New file.
2421         * tests/test-logbl.c: New file.
2422
2423         New module 'logbl'.
2424         * lib/math.in.h (logbl): New declaration.
2425         * lib/logbl.c: New file.
2426         * m4/logbl.m4: New file.
2427         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
2428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
2429         REPLACE_LOGBL.
2430         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
2431         REPLACE_LOGBL.
2432         * modules/logbl: New file.
2433         * tests/test-math-c++.cc: Check the declaration of logbl.
2434         * doc/posix-functions/logbl.texi: Mention the new module.
2435
2436 2012-04-02  Bruno Haible  <bruno@clisp.org>
2437
2438         Tests for module 'logbf'.
2439         * modules/logbf-tests: New file.
2440         * tests/test-logbf.c: New file.
2441
2442         New module 'logbf'.
2443         * lib/math.in.h (logbf): New declaration.
2444         * lib/logbf.c: New file.
2445         * m4/logbf.m4: New file.
2446         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
2447         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
2448         REPLACE_LOGBF.
2449         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
2450         REPLACE_LOGBF.
2451         * modules/logbf: New file.
2452         * tests/test-math-c++.cc: Check the declaration of logbf.
2453         * doc/posix-functions/logbf.texi: Mention the new module.
2454
2455 2012-04-02  Bruno Haible  <bruno@clisp.org>
2456
2457         logb tests: More tests.
2458         * tests/test-logb.h: New file, based on tests/test-logb.c and
2459         tests/test-frexp.h.
2460         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
2461         (main): Just invoke test_function.
2462         * modules/logb-tests (Files): Add tests/test-logb.h,
2463         tests/minus-zero.h, tests/randomd.c.
2464         (Makefile.am): Add randomd.c to test_logb_SOURCES.
2465
2466         logb: Provide replacement and workarounds.
2467         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
2468         is 1.
2469         * lib/logb.c: New file.
2470         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
2471         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
2472         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
2473         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
2474         * modules/logb (Files): Add lib/logb.c.
2475         (Depends-on): Add isfinite, frexp, isnand.
2476         (configure.ac): Compile the replacement code logb.c if needed.
2477         * tests/test-math-c++.cc: Check the declaration of logb.
2478         * doc/posix-functions/logb.texi: Mention the replacement and the bug
2479         with subnormal numbers.
2480
2481 2012-04-02  Bruno Haible  <bruno@clisp.org>
2482
2483         log10* tests: Speed up.
2484         * tests/test-log10.h (test_function): Reduce amount of random numbers
2485         to test.
2486
2487 2012-04-01  Bruno Haible  <bruno@clisp.org>
2488
2489         logf-ieee: Fix test whether logf works.
2490         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
2491
2492 2012-04-01  Bruno Haible  <bruno@clisp.org>
2493
2494         log10l: Work around log10l-ieee test failure on IRIX 6.5.
2495         * lib/log10l.c: Include <float.h>
2496         (log10l): On IRIX, normalize the +Infinity value.
2497         * modules/log10l (Depends-on): Add 'float'.
2498         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
2499         +Infinity.
2500
2501         log10f-ieee: Work around test failure on NetBSD 5.1.
2502         * m4/log10f-ieee.m4: New file.
2503         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
2504         test whether log10f works with a negative argument. Replace it if not.
2505         * lib/log10f.c (log10f): For negative arguments, return NaN.
2506         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
2507         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
2508         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
2509
2510         log10f-ieee: Work around test failure on Solaris 9.
2511         * modules/log10f-ieee (Depends-on): Add log10-ieee.
2512         (configure.ac): Require gl_FUNC_LOG10F.
2513
2514         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
2515         * m4/log10-ieee.m4: New file.
2516         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
2517         whether log10 works with a negative argument. Replace it if not.
2518         * lib/log10.c (log10): For negative arguments, return NaN.
2519         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
2520         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
2521         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
2522
2523         Tests for module 'log10l-ieee'.
2524         * modules/log10l-ieee-tests: New file.
2525         * tests/test-log10l-ieee.c: New file.
2526
2527         New module 'log10l-ieee'.
2528         * modules/log10l-ieee: New file.
2529
2530         Tests for module 'log10-ieee'.
2531         * modules/log10-ieee-tests: New file.
2532         * tests/test-log10-ieee.c: New file.
2533
2534         New module 'log10-ieee'.
2535         * modules/log10-ieee: New file.
2536
2537         Tests for module 'log10f-ieee'.
2538         * modules/log10f-ieee-tests: New file.
2539         * tests/test-log10f-ieee.c: New file.
2540         * tests/test-log10-ieee.h: New file.
2541
2542         New module 'log10f-ieee'.
2543         * modules/log10f-ieee: New file.
2544
2545 2012-04-01  Bruno Haible  <bruno@clisp.org>
2546
2547         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
2548         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
2549         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
2550         workaround.
2551         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
2552         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
2553         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
2554         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
2555         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
2556         (Depends-on): Update conditions.
2557         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
2558         IRIX 6.5, OSF/1 5.1 problems.
2559
2560 2012-04-01  Bruno Haible  <bruno@clisp.org>
2561
2562         log10f: Work around OSF/1 5.1 bug.
2563         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
2564         * lib/log10f.c (log10f): If logf exists, use it and provide just the
2565         workaround.
2566         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
2567         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
2568         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
2569         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
2570         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
2571         (Depends-on): Update conditions.
2572         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
2573
2574 2012-04-01  Bruno Haible  <bruno@clisp.org>
2575
2576         log10: Work around OSF/1 5.1 bug.
2577         * lib/math.in.h (log10): New declaration.
2578         * lib/log10.c: New file.
2579         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
2580         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
2581         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
2582         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
2583         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
2584         * modules/log10 (Files): Add lib/log10.c.
2585         (Depends-on): Add math.
2586         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
2587         * tests/test-math-c++.cc: Check the declaration of log10.
2588         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
2589
2590 2012-03-31  Bruno Haible  <bruno@clisp.org>
2591
2592         log10l tests: More tests.
2593         * modules/log10l-tests (Files): Add tests/test-log10l.h,
2594         tests/minus-zero.h, tests/randoml.c.
2595         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
2596         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
2597         (main): Invoke test_function.
2598
2599         log10f tests: More tests.
2600         * modules/log10f-tests (Files): Add tests/test-log10.h,
2601         tests/minus-zero.h, tests/randomf.c.
2602         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
2603         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
2604         (main): Invoke test_function.
2605
2606         log10 tests: More tests.
2607         * tests/test-log10.h: New file.
2608         * modules/log10-tests (Files): Add tests/test-log10.h,
2609         tests/minus-zero.h, tests/randomd.c.
2610         (Makefile.am): Add randomd.c to test_log10_SOURCES.
2611         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
2612         (main): Invoke test_function.
2613
2614 2012-03-31  Simon Josefsson  <simon@josefsson.org>
2615
2616         fflush: Fix syntax error.
2617         * lib/fflush.c: Include unused-parameter.h, needed for
2618         _GL_UNUSED_PARAMETER.
2619         * modules/fflush (Depends-on): Add snippet/unused-parameter.
2620
2621 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
2622
2623         regex: pacify GCC when compiling GRUB
2624         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
2625         a diagnostic.  Reported by Vladimir Serbinenko in
2626         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
2627
2628 2012-03-29  Eric Blake  <eblake@redhat.com>
2629
2630         stdio: don't assume gets any more
2631         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
2632         support.
2633         * modules/stdio (Makefile.am): Likewise.
2634         * lib/stdio-read.c (gets): Likewise.
2635         * tests/test-stdio-c++.cc: Likewise.
2636         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
2637         * lib/stdio.in.h (gets): Make warning occur in more places.
2638         * doc/posix-functions/gets.texi (gets): Update documentation.
2639         Reported by Christer Solskogen.
2640
2641         maint.mk: fix syntax checks without exclusions
2642         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
2643         Reported by Daniel P. Berrange.
2644
2645         strerror_r: avoid compiler warning
2646         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
2647         level.
2648
2649         fflush: avoid compiler warning
2650         * lib/fflush.c (update_fpos_cache): Mark variables that are
2651         potentially unused.
2652
2653 2012-03-25  Bruno Haible  <bruno@clisp.org>
2654
2655         Tests for module 'localeconv'.
2656         * modules/localeconv-tests: New file.
2657         * tests/test-localeconv.c: New file.
2658
2659         New module 'localeconv'.
2660         * lib/locale.in.h (localeconv): New declaration.
2661         * lib/localeconv.c: New file.
2662         * m4/localeconv.m4: New file.
2663         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
2664         REPLACE_LOCALECONV.
2665         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
2666         REPLACE_LOCALECONV.
2667         * modules/localeconv: New file.
2668         * modules/nl_langinfo (Depends-on): Add localeconv.
2669         * modules/human (Depends-on): Likewise.
2670         * doc/posix-functions/localeconv.texi: Mention the new module.
2671
2672 2012-03-25  Bruno Haible  <bruno@clisp.org>
2673
2674         locale: Provide a complete 'struct lconv'.
2675         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2676         'struct lconv' does not contain int_p_cs_precedes.
2677         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2678         * doc/posix-headers/locale.texi: Update.
2679
2680         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
2681         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
2682         * doc/posix-headers/locale.texi: Update.
2683
2684         locale: Provide a working 'struct lconv'.
2685         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
2686         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
2687         'struct lconv' does not even contain decimal_point.
2688         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
2689         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
2690         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
2691         * doc/posix-headers/locale.texi: Mention the problems with
2692         'struct lconv'.
2693         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2694
2695 2012-03-24  Bruno Haible  <bruno@clisp.org>
2696
2697         Enable common subexpression optimization in GCC.
2698         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
2699         macros.
2700         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
2701         GCC attribute 'const'.
2702         (uc_locale_language): Declare with GCC attribute 'pure'.
2703         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
2704         with GCC attribute 'const'.
2705         * lib/unictype.in.h (uc_is_general_category_withtable,
2706         uc_combining_class, uc_combining_class_name,
2707         uc_combining_class_long_name, uc_bidi_class_name,
2708         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
2709         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
2710         uc_decimal_value, uc_digit_value, uc_numeric_value,
2711         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
2712         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
2713         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
2714         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
2715         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
2716         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
2717         Declare with GCC attribute 'const'.
2718         (uc_general_category_name, uc_general_category_long_name,
2719         uc_general_category_byname, uc_general_category,
2720         uc_is_general_category, uc_combining_class_byname,
2721         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
2722         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
2723         Declare with GCC attribute 'pure'.
2724         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
2725         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
2726         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
2727         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
2728         with GCC attribute 'pure'.
2729         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
2730         'const'.
2731         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
2732         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
2733         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
2734         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
2735         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
2736         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
2737         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
2738         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
2739         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
2740         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
2741         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
2742         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
2743         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
2744         GCC attribute 'pure'.
2745         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
2746         'const'.
2747         * lib/uniwidth.in.h (uc_width): Simplify declaration.
2748         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
2749         u32_strwidth): Declare with GCC attribute 'pure'.
2750
2751         Enable common subexpression optimization in GCC.
2752         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2753         (alphasort): Declare with GCC attribute 'pure'.
2754         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2755         (atoll): Declare with GCC attribute 'pure'.
2756         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
2757         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
2758         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
2759         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
2760         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
2761         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
2762         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
2763
2764 2012-03-24  Bruno Haible  <bruno@clisp.org>
2765
2766         gnulib-tool: Avoid unintended error output from 'cmp'.
2767         * gnulib-tool (func_add_file, func_update_file, func_import): Use
2768         "cmp -s", not "cmp > /dev/null".
2769
2770 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
2771
2772         gnulib-tool: fix imprecise comments w.r.t. an automake bug
2773
2774         It's not just Automake versions < 1.9b that creates an empty
2775         pkgdatadir at installation time if pkgdata_DATA is specified
2776         to empty; modern automake versions do this as well, at least
2777         until automake 1.11.4 (not yet released at the moment of writing,
2778         but soon to appear).  That behaviour was generally considered a
2779         feature rather than a bug, at least until this discussion:
2780         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
2781
2782         See also automake bugs #10997 and #11030.
2783
2784         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
2785         reference to relevant automake bug numbers.
2786         (func_emit_tests_Makefile_am): Likewise.
2787
2788 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2789
2790         announce-gen: use Digest::SHA when possible
2791         * build-aux/announce-gen: Use Digest::SHA when possible, falling
2792         back to Digest::SHA1 if necessary.
2793
2794 2012-03-20  Jim Meyering  <meyering@redhat.com>
2795
2796         tests: avoid gcc warnings about argv vs. const initializers
2797         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
2798         warnings about discarding 'const' qualifier from pointer target type.
2799         * tests/test-posix_spawn2.c (main): Likewise.
2800
2801 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
2802
2803         README-release: simplify slightly
2804         * top/README-release: Run "git checkout master" only once.
2805
2806 2012-03-15  Mark Wielaard  <mark@klomp.org>
2807
2808         git-merge-changelog: add specific example on how to use with hg.
2809         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
2810
2811 2012-03-18  Mark Wielaard  <mark@klomp.org>
2812
2813         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
2814
2815 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
2816
2817         git-version-gen: don't let "prefix" envvar cause trouble
2818         * build-aux/git-version-gen (prefix): Initialize properly,
2819         so as not to use a value specified via the environment.
2820         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
2821
2822 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2823
2824         regex: diagnose too-large repeat counts in EREs
2825         Previously, the code did not diagnose the too-large repeat count
2826         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
2827         as if it were 'b\{1000000000}', which is unexpected.
2828         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
2829         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
2830         is a reasonable one for this problem.  Another option would be to
2831         create a new REG_OVERFLOW error for repeat counts that are too large.
2832         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
2833         count is too large, so that the caller can distinguish the two cases.
2834         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
2835         "Too large" return code, and that repeat counts are one example of this.
2836
2837 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
2838
2839         doc: some glibc x32 integer width issues
2840         * doc/posix-headers/sys_types.texi (sys/types.h):
2841         * doc/posix-headers/time.texi (time.h):
2842         Mention that glibc x32 does not conform to POSIX in a couple of
2843         areas related to integer widths.
2844
2845 2012-03-15  Bruno Haible  <bruno@clisp.org>
2846
2847         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
2848         * lib/fma.c (VOLATILE): New macro.
2849         (FUNC): Use it to work around a GCC compiler bug.
2850
2851 2012-03-13  Bruno Haible  <bruno@clisp.org>
2852
2853         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2854         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
2855         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
2856         REPLACE_HYPOTL to 1.
2857         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
2858
2859 2012-03-13  Bruno Haible  <bruno@clisp.org>
2860
2861         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2862         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
2863         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
2864         REPLACE_REMAINDERL to 1.
2865         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
2866         bug.
2867
2868 2012-03-13  Bruno Haible  <bruno@clisp.org>
2869
2870         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2871         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
2872         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
2873         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
2874         too big rounding errors.
2875         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
2876         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
2877         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
2878         (Depends-on): Update conditions.
2879         * tests/test-sqrtl.c (my_ldexpl): New function.
2880         (main): Add test of a particular value.
2881         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2882
2883 2012-03-13  Pádraig Brady  <P@draigBrady.com>
2884
2885         doc: Update timer_* platform portability notes.
2886         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
2887         that always return ENOSYS.
2888         * doc/posix-functions/timer_delete.texi: Likewise.
2889         * doc/posix-functions/timer_gettime.texi: Likewise.
2890         * doc/posix-functions/timer_settime.texi: Likewise.
2891
2892 2012-03-13  Bruno Haible  <bruno@clisp.org>
2893
2894         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
2895         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
2896         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
2897         REPLACE_CBRTL to 1.
2898         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
2899
2900 2012-03-13  Bruno Haible  <bruno@clisp.org>
2901
2902         remainderl: Avoid compilation error on AIX >= 5.2.
2903         * lib/math.in.h (remainderl): Undefine macro from the system header.
2904
2905 2012-03-13  Bruno Haible  <bruno@clisp.org>
2906
2907         Avoid compilation errors with MSVC option -fp:strict.
2908         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
2909         * lib/cbrtf.c: Likewise.
2910         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
2911
2912 2012-03-12  Bruno Haible  <bruno@clisp.org>
2913
2914         uninorm: Don't crash in out-of-memory conditions.
2915         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
2916         gracefully.
2917         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
2918         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
2919
2920 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
2921
2922         quote: fix syntax-check
2923         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
2924         also exports quote_quoting_options.
2925
2926 2012-03-12  Simon Josefsson  <simon@josefsson.org>
2927
2928         Collapse list of copyright years to ranges.  See
2929         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
2930         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
2931         build-aux/csharpexec.sh.in, build-aux/gnupload,
2932         build-aux/install-reloc, build-aux/javacomp.sh.in,
2933         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
2934         build-aux/move-if-change, build-aux/reloc-ldflags,
2935         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
2936
2937 2012-03-11  Bruno Haible  <bruno@clisp.org>
2938
2939         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2940         * m4/log2f-ieee.m4: New file.
2941         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
2942         whether log2f works with a minus zero argument. Replace it if not.
2943         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
2944         (Depends-on): Add log2-ieee.
2945         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
2946         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
2947
2948         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
2949         * m4/log2-ieee.m4: New file.
2950         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
2951         whether log2 works with a minus zero argument. Replace it if not.
2952         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
2953         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
2954         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
2955
2956         Tests for module 'log2l-ieee'.
2957         * modules/log2l-ieee-tests: New file.
2958         * tests/test-log2l-ieee.c: New file.
2959
2960         New module 'log2l-ieee'.
2961         * modules/log2l-ieee: New file.
2962
2963         Tests for module 'log2-ieee'.
2964         * modules/log2-ieee-tests: New file.
2965         * tests/test-log2-ieee.c: New file.
2966
2967         New module 'log2-ieee'.
2968         * modules/log2-ieee: New file.
2969
2970         Tests for module 'log2f-ieee'.
2971         * modules/log2f-ieee-tests: New file.
2972         * tests/test-log2f-ieee.c: New file.
2973         * tests/test-log2-ieee.h: New file.
2974
2975         New module 'log2f-ieee'.
2976         * modules/log2f-ieee: New file.
2977
2978 2012-03-11  Bruno Haible  <bruno@clisp.org>
2979
2980         Tests for module 'log2l'.
2981         * modules/log2l-tests: New file.
2982         * tests/test-log2l.c: New file.
2983
2984         New module 'log2l'.
2985         * lib/math.in.h (log2l): New declaration.
2986         * lib/log2l.c: New file.
2987         * m4/log2l.m4: New file.
2988         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
2989         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
2990         REPLACE_LOG2L.
2991         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
2992         REPLACE_LOG2L.
2993         * modules/log2l: New file.
2994         * tests/test-math-c++.cc: Check the declaration of log2l.
2995         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
2996         and OSF/1 problems.
2997
2998 2012-03-11  Bruno Haible  <bruno@clisp.org>
2999
3000         Tests for module 'log2f'.
3001         * modules/log2f-tests: New file.
3002         * tests/test-log2f.c: New file.
3003
3004         New module 'log2f'.
3005         * lib/math.in.h (log2f): New declaration.
3006         * lib/log2f.c: New file.
3007         * m4/log2f.m4: New file.
3008         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
3009         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
3010         REPLACE_LOG2F.
3011         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
3012         REPLACE_LOG2F.
3013         * modules/log2f: New file.
3014         * tests/test-math-c++.cc: Check the declaration of log2f.
3015         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
3016         and OSF/1 and Cygwin problems.
3017
3018 2012-03-11  Bruno Haible  <bruno@clisp.org>
3019
3020         Tests for module 'log2'.
3021         * modules/log2-tests: New file.
3022         * tests/test-log2.c: New file.
3023         * tests/test-log2.h: New file.
3024
3025         New module 'log2'.
3026         * lib/math.in.h (log2): New declaration.
3027         * lib/log2.c: New file.
3028         * m4/log2.m4: New file.
3029         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
3030         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
3031         REPLACE_LOG2.
3032         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
3033         REPLACE_LOG2.
3034         * modules/log2: New file.
3035         * tests/test-math-c++.cc: Check the declaration of log2.
3036         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
3037         and OSF/1 and Cygwin problems.
3038
3039 2012-03-11  Bruno Haible  <bruno@clisp.org>
3040
3041         exp2* tests: More tests.
3042         * tests/test-exp2.h (test_function): Test all integral arguments that
3043         don't need to overflow or denormalized numbers.
3044         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
3045         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
3046         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
3047
3048 2012-03-10  Bruno Haible  <bruno@clisp.org>
3049
3050         log1pl-ieee: Work around test failure on AIX 7.1.
3051         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
3052
3053         log1pl-ieee: Work around test failure on IRIX 6.5.
3054         * m4/log1pl-ieee.m4: New file.
3055         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
3056         test whether log1pl works with a minus zero argument. Replace it if
3057         not.
3058         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
3059         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
3060         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
3061         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
3062         (Depends-on): Update conditions.
3063         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3064         m4/signbit.m4.
3065         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
3066         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
3067
3068         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
3069         * m4/log1pf-ieee.m4: New file.
3070         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
3071         test whether log1pf works with a minus zero argument. Replace it if
3072         not.
3073         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
3074         m4/signbit.m4.
3075         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
3076         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
3077
3078         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
3079         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
3080         (configure.ac): Require gl_FUNC_LOG1PF.
3081
3082         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
3083         * m4/log1p-ieee.m4: New file.
3084         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
3085         whether log1p works with a minus zero argument. Replace it if not.
3086         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
3087         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
3088         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
3089         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
3090         (Depends-on): Update conditions.
3091         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
3092         m4/signbit.m4.
3093         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
3094         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
3095
3096         Tests for module 'log1pl-ieee'.
3097         * modules/log1pl-ieee-tests: New file.
3098         * tests/test-log1pl-ieee.c: New file.
3099
3100         New module 'log1pl-ieee'.
3101         * modules/log1pl-ieee: New file.
3102
3103         Tests for module 'log1p-ieee'.
3104         * modules/log1p-ieee-tests: New file.
3105         * tests/test-log1p-ieee.c: New file.
3106
3107         New module 'log1p-ieee'.
3108         * modules/log1p-ieee: New file.
3109
3110         Tests for module 'log1pf-ieee'.
3111         * modules/log1pf-ieee-tests: New file.
3112         * tests/test-log1pf-ieee.c: New file.
3113         * tests/test-log1p-ieee.h: New file.
3114
3115         New module 'log1pf-ieee'.
3116         * modules/log1pf-ieee: New file.
3117
3118 2012-03-10  Bruno Haible  <bruno@clisp.org>
3119
3120         Tests for module 'log1pl'.
3121         * modules/log1pl-tests: New file.
3122         * tests/test-log1pl.c: New file.
3123
3124         New module 'log1pl'.
3125         * lib/math.in.h (log1pl): New declaration.
3126         * lib/log1pl.c: New file.
3127         * m4/log1pl.m4: New file.
3128         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
3129         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
3130         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
3131         * modules/log1pl: New file.
3132         * tests/test-math-c++.cc: Check the declaration of log1pl.
3133         * doc/posix-functions/log1pl.texi: Mention the new module.
3134
3135 2012-03-10  Bruno Haible  <bruno@clisp.org>
3136
3137         Tests for module 'log1pf'.
3138         * modules/log1pf-tests: New file.
3139         * tests/test-log1pf.c: New file.
3140
3141         New module 'log1pf'.
3142         * lib/math.in.h (log1pf): New declaration.
3143         * lib/log1pf.c: New file.
3144         * m4/log1pf.m4: New file.
3145         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
3146         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
3147         REPLACE_LOG1PF.
3148         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
3149         REPLACE_LOG1PF.
3150         * modules/log1pf: New file.
3151         * tests/test-math-c++.cc: Check the declaration of log1pf.
3152         * doc/posix-functions/log1pf.texi: Mention the new module.
3153
3154 2012-03-10  Bruno Haible  <bruno@clisp.org>
3155
3156         log1p tests: More tests.
3157         * tests/test-log1p.h: New file.
3158         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
3159         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
3160         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
3161         (main): Invoke test_function.
3162
3163         log1p: Provide replacement for Minix and MSVC.
3164         * lib/math.in.h (log1p): New declaration.
3165         * lib/log1p.c: New file.
3166         * m4/log1p.m4: New file.
3167         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
3168         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
3169         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
3170         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
3171         (Depends-on): Add math, isnand, log, round.
3172         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
3173         HAVE_LOG1P is 0.
3174         * tests/test-math-c++.cc: Check the declaration of log1p.
3175         * doc/posix-functions/log1p.texi: Mention the replacement.
3176
3177 2012-03-10  Bruno Haible  <bruno@clisp.org>
3178
3179         math tests: Small simplification.
3180         * tests/test-exp.h (test_function): Use the same err_bound for
3181         'double' on platforms with sizeof (long double) == sizeof (double)
3182         than on platforms with sizeof (long double) > sizeof (double).
3183         * tests/test-exp2.h (test_function): Likewise.
3184         * tests/test-expm1.h (test_function): Likewise.
3185         * tests/test-log.h (test_function): Likewise.
3186
3187 2012-03-10  Bruno Haible  <bruno@clisp.org>
3188
3189         Fix some comments.
3190         * lib/expl.c: Fix an ambiguous comment.
3191         * lib/expm1.c: Likewise.
3192         * lib/expm1l.c: Likewise.
3193         * lib/exp2.c: Likewise.
3194         * lib/exp2l.c: Likewise.
3195
3196 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
3197
3198         regex: allow inclusion of <regex.h> before <limits.h>
3199         Without this patch, portable programs had to include <limits.h> before
3200         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
3201         I ran into this problem with a test version of GNU grep on Solaris 8.
3202         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
3203         This is done conditionally so that this change can be merged
3204         back to glibc.
3205         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
3206         using the included regex.
3207
3208         fts: depend on fdopendir
3209         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
3210         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
3211         problem was introduced when fdopendir was split out.
3212
3213 2012-03-10  Bruno Haible  <bruno@clisp.org>
3214
3215         Remove unused variables.
3216         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
3217         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3218
3219 2012-03-10  Bruno Haible  <bruno@clisp.org>
3220
3221         isnanf-nolibm: Fix last commit.
3222         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
3223
3224         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
3225         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
3226
3227 2012-03-10  Bruno Haible  <bruno@clisp.org>
3228
3229         logf-ieee: Work around test failure on NetBSD 5.1.
3230         * m4/logf-ieee.m4: New file.
3231         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
3232         whether logf works with a negative argument. Replace it if not.
3233         * lib/logf.c (logf): For negative arguments, return NaN.
3234         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
3235         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
3236         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
3237
3238         logf-ieee: Work around test failure on Solaris 9.
3239         * modules/logf-ieee (Depends-on): Add log-ieee.
3240         (configure.ac): Require gl_FUNC_LOGF.
3241
3242         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3243         * m4/log-ieee.m4: New file.
3244         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
3245         log works with a negative argument. Replace it if not.
3246         * lib/log.c (log): For negative arguments, return NaN.
3247         * modules/log-ieee (Files): Add m4/log-ieee.m4.
3248         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
3249         * doc/posix-functions/log.texi: Mention the log-ieee module.
3250
3251         Tests for module 'logl-ieee'.
3252         * modules/logl-ieee-tests: New file.
3253         * tests/test-logl-ieee.c: New file.
3254
3255         New module 'logl-ieee'.
3256         * modules/logl-ieee: New file.
3257
3258         Tests for module 'log-ieee'.
3259         * modules/log-ieee-tests: New file.
3260         * tests/test-log-ieee.c: New file.
3261
3262         New module 'log-ieee'.
3263         * modules/log-ieee: New file.
3264
3265         Tests for module 'logf-ieee'.
3266         * modules/logf-ieee-tests: New file.
3267         * tests/test-logf-ieee.c: New file.
3268         * tests/test-log-ieee.h: New file.
3269
3270         New module 'logf-ieee'.
3271         * modules/logf-ieee: New file.
3272
3273 2012-03-10  Bruno Haible  <bruno@clisp.org>
3274
3275         log: Fix bug introduced on 2012-03-09.
3276         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
3277
3278 2012-03-10  Pádraig Brady  <P@draigBrady.com>
3279
3280         timer-time: link explicitly with pthreads on glibc
3281         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
3282         to support static linking, when newer glibc is
3283         detected, as that contains pthread emulation of
3284         POSIX timer functions where required.
3285         * modules/timer-time: Depend on threadlib to
3286         pull in the appropriate library to link.
3287
3288 2012-03-10  Bruno Haible  <bruno@clisp.org>
3289
3290         log* tests: More tests.
3291         * tests/test-log.h: New file.
3292         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
3293         (main): Invoke test_function.
3294         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
3295         (main): Invoke test_function.
3296         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
3297         (main): Invoke test_function.
3298         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3299         tests/randomd.c.
3300         (Makefile.am): Add randomd.c to test_log_SOURCES.
3301         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3302         tests/randomf.c.
3303         (Makefile.am): Add randomf.c to test_logf_SOURCES.
3304         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
3305         tests/randoml.c.
3306         (Depends-on): Add 'float'.
3307         (Makefile.am): Add randoml.c to test_logl_SOURCES.
3308
3309 2012-03-09  Bruno Haible  <bruno@clisp.org>
3310
3311         logl: Work around OSF/1 5.1 bug.
3312         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
3313         * lib/logl.c (logl): If logl exists, use it and provide just the
3314         workaround.
3315         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
3316         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
3317         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
3318         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
3319         * modules/logl (configure.ac): Consider REPLACE_LOGL.
3320         (Depends-on): Update conditions.
3321         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
3322
3323 2012-03-09  Bruno Haible  <bruno@clisp.org>
3324
3325         logf: Work around OSF/1 5.1 bug.
3326         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
3327         * lib/logf.c (logf): If logf exists, use it and provide just the
3328         workaround.
3329         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
3330         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
3331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
3332         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
3333         * modules/logf (configure.ac): Consider REPLACE_LOGF.
3334         (Depends-on): Update conditions.
3335         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
3336
3337 2012-03-09  Bruno Haible  <bruno@clisp.org>
3338
3339         log: Work around OSF/1 5.1 bug.
3340         * lib/math.in.h (log): New declaration.
3341         * lib/log.c: New file.
3342         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
3343         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
3344         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
3345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
3346         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
3347         * modules/log (Files): Add lib/log.c.
3348         (Depends-on): Add math.
3349         (configure.ac): If REPLACE_LOG is 1, compile an override.
3350         * tests/test-math-c++.cc: Check the declaration of log.
3351         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
3352
3353 2012-03-09  Jim Meyering  <meyering@redhat.com>
3354
3355         readtokens.c: adjust wording in a comment
3356         * lib/readtokens.c: Insert omitted "that" in a comment.
3357
3358 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3359
3360         modechange: add notations +40, 00440, etc.
3361         * lib/modechange.c (mode_compile): Support new notations
3362         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
3363
3364 2012-03-08  Bruno Haible  <bruno@clisp.org>
3365
3366         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
3367         * m4/exp2l-ieee.m4: New file.
3368         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
3369         test whether exp2l works with a NaN argument and with a negative
3370         infinity argument. Replace it if not.
3371         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
3372         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
3373         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
3374         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
3375         (Depends-on): Update conditions.
3376         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
3377         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
3378         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
3379
3380         Tests for module 'exp2l-ieee'.
3381         * modules/exp2l-ieee-tests: New file.
3382         * tests/test-exp2l-ieee.c: New file.
3383
3384         New module 'exp2l-ieee'.
3385         * modules/exp2l-ieee: New file.
3386
3387         Tests for module 'exp2-ieee'.
3388         * modules/exp2-ieee-tests: New file.
3389         * tests/test-exp2-ieee.c: New file.
3390
3391         New module 'exp2-ieee'.
3392         * modules/exp2-ieee: New file.
3393
3394         Tests for module 'exp2f-ieee'.
3395         * modules/exp2f-ieee-tests: New file.
3396         * tests/test-exp2f-ieee.c: New file.
3397         * tests/test-exp2-ieee.h: New file.
3398
3399         New module 'exp2f-ieee'.
3400         * modules/exp2f-ieee: New file.
3401
3402 2012-03-08  Bruno Haible  <bruno@clisp.org>
3403
3404         Tests for module 'exp2l'.
3405         * modules/exp2l-tests: New file.
3406         * tests/test-exp2l.c: New file.
3407
3408         New module 'exp2l'.
3409         * lib/math.in.h (exp2l): New declaration.
3410         * lib/exp2l.c: New file.
3411         * lib/expl-table.c: New file, extracted from lib/expl.c.
3412         * lib/expl.c (gl_expl_table): New declaration.
3413         (expl): Remove expl_table. Update reference.
3414         * m4/exp2l.m4: New file.
3415         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
3416         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
3417         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
3418         * modules/exp2l: New file.
3419         * modules/expl (Files): Add lib/expl-table.c.
3420         (configure.ac): Compile also expl-table.c.
3421         * tests/test-math-c++.cc: Check the declaration of exp2l.
3422         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
3423         problem.
3424
3425 2012-03-08  Bruno Haible  <bruno@clisp.org>
3426
3427         Tests for module 'exp2f'.
3428         * modules/exp2f-tests: New file.
3429         * tests/test-exp2f.c: New file.
3430
3431         New module 'exp2f'.
3432         * lib/math.in.h (exp2f): New declaration.
3433         * lib/exp2f.c: New file.
3434         * m4/exp2f.m4: New file.
3435         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
3436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
3437         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
3438         * modules/exp2f: New file.
3439         * tests/test-math-c++.cc: Check the declaration of exp2f.
3440         * doc/posix-functions/exp2f.texi: Mention the new module and the
3441         IRIX problem.
3442
3443 2012-03-08  Bruno Haible  <bruno@clisp.org>
3444
3445         Tests for module 'exp2'.
3446         * modules/exp2-tests: New file.
3447         * tests/test-exp2.c: New file.
3448         * tests/test-exp2.h: New file.
3449
3450         New module 'exp2'.
3451         * lib/math.in.h (exp2): New declaration.
3452         * lib/exp2.c: New file.
3453         * m4/exp2.m4: New file.
3454         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
3455         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
3456         REPLACE_EXP2.
3457         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
3458         REPLACE_EXP2.
3459         * modules/exp2: New file.
3460         * tests/test-math-c++.cc: Check the declaration of exp2.
3461         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
3462         and OpenBSD problems.
3463
3464 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
3465
3466         savedir: fix comment typo
3467         * lib/savedir.c (savedirstream): Fix typo in comment.
3468
3469 2012-03-08  Bruno Haible  <bruno@clisp.org>
3470
3471         test-readtokens.c: use const; remove unwarranted cast
3472         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
3473
3474 2012-03-08  Bruno Haible  <bruno@clisp.org>
3475
3476         fmal: Avoid compilation error on AIX.
3477         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
3478         AIX 5.2..7.1.
3479
3480 2012-03-08  Bruno Haible  <bruno@clisp.org>
3481
3482         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
3483         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
3484         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
3485         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
3486         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
3487         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
3488         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
3489
3490 2012-03-08  Bruno Haible  <bruno@clisp.org>
3491
3492         remainderf: Override buggy system function on IRIX 6.5.
3493         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
3494         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
3495         when it exists.
3496         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
3497
3498 2012-03-08  Jim Meyering  <meyering@redhat.com>
3499
3500         test-readtokens.c: avoid const-related compilation warnings
3501         * tests/test-readtokens.c: Avoid const-related compilation warnings.
3502
3503 2012-03-07  Jim Meyering  <meyering@redhat.com>
3504             Bruno Haible  <bruno@clisp.org>
3505
3506         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
3507         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
3508         tests/randomd.c.
3509         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
3510         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
3511         tests/randoml.c.
3512         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
3513
3514 2012-03-07  Bruno Haible  <bruno@clisp.org>
3515
3516         expm1l: Avoid compilation error on AIX.
3517         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
3518         AIX 5.2..7.1.
3519
3520 2012-03-07  Bruno Haible  <bruno@clisp.org>
3521
3522         expm1l: Don't override undeclared system function on IRIX 6.5.
3523         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
3524         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
3525         it exists. Set HAVE_DECL_EXPM1L.
3526         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
3527         HAVE_EXPM1L.
3528         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
3529         HAVE_EXPM1L.
3530         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
3531
3532 2012-03-07  Bruno Haible  <bruno@clisp.org>
3533
3534         remainderl: Don't override undeclared system function on IRIX 6.5.
3535         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
3536         HAVE_REMAINDERL.
3537         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
3538         declared when it exists. Set HAVE_DECL_REMAINDERL.
3539         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
3540         not HAVE_REMAINDERL.
3541         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
3542         HAVE_REMAINDERL.
3543         * doc/posix-functions/remainderl.texi: Mention missing declaration
3544         problem.
3545
3546 2012-03-07  Bruno Haible  <bruno@clisp.org>
3547
3548         rintf: Don't override undeclared system function on IRIX 6.5.
3549         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
3550         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
3551         exists. Set HAVE_DECL_RINTF.
3552         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
3553         HAVE_RINTF.
3554         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
3555         HAVE_RINTF.
3556         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
3557
3558 2012-03-07  Bruno Haible  <bruno@clisp.org>
3559
3560         roundl: Avoid compilation error on AIX.
3561         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
3562         AIX 5.2..7.1.
3563
3564 2012-03-07  Bruno Haible  <bruno@clisp.org>
3565
3566         roundl: Don't override undeclared system function on IRIX 6.5.
3567         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
3568         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
3569         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3570         * modules/roundl (configure.ac): For replacement code, test
3571         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
3572         (Depends-on): Update conditions.
3573         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
3574
3575 2012-03-07  Bruno Haible  <bruno@clisp.org>
3576
3577         roundf: Don't override undeclared system function on IRIX 6.5.
3578         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
3579         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
3580         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3581         * modules/roundf (configure.ac): For replacement code, test
3582         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
3583         (Depends-on): Update conditions.
3584         * modules/roundf-ieee (Depends-on): Update conditions.
3585         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
3586
3587 2012-03-07  Bruno Haible  <bruno@clisp.org>
3588
3589         round: Don't override undeclared system function on IRIX 6.5.
3590         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
3591         argument.
3592         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
3593         also when it is not declared. Set HAVE_ROUND. For replacement code,
3594         test HAVE_ROUND, not HAVE_DECL_ROUND.
3595         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
3596         not HAVE_DECL_ROUND.
3597         (Depends-on): Update conditions.
3598         * modules/round-ieee (Depends-on): Update conditions.
3599         * doc/posix-functions/round.texi: Mention the IRIX problem.
3600
3601 2012-03-07  Bruno Haible  <bruno@clisp.org>
3602
3603         copysignf: Don't override undeclared system function on IRIX 6.5.
3604         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
3605         HAVE_COPYSIGNF.
3606         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
3607         declared when it exists. Set HAVE_DECL_COPYSIGNF.
3608         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
3609         not HAVE_COPYSIGNF.
3610         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
3611         HAVE_COPYSIGNF.
3612         * doc/posix-functions/copysignf.texi: Mention missing declaration
3613         problem.
3614
3615 2012-03-07  Jim Meyering  <meyering@redhat.com>
3616
3617         readtokens: add tests
3618         * modules/readtokens-tests: New file.
3619         * tests/test-readtokens.c: New file.
3620
3621 2012-03-07  Jim Meyering  <meyering@redhat.com>
3622
3623         quotearg: the module must now include quote.h
3624         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
3625         So must the module.
3626         * modules/quotearg (Files): Add quote.h.
3627
3628 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
3629
3630         readtokens: avoid core dumps with unusual calling patterns
3631         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
3632         * lib/readtokens.c: Include limits.h.
3633         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
3634         (readtoken): Don't cache the delimiters; the cache code was buggy
3635         if !delim && saved_delim, or if the new n_delim differs from the old.
3636         Also, it wasn't thread-safe.
3637
3638 2012-03-07  Bruno Haible  <bruno@clisp.org>
3639
3640         quote: Adhere to common module description layout.
3641         * modules/quote (Makefile.am): Add back empty section.
3642
3643 2012-03-06  Akim Demaille  <demaille@gostai.com>
3644
3645         quote: fuse into quotearg
3646         This patch is made for the benefit of Bison.
3647         quote does not leave the choice of the quoting style to the user.
3648         quoting_style provides poor customizability, yet quoting_options,
3649         which is very rich, is hidden inside quotearg.c.  So in order to
3650         allow quote customization, move its implementation to quotearg.c.
3651         * lib/quote.c: Remove.
3652         * modules/quote: Adjust.
3653         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
3654         warning: provide all the members of literal structs.
3655         (quote_quoting_options): New.
3656         (quote, quote_n): Import implementation from quote.c.
3657         * lib/quote.h: Import the comments from quote.c.
3658         (quote_quoting_options): New.
3659
3660 2012-03-06  Bruno Haible  <bruno@clisp.org>
3661
3662         Tests for module 'expm1l-ieee'.
3663         * modules/expm1l-ieee-tests: New file.
3664         * tests/test-expm1l-ieee.c: New file.
3665
3666         New module 'expm1l-ieee'.
3667         * modules/expm1l-ieee: New file.
3668
3669         Tests for module 'expm1f-ieee'.
3670         * modules/expm1f-ieee-tests: New file.
3671         * tests/test-expm1f-ieee.c: New file.
3672
3673         New module 'expm1f-ieee'.
3674         * modules/expm1f-ieee: New file.
3675
3676         Tests for module 'expm1-ieee'.
3677         * modules/expm1-ieee-tests: New file.
3678         * tests/test-expm1-ieee.c: New file.
3679         * tests/test-expm1-ieee.h: New file.
3680
3681         New module 'expm1-ieee'.
3682         * modules/expm1-ieee: New file.
3683         * m4/expm1-ieee.m4: New file.
3684         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
3685         whether expm1 works with a minus zero argument. Replace it if not.
3686         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
3687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
3688         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
3689         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
3690         (Depends-on): Update conditions.
3691         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
3692         AIX problem.
3693
3694 2012-03-06  Bruno Haible  <bruno@clisp.org>
3695
3696         Work around expm1f bug on IRIX 6.5.
3697         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
3698         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
3699         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
3700         not work.
3701         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
3702         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
3703         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
3704         (Depends-on): Update conditions.
3705         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
3706
3707 2012-03-06  Bruno Haible  <bruno@clisp.org>
3708
3709         Tests for module 'expm1l'.
3710         * modules/expm1l-tests: New file.
3711         * tests/test-expm1l.c: New file.
3712
3713         New module 'expm1l'.
3714         * lib/math.in.h (expm1l): New declaration.
3715         * lib/expm1l.c: New file.
3716         * m4/expm1l.m4: New file.
3717         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
3718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
3719         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
3720         * modules/expm1l: New file.
3721         * tests/test-math-c++.cc: Check the declaration of expm1l.
3722         * doc/posix-functions/expm1l.texi: Mention the new module.
3723
3724 2012-03-06  Bruno Haible  <bruno@clisp.org>
3725
3726         Tests for module 'expm1f'.
3727         * modules/expm1f-tests: New file.
3728         * tests/test-expm1f.c: New file.
3729
3730         New module 'expm1f'.
3731         * lib/math.in.h (expm1f): New declaration.
3732         * lib/expm1f.c: New file.
3733         * m4/expm1f.m4: New file.
3734         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
3735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
3736         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
3737         * modules/expm1f: New file.
3738         * tests/test-math-c++.cc: Check the declaration of expm1f.
3739         * doc/posix-functions/expm1f.texi: Mention the new module.
3740
3741 2012-03-06  Bruno Haible  <bruno@clisp.org>
3742
3743         Tests for module 'expm1'.
3744         * modules/expm1-tests: New file.
3745         * tests/test-expm1.c: New file.
3746         * tests/test-expm1.h: New file.
3747
3748         New module 'expm1'.
3749         * lib/math.in.h (expm1): New declaration.
3750         * lib/expm1.c: New file.
3751         * m4/expm1.m4: New file.
3752         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
3753         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
3754         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
3755         * modules/expm1: New file.
3756         * tests/test-math-c++.cc: Check the declaration of expm1.
3757         * doc/posix-functions/expm1.texi: Mention the new module.
3758
3759 2012-03-06  Bruno Haible  <bruno@clisp.org>
3760
3761         math: Ensure declarations of math functions.
3762         * modules/acosf (Depends-on): Add 'extensions'.
3763         * modules/asinf (Depends-on): Likewise.
3764         * modules/atan2f (Depends-on): Likewise.
3765         * modules/atanf (Depends-on): Likewise.
3766         * modules/cbrt (Depends-on): Likewise.
3767         * modules/cbrtf (Depends-on): Likewise.
3768         * modules/cbrtl (Depends-on): Likewise.
3769         * modules/copysignf (Depends-on): Likewise.
3770         * modules/copysignl (Depends-on): Likewise.
3771         * modules/cosf (Depends-on): Likewise.
3772         * modules/coshf (Depends-on): Likewise.
3773         * modules/expf (Depends-on): Likewise.
3774         * modules/fabsf (Depends-on): Likewise.
3775         * modules/fabsl (Depends-on): Likewise.
3776         * modules/fmaf (Depends-on): Likewise.
3777         * modules/fmal (Depends-on): Likewise.
3778         * modules/fmodf (Depends-on): Likewise.
3779         * modules/fmodl (Depends-on): Likewise.
3780         * modules/frexpf (Depends-on): Likewise.
3781         * modules/frexpl (Depends-on): Likewise.
3782         * modules/hypot (Depends-on): Likewise.
3783         * modules/hypotf (Depends-on): Likewise.
3784         * modules/hypotl (Depends-on): Likewise.
3785         * modules/ldexpf (Depends-on): Likewise.
3786         * modules/ldexpl (Depends-on): Likewise.
3787         * modules/log10f (Depends-on): Likewise.
3788         * modules/log10l (Depends-on): Likewise.
3789         * modules/log1p (Depends-on): Likewise.
3790         * modules/logb (Depends-on): Likewise.
3791         * modules/logf (Depends-on): Likewise.
3792         * modules/modff (Depends-on): Likewise.
3793         * modules/modfl (Depends-on): Likewise.
3794         * modules/powf (Depends-on): Likewise.
3795         * modules/remainderf (Depends-on): Likewise.
3796         * modules/remainderl (Depends-on): Likewise.
3797         * modules/rintf (Depends-on): Likewise.
3798         * modules/rintl (Depends-on): Likewise.
3799         * modules/sinf (Depends-on): Likewise.
3800         * modules/sinhf (Depends-on): Likewise.
3801         * modules/sqrtf (Depends-on): Likewise.
3802         * modules/tanf (Depends-on): Likewise.
3803         * modules/tanhf (Depends-on): Likewise.
3804         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
3805         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
3806         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
3807         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
3808         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
3809         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
3810         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
3811         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
3812         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
3813         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
3814         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
3815         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
3816         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
3817         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
3818         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
3819         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
3820         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
3821         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
3822         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
3823         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
3824         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
3825         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
3826         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
3827         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
3828         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
3829         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
3830         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
3831         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
3832         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
3833         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
3834         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
3835         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
3836         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
3837         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
3838         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
3839         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
3840         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
3841         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
3842         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
3843         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
3844         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
3845
3846 2012-03-06  Bruno Haible  <bruno@clisp.org>
3847
3848         math: Update module names in warnings.
3849         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
3850         tanl): Use specific module name in warn-on-use warning.
3851
3852 2012-03-06  Bruno Haible  <bruno@clisp.org>
3853
3854         expl: Simplify computation.
3855         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
3856
3857 2012-03-05  Bruno Haible  <bruno@clisp.org>
3858
3859         exp* tests: More tests.
3860         * tests/test-exp.h: New file.
3861         * tests/test-exp.c: Include <float.h> and test-exp.h.
3862         (main): Invoke test_function.
3863         * tests/test-expf.c: Include <float.h> and test-exp.h.
3864         (main): Invoke test_function.
3865         * tests/test-expl.c: Include <float.h> and test-exp.h.
3866         (main): Invoke test_function.
3867         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
3868         (Makefile.am): Add randomd.c to test_exp_SOURCES.
3869         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
3870         (Makefile.am): Add randomf.c to test_expf_SOURCES.
3871         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
3872         (Depends-on): Add 'float'.
3873         (Makefile.am): Add randoml.c to test_expl_SOURCES.
3874
3875         expl: Fix precision of computed result.
3876         * lib/expl.c: Completely rewritten.
3877         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
3878         (Maintainer): Add me.
3879         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
3880
3881 2012-03-05  Bruno Haible  <bruno@clisp.org>
3882
3883         cbrt* tests: More tests.
3884         * tests/test-cbrt.h: New file.
3885         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
3886         (main): Invoke test_function.
3887         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
3888         (main): Invoke test_function.
3889         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
3890         (main): Invoke test_function.
3891         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
3892         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
3893         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
3894         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
3895         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
3896         (Depends-on): Add 'float'.
3897         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
3898
3899 2012-03-05  Bruno Haible  <bruno@clisp.org>
3900
3901         hypot* tests: More tests.
3902         * tests/test-hypot.h: New file, partially extracted from
3903         tests/test-hypotl.c.
3904         * tests/test-hypot.c: Include test-hypot.h.
3905         (main): Invoke test_function.
3906         * tests/test-hypotf.c: Include test-hypot.h.
3907         (main): Invoke test_function.
3908         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
3909         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
3910         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
3911         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
3912         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
3913         tests/randomf.c.
3914         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
3915         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
3916         tests/randoml.c.
3917         (Depends-on): Add 'fpucw', 'float'.
3918         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
3919
3920 2012-03-05  Bruno Haible  <bruno@clisp.org>
3921
3922         fpucw: Doc about FreeBSD.
3923         * lib/fpucw.h: Mention FreeBSD in comments.
3924
3925 2012-03-04  Bruno Haible  <bruno@clisp.org>
3926
3927         sqrt* tests: More tests.
3928         * tests/test-sqrt.h: New file.
3929         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
3930         (main): Invoke test_function.
3931         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
3932         (main): Invoke test_function.
3933         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
3934         (main): Invoke test_function.
3935         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
3936         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
3937         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
3938         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
3939         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
3940         (Depends-on): Add 'float'.
3941         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
3942
3943 2012-03-04  Bruno Haible  <bruno@clisp.org>
3944
3945         remainder* tests: More tests.
3946         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
3947         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
3948         (main): Invoke test_function.
3949         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
3950         (main): Invoke test_function.
3951         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
3952         (main): Invoke test_function.
3953         * modules/remainder-tests (Files): Add tests/test-remainder.h,
3954         tests/randomd.c.
3955         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
3956         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
3957         tests/randomf.c.
3958         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
3959         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
3960         tests/randoml.c.
3961         (Depends-on): Add 'float'.
3962         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
3963
3964 2012-03-04  Bruno Haible  <bruno@clisp.org>
3965
3966         remainder, remainderf, remainderl: Fix computation for large quotients.
3967         * lib/remainder.c: Completely rewritten.
3968         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
3969         USE_FLOAT.
3970         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
3971         USE_LONG_DOUBLE.
3972         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
3973         isnand, isinf. Remove round, fma.
3974         * modules/remainderf (Files): Add lib/remainder.c.
3975         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
3976         Remove roundf, fmaf.
3977         * modules/remainderl (Files): Add lib/remainder.c.
3978         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
3979         isinf. Remove roundl, fmal.
3980         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
3981         REMAINDER_LIBM.
3982         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
3983         REMAINDERF_LIBM.
3984         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
3985         REMAINDERL_LIBM.
3986
3987 2012-03-04  Bruno Haible  <bruno@clisp.org>
3988
3989         fmod* tests: More tests.
3990         * tests/test-fmod.h (my_ldexp): New function.
3991         (test_function): Reduce amount of random numbers to test. Add tests
3992         of very large quotients x / y.
3993         * tests/test-fmod.c (MAX_EXP): New macro.
3994         * tests/test-fmodf.c (MAX_EXP): Likewise.
3995         * tests/test-fmodl.c (MAX_EXP): Likewise.
3996
3997 2012-03-04  Bruno Haible  <bruno@clisp.org>
3998
3999         fmod, fmodl: Fix computation for large quotients x / y.
4000         * lib/fmod.c: Completely rewritten.
4001         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
4002         USE_LONG_DOUBLE.
4003         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
4004         isnand. Remove fma.
4005         * modules/fmodl (Files): Add lib/fmod.c.
4006         (Depends-on): Add float, isfinite, signbit, fabsl,
4007         frexpl, ldexpl, isnanl. Remove fma.
4008         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
4009         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
4010
4011 2012-03-03  Bruno Haible  <bruno@clisp.org>
4012
4013         fmod* tests: More tests.
4014         * tests/test-fmod.h: New file.
4015         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
4016         (main): Invoke test_function.
4017         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
4018         (main): Invoke test_function.
4019         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
4020         (main): Invoke test_function.
4021         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
4022         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
4023         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
4024         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
4025         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
4026         (Depends-on): Add 'float'.
4027         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
4028
4029 2012-03-03  Bruno Haible  <bruno@clisp.org>
4030
4031         rint* tests: More tests.
4032         * tests/test-rint.h: New file, partially extracted from
4033         tests/test-rintl.c.
4034         * tests/test-rint.c: Include test-rint.h.
4035         (main): Invoke test_function.
4036         * tests/test-rintf.c: Include test-rint.h.
4037         (main): Invoke test_function.
4038         * tests/test-rintl.c: Include test-rint.h.
4039         (main): Invoke test_function.
4040         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
4041         (Makefile.am): Add randomd.c to test_rint_SOURCES.
4042         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
4043         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
4044         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
4045         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
4046
4047 2012-03-03  Bruno Haible  <bruno@clisp.org>
4048
4049         modf* tests: More tests.
4050         * tests/test-modf.h: New file.
4051         * tests/test-modf.c: Include <float.h> and test-modf.h.
4052         (main): Invoke test_function.
4053         * tests/test-modff.c: Include <float.h> and test-modf.h.
4054         (main): Invoke test_function.
4055         * tests/test-modfl.c: Include <float.h> and test-modf.h.
4056         (main): Invoke test_function.
4057         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
4058         (Makefile.am): Add randomd.c to test_modf_SOURCES.
4059         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
4060         (Makefile.am): Add randomf.c to test_modff_SOURCES.
4061         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
4062         (Depends-on): Add 'float'.
4063         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
4064
4065 2012-03-03  Bruno Haible  <bruno@clisp.org>
4066
4067         fabs* tests: More tests.
4068         * tests/test-fabs.h: New file, partially extracted from
4069         tests/test-fabsl.c.
4070         * tests/test-fabs.c (RANDOM): New macro.
4071         * tests/test-fabsf.c (RANDOM): New macro.
4072         * tests/test-fabsl.c (RANDOM): New macro.
4073         * modules/fabs-tests (Files): Add tests/randomd.c.
4074         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
4075         * modules/fabsf-tests (Files): Add tests/randomf.c.
4076         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
4077         * modules/fabsl-tests (Files): Add tests/randoml.c.
4078         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
4079
4080 2012-03-03  Bruno Haible  <bruno@clisp.org>
4081
4082         ldexp* tests: More tests.
4083         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
4084         * tests/test-ldexp.c (RANDOM): New macro.
4085         * tests/test-ldexpf.c (RANDOM): New macro.
4086         * tests/test-ldexpl.c (RANDOM): New macro.
4087         * modules/ldexp-tests (Files): Add tests/randomd.c.
4088         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
4089         * modules/ldexpf-tests (Files): Add tests/randomf.c.
4090         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
4091         * modules/ldexpl-tests (Files): Add tests/randoml.c.
4092         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
4093
4094 2012-03-03  Bruno Haible  <bruno@clisp.org>
4095
4096         frexp* tests: More tests.
4097         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
4098         * tests/test-frexp.c (RANDOM): New macro.
4099         * tests/test-frexpf.c (RANDOM): New macro.
4100         * tests/test-frexpl.c (RANDOM): New macro.
4101         * modules/frexp-tests (Files): Add tests/randomd.c.
4102         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
4103         * modules/frexpf-tests (Files): Add tests/randomf.c.
4104         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
4105         * modules/frexpl-tests (Files): Add tests/randoml.c.
4106         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
4107
4108 2012-03-03  Bruno Haible  <bruno@clisp.org>
4109
4110         Support for pseudo-random numbers in tests.
4111         * tests/randomf.c: New file.
4112         * tests/randomd.c: New file.
4113         * tests/randoml.c: New file.
4114         * tests/macros.h (randomf, randomd, randoml): New declarations.
4115
4116 2012-03-03  Bruno Haible  <bruno@clisp.org>
4117
4118         frexp* tests: Refactor.
4119         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
4120         * tests/test-frexp.c: Include and use it.
4121         * tests/test-frexpf.c: Likewise.
4122         * tests/test-frexpl.c: Likewise.
4123         * modules/frexp-tests (Files): Add tests/test-frexp.h.
4124         * modules/frexpf-tests (Files): Likewise.
4125         * modules/frexpl-tests (Files): Likewise.
4126
4127 2012-03-02  Jim Meyering  <meyering@redhat.com>
4128
4129         maint: don't specify XZ_OPT=-9ev in dist-related rule
4130         Using xz's -9 option is warranted only if you have a very large
4131         tarball (see xz's documentation for the sizes vs. presets), and
4132         requires 64MiB of memory at decompression time.
4133         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
4134         Automake's default of just "-e" is fine.  Override on a
4135         per-package basis by setting XZ_OPT e.g., in cfg.mk.
4136
4137 2012-03-01  Eric Blake  <eblake@redhat.com>
4138
4139         maint.mk: allow announcement for non-gnulib project
4140         * maint.mk (announcement): Skip gnulib version if not used.
4141
4142 2012-03-01  Jim Meyering  <meyering@redhat.com>
4143
4144         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
4145         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
4146         envvar settings cannot interfere.  Otherwise, setting envvars like
4147         prohibit=foo require=bar, etc. would cause spurious test failures.
4148
4149 2012-03-01  Eric Blake  <eblake@redhat.com>
4150
4151         maint.mk: add per-line exclusions to prohibitions
4152         * maint.mk (_sc_search_regexp): Add $exclude parameter.
4153         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
4154         (sc_const_long_option): Use it.
4155
4156 2012-03-01  Bruno Haible  <bruno@clisp.org>
4157
4158         Tests for module 'expl-ieee'.
4159         * modules/expl-ieee-tests: New file.
4160         * tests/test-expl-ieee.c: New file.
4161
4162         New module 'expl-ieee'.
4163         * modules/expl-ieee: New file.
4164
4165         Tests for module 'exp-ieee'.
4166         * modules/exp-ieee-tests: New file.
4167         * tests/test-exp-ieee.c: New file.
4168
4169         New module 'exp-ieee'.
4170         * modules/exp-ieee: New file.
4171
4172         Tests for module 'expf-ieee'.
4173         * modules/expf-ieee-tests: New file.
4174         * tests/test-expf-ieee.c: New file.
4175         * tests/test-exp-ieee.h: New file.
4176
4177         New module 'expf-ieee'.
4178         * modules/expf-ieee: New file.
4179
4180 2012-02-29  Bruno Haible  <bruno@clisp.org>
4181
4182         cbrtl-ieee: Work around test failure on IRIX 6.5.
4183         * m4/cbrtl-ieee.m4: New file.
4184         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
4185         test whether cbrtl works with a minus zero argument. Replace it if not.
4186         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
4187         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
4188         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
4189         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
4190         (Depends-on): Update conditions.
4191         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
4192         m4/signbit.m4.
4193         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
4194         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
4195         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
4196
4197         Tests for module 'cbrtl-ieee'.
4198         * modules/cbrtl-ieee-tests: New file.
4199         * tests/test-cbrtl-ieee.c: New file.
4200
4201         New module 'cbrtl-ieee'.
4202         * modules/cbrtl-ieee: New file.
4203
4204         Tests for module 'cbrt-ieee'.
4205         * modules/cbrt-ieee-tests: New file.
4206         * tests/test-cbrt-ieee.c: New file.
4207
4208         New module 'cbrt-ieee'.
4209         * modules/cbrt-ieee: New file.
4210
4211         Tests for module 'cbrtf-ieee'.
4212         * modules/cbrtf-ieee-tests: New file.
4213         * tests/test-cbrtf-ieee.c: New file.
4214         * tests/test-cbrt-ieee.h: New file.
4215
4216         New module 'cbrtf-ieee'.
4217         * modules/cbrtf-ieee: New file.
4218
4219 2012-02-29  Bruno Haible  <bruno@clisp.org>
4220
4221         cbrtf: Work around bug in IRIX 6.5 system function.
4222         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
4223         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
4224         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
4225         work.
4226         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
4227         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
4228         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
4229         (Depends-on): Update conditions.
4230         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
4231
4232 2012-02-29  Bruno Haible  <bruno@clisp.org>
4233
4234         Tests for module 'cbrtl'.
4235         * modules/cbrtl-tests: New file.
4236         * tests/test-cbrtl.c: New file.
4237
4238         New module 'cbrtl'.
4239         * lib/math.in.h (cbrtl): New declaration.
4240         * lib/cbrtl.c: New file.
4241         * m4/cbrtl.m4: New file.
4242         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
4243         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
4244         HAVE_DECL_CBRTL.
4245         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
4246         HAVE_DECL_CBRTL.
4247         * modules/cbrtl: New file.
4248         * tests/test-math-c++.cc: Check the declaration of cbrtl.
4249         * doc/posix-functions/cbrtl.texi: Mention the new module.
4250
4251 2012-02-29  Bruno Haible  <bruno@clisp.org>
4252
4253         Tests for module 'cbrtf'.
4254         * modules/cbrtf-tests: New file.
4255         * tests/test-cbrtf.c: New file.
4256
4257         New module 'cbrtf'.
4258         * lib/math.in.h (cbrtf): New declaration.
4259         * lib/cbrtf.c: New file.
4260         * m4/cbrtf.m4: New file.
4261         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
4262         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
4263         HAVE_DECL_CBRTF.
4264         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
4265         HAVE_DECL_CBRTF.
4266         * modules/cbrtf: New file.
4267         * tests/test-math-c++.cc: Check the declaration of cbrtf.
4268         * doc/posix-functions/cbrtf.texi: Mention the new module.
4269
4270 2012-02-29  Bruno Haible  <bruno@clisp.org>
4271
4272         cbrt: Provide replacement on MSVC and Minix.
4273         * lib/math.in.h (cbrt): New declaration.
4274         * lib/cbrt.c: New file.
4275         * m4/cbrt.m4: New file.
4276         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
4277         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
4278         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
4279         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
4280         (Depends-on): Add dependencies.
4281         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
4282         * tests/test-math-c++.cc: Check the declaration of cbrt.
4283         * doc/posix-functions/cbrt.texi: Mention that the module provides a
4284         replacement.
4285
4286 2012-02-29  Bruno Haible  <bruno@clisp.org>
4287
4288         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
4289         * m4/hypotl-ieee.m4: New file.
4290         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
4291         test whether hypotl works with mixed NaN and Infinity arguments.
4292         Replace it if not.
4293         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
4294         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
4295         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
4296         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
4297         (Depends-on): Update conditions.
4298         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
4299         (Depends-on): Add hypot-ieee.
4300         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
4301         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
4302
4303         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
4304         * m4/hypotf-ieee.m4: New file.
4305         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
4306         test whether hypotf works with mixed NaN and Infinity arguments.
4307         Replace it if not.
4308         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
4309         (Depends-on): Add hypot-ieee.
4310         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
4311         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
4312
4313         hypot-ieee: Work around test failure on OSF/1 and native Windows.
4314         * lib/math.in.h (hypot): New declaration.
4315         * lib/hypot.c: New file.
4316         * m4/hypot-ieee.m4: New file.
4317         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
4318         whether hypot works with mixed NaN and Infinity arguments. Replace it
4319         if not.
4320         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
4321         REPLACE_HYPOT.
4322         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
4323         * modules/hypot (Files): Add lib/hypot.c.
4324         (Depends-on): Add dependencies.
4325         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
4326         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
4327         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
4328         * tests/test-math-c++.cc: Check the declaration of hypot.
4329         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
4330
4331         Tests for module 'hypotl-ieee'.
4332         * modules/hypotl-ieee-tests: New file.
4333         * tests/test-hypotl-ieee.c: New file.
4334
4335         New module 'hypotl-ieee'.
4336         * modules/hypotl-ieee: New file.
4337
4338         Tests for module 'hypot-ieee'.
4339         * modules/hypot-ieee-tests: New file.
4340         * tests/test-hypot-ieee.c: New file.
4341
4342         New module 'hypot-ieee'.
4343         * modules/hypot-ieee: New file.
4344
4345         Tests for module 'hypotf-ieee'.
4346         * modules/hypotf-ieee-tests: New file.
4347         * tests/test-hypotf-ieee.c: New file.
4348         * tests/test-hypot-ieee.h: New file.
4349
4350         New module 'hypotf-ieee'.
4351         * modules/hypotf-ieee: New file.
4352
4353 2012-02-29  Bruno Haible  <bruno@clisp.org>
4354
4355         Remove unused variables.
4356         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
4357         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
4358         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
4359         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
4360
4361 2012-02-29  Eric Blake  <eblake@redhat.com>
4362
4363         termios: fix pid_t always, not just for tcgetsid
4364         * doc/posix-headers/termios.texi (termios.h): Mention problem.
4365         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
4366         just when building tcgetsid.
4367
4368 2012-02-29  Bruno Haible  <bruno@clisp.org>
4369
4370         Tests for module 'hypotl'.
4371         * modules/hypotl-tests: New file.
4372         * tests/test-hypotl.c: New file.
4373
4374         New module 'hypotl'.
4375         * lib/math.in.h (hypotl): New declaration.
4376         * lib/hypotl.c: New file.
4377         * m4/hypotl.m4: New file.
4378         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
4380         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
4381         * modules/hypotl: New file.
4382         * tests/test-math-c++.cc: Check the hypotl declaration.
4383         * doc/posix-functions/hypotl.texi: Mention the new module.
4384
4385 2012-02-29  Eric Blake  <eblake@redhat.com>
4386
4387         tcgetsid: fix cygwin header bug
4388         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
4389
4390         docs: update cygwin progress
4391         * doc/posix-functions/llround.texi (llround): Added in cygwin
4392         1.7.8.
4393         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
4394         * doc/glibc-functions/program_invocation_name.texi
4395         (program_invocation_name): Likewise.
4396         * doc/glibc-functions/program_invocation_short_name.texi
4397         (program_invocation_short_name): Likewise.
4398         * doc/glibc-functions/madvise.texi (madvise): Likewise.
4399         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
4400         Likewise.
4401         * doc/posix-functions/pthread_spin_destroy.texi
4402         (pthread_spin_destroy): Added in cygwin 1.7.10.
4403         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
4404         Likewise.
4405         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
4406         Likewise.
4407         * doc/posix-functions/pthread_spin_trylock.texi
4408         (pthread_spin_trylock): Likewise.
4409         * doc/posix-functions/pthread_spin_unlock.texi
4410         (pthread_spin_unlock): Likewise.
4411         * doc/posix-functions/pthread_setschedprio.texi
4412         (pthread_setschedprio): Likewise.
4413         * doc/posix-functions/pthread_attr_getstack.texi
4414         (pthread_attr_getstack): Likewise.
4415         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
4416         (pthread_attr_getstackaddr): Likewise.
4417         * doc/glibc-functions/pthread_getattr_np.texi
4418         (pthread_getattr_np): Likewise.
4419         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
4420         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
4421         * doc/posix-functions/clock_settime.texi (clock_settime):
4422         Likewise.
4423         * doc/posix-functions/pthread_attr_getguardsize.texi
4424         (pthread_attr_getguardsize): Likewise.
4425         * doc/posix-functions/pthread_attr_setguardsize.texi
4426         (pthread_attr_setguardsize): Likewise.
4427         * doc/posix-functions/pthread_attr_setstack.texi
4428         (pthread_attr_setstack): Likewise.
4429         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
4430         (pthread_attr_setstackaddr): Likewise.
4431         * doc/posix-functions/clock_getcpuclockid.texi
4432         (clock_getcpuclockid): Likewise.
4433         * doc/posix-functions/pthread_getcpuclockid.texi
4434         (pthread_getcpuclockid): Likewise.
4435         * doc/glibc-functions/error.texi (error): Likewise.
4436         * doc/glibc-functions/error_at_line.texi (error_at_line):
4437         Likewise.
4438         * doc/glibc-functions/error_message_count.texi
4439         (error_message_count): Likewise.
4440         * doc/glibc-functions/error_one_per_line.texi
4441         (error_one_per_line): Likewise.
4442         * doc/glibc-functions/error_print_progname.texi
4443         (error_print_progname): Likewise.
4444         * doc/posix-functions/pthread_condattr_getclock.texi
4445         (pthread_condattr_getclock): Likewise.
4446         * doc/posix-functions/pthread_condattr_setclock.texi
4447         (pthread_condattr_setclock): Likewise.
4448         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
4449         Likewise.
4450         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
4451         * doc/glibc-functions/getpt.texi (getpt): Likewise.
4452         * doc/glibc-functions/get_current_dir_name.texi
4453         (get_current_dir_name): Likewise.
4454         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
4455         Likewise.
4456         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
4457         wrong return type.
4458         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
4459         1.7.11.
4460
4461 2012-02-29  Bruno Haible  <bruno@clisp.org>
4462
4463         Tests for module 'hypotf'.
4464         * modules/hypotf-tests: New file.
4465         * tests/test-hypotf.c: New file.
4466
4467         New module 'hypotf'.
4468         * lib/math.in.h (hypotf): New declaration.
4469         * lib/hypotf.c: New file.
4470         * m4/hypotf.m4: New file.
4471         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
4472         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
4473         REPLACE_HYPOTF.
4474         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
4475         REPLACE_HYPOTF.
4476         * modules/hypotf: New file.
4477         * tests/test-math-c++.cc: Check the hypotf declaration.
4478         * doc/posix-functions/hypotf.texi: Mention the new module.
4479
4480         hypot: Prepare for hypotf module.
4481         * m4/hypot.m4: New file.
4482         * modules/hypot (Files): Add m4/hypot.m4.
4483         (configure.ac): Invoke gl_FUNC_HYPOT.
4484
4485 2012-02-29  Bruno Haible  <bruno@clisp.org>
4486
4487         hypot tests: More tests.
4488         * tests/test-hypot.c: Include <float.h>.
4489         (main): Add tests about overflow and underflow.
4490
4491 2012-02-29  Bruno Haible  <bruno@clisp.org>
4492
4493         math code: Add comments.
4494         * lib/acosl.c: Add comment about related glibc source files.
4495         * lib/asinl.c: Likewise.
4496         * lib/atanl.c: Likewise.
4497         * lib/expl.c: Likewise.
4498         * lib/logl.c: Likewise.
4499         * lib/sincosl.c: Likewise.
4500         * lib/sinl.c: Likewise.
4501         * lib/tanl.c: Likewise.
4502         * lib/trigl.c: Likewise.
4503         * lib/cosl.c: Likewise. Fix comments.
4504
4505 2012-02-28  Bruno Haible  <bruno@clisp.org>
4506
4507         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
4508         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
4509         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
4510         HUGE_VALL are defined.
4511         (numeric_equald): Renamed from numeric_equal.
4512         (numeric_equalf, numeric_equall): New functions.
4513         (main): Check also HUGE_VALF, HUGE_VALL.
4514         * modules/math-tests (Files): Add tests/macros.h.
4515         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
4516         HUGE_VALL.
4517
4518 2012-02-28  Bruno Haible  <bruno@clisp.org>
4519
4520         doc: Move ISO C11 feature notes into POSIX chapters.
4521         * doc/posix-functions/aligned_alloc.texi: Renamed from
4522         doc/glibc-functions/aligned_alloc.texi.
4523         * doc/posix-functions/quick_exit.texi: Renamed from
4524         doc/glibc-functions/quick_exit.texi.
4525         * doc/posix-headers/uchar.texi: Renamed from
4526         doc/glibc-headers/uchar.texi.
4527         * doc/posix-functions/c16rtomb.texi: Renamed from
4528         doc/glibc-functions/c16rtomb.texi.
4529         * doc/posix-functions/c32rtomb.texi: Renamed from
4530         doc/glibc-functions/c32rtomb.texi.
4531         * doc/posix-functions/mbrtoc16.texi: Renamed from
4532         doc/glibc-functions/mbrtoc16.texi.
4533         * doc/posix-functions/mbrtoc32.texi: Renamed from
4534         doc/glibc-functions/mbrtoc32.texi.
4535         * doc/gnulib.texi: Update.
4536         (Glibc uchar.h): Remove section.
4537         Suggested by Eric Blake.
4538
4539 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
4540
4541         stdnoreturn: port to MSVC better
4542         MSVC standard headers use __declspec(noreturn), so #define noreturn
4543         to empty on that platform.  Reported by Bruno Haible in
4544         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
4545         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
4546         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
4547
4548 2012-02-28  Bruno Haible  <bruno@clisp.org>
4549
4550         doc: Mention new glibc headers and functions.
4551         * doc/glibc-headers/uchar.texi: New file.
4552         * doc/glibc-functions/aligned_alloc.texi: New file.
4553         * doc/glibc-functions/c16rtomb.texi: New file.
4554         * doc/glibc-functions/c32rtomb.texi: New file.
4555         * doc/glibc-functions/clock_adjtime.texi: New file.
4556         * doc/glibc-functions/fanotify_init.texi: New file.
4557         * doc/glibc-functions/fanotify_mark.texi: New file.
4558         * doc/glibc-functions/inet6_opt_append.texi: New file.
4559         * doc/glibc-functions/inet6_opt_find.texi: New file.
4560         * doc/glibc-functions/inet6_opt_finish.texi: New file.
4561         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
4562         * doc/glibc-functions/inet6_opt_init.texi: New file.
4563         * doc/glibc-functions/inet6_opt_next.texi: New file.
4564         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
4565         * doc/glibc-functions/inet6_rth_add.texi: New file.
4566         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
4567         * doc/glibc-functions/inet6_rth_init.texi: New file.
4568         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
4569         * doc/glibc-functions/inet6_rth_segments.texi: New file.
4570         * doc/glibc-functions/inet6_rth_space.texi: New file.
4571         * doc/glibc-functions/login.texi: New file.
4572         * doc/glibc-functions/mbrtoc16.texi: New file.
4573         * doc/glibc-functions/mbrtoc32.texi: New file.
4574         * doc/glibc-functions/name_to_handle_at.texi: New file.
4575         * doc/glibc-functions/ntp_gettimex.texi: New file.
4576         * doc/glibc-functions/open_by_handle_at.texi: New file.
4577         * doc/glibc-functions/prlimit.texi: New file.
4578         * doc/glibc-functions/process_vm_readv.texi: New file.
4579         * doc/glibc-functions/process_vm_writev.texi: New file.
4580         * doc/glibc-functions/recvmmsg.texi: New file.
4581         * doc/glibc-functions/scandirat.texi: New file.
4582         * doc/glibc-functions/sendmmsg.texi: New file.
4583         * doc/glibc-functions/setns.texi: New file.
4584         * doc/glibc-functions/timespec_get.texi: New file.
4585         * doc/gnulib.texi: Include them.
4586         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
4587         sections.
4588         Reported by Eric Blake.
4589
4590 2012-02-28  Bruno Haible  <bruno@clisp.org>
4591
4592         Avoid compilation errors with MSVC option -fp:strict.
4593         * lib/floor.c: Use MSVC specific pragma fenv_access.
4594         * lib/ceil.c: Likewise.
4595         * lib/trunc.c: Likewise.
4596         * lib/round.c: Likewise.
4597         * lib/rint.c: Likewise.
4598         * lib/fma.c: Likewise.
4599         * lib/integer_length.c: Likewise.
4600         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4601         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4602         * tests/test-floor2.c: Likewise.
4603         * tests/test-floorf2.c: Likewise.
4604         * tests/test-ceil2.c: Likewise.
4605         * tests/test-ceilf2.c: Likewise.
4606         * tests/test-trunc2.c: Likewise.
4607         * tests/test-truncf2.c: Likewise.
4608         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4609
4610 2012-02-27  Bruno Haible  <bruno@clisp.org>
4611
4612         Tests for module 'sqrtl-ieee'.
4613         * modules/sqrtl-ieee-tests: New file.
4614         * tests/test-sqrtl-ieee.c: New file.
4615
4616         New module 'sqrtl-ieee'.
4617         * modules/sqrtl-ieee: New file.
4618
4619         Tests for module 'sqrt-ieee'.
4620         * modules/sqrt-ieee-tests: New file.
4621         * tests/test-sqrt-ieee.c: New file.
4622
4623         New module 'sqrt-ieee'.
4624         * modules/sqrt-ieee: New file.
4625
4626         Tests for module 'sqrtf-ieee'.
4627         * modules/sqrtf-ieee-tests: New file.
4628         * tests/test-sqrtf-ieee.c: New file.
4629         * tests/test-sqrt-ieee.h: New file.
4630
4631         New module 'sqrtf-ieee'.
4632         * modules/sqrtf-ieee: New file.
4633
4634 2012-02-27  Bruno Haible  <bruno@clisp.org>
4635
4636         remainderl-ieee: Work around test failure on OSF/1.
4637         * m4/remainderl-ieee.m4: New file.
4638         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
4639         present, test whether remainderl works with a zero second argument.
4640         Replace it if not.
4641         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
4642         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
4643         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
4644         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
4645         (Depends-on): Update conditions.
4646         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
4647         (Depends-on): Add remainder-ieee.
4648         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
4649         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
4650         module.
4651
4652         remainderf-ieee: Work around test failure on OSF/1.
4653         * m4/remainderf-ieee.m4: New file.
4654         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
4655         present, test whether remainderf works with a zero second argument.
4656         Replace it if not.
4657         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
4658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
4659         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
4660         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
4661         (Depends-on): Update conditions.
4662         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
4663         (Depends-on): Add remainder-ieee.
4664         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
4665         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
4666         module.
4667
4668         remainder-ieee: Work around test failure on OSF/1.
4669         * m4/remainder-ieee.m4: New file.
4670         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
4671         present, test whether remainder works with a zero second argument.
4672         Replace it if not.
4673         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
4674         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
4675         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
4676         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
4677         (Depends-on): Update dependencies.
4678         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
4679         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
4680         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
4681
4682         Tests for module 'remainderl-ieee'.
4683         * modules/remainderl-ieee-tests: New file.
4684         * tests/test-remainderl-ieee.c: New file.
4685
4686         New module 'remainderl-ieee'.
4687         * modules/remainderl-ieee: New file.
4688
4689         Tests for module 'remainder-ieee'.
4690         * modules/remainder-ieee-tests: New file.
4691         * tests/test-remainder-ieee.c: New file.
4692
4693         New module 'remainder-ieee'.
4694         * modules/remainder-ieee: New file.
4695
4696         Tests for module 'remainderf-ieee'.
4697         * modules/remainderf-ieee-tests: New file.
4698         * tests/test-remainderf-ieee.c: New file.
4699         * tests/test-remainder-ieee.h: New file.
4700
4701         New module 'remainderf-ieee'.
4702         * modules/remainderf-ieee: New file.
4703
4704 2012-02-27  Bruno Haible  <bruno@clisp.org>
4705
4706         modff, modfl: Fix configure syntax error.
4707         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
4708         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
4709
4710 2012-02-27  Bruno Haible  <bruno@clisp.org>
4711
4712         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
4713         * m4/fmodl-ieee.m4: New file.
4714         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
4715         whether fmodl works with zero arguments. Replace it if not.
4716         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
4717         (Depends-on): Add fmod-ieee.
4718         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
4719         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
4720
4721         fmodf-ieee: Work around test failure on OSF/1.
4722         * m4/fmodf-ieee.m4: New file.
4723         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
4724         whether fmodf works with zero arguments. Replace it if not.
4725         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
4726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
4727         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
4728         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
4729         (Depends-on): Update dependencies.
4730         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
4731         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
4732         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
4733
4734         fmodf-ieee: Work around test failure on MSVC 9.
4735         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
4736         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
4737
4738         fmod-ieee: Work around test failures on OSF/1, mingw.
4739         * m4/fmod-ieee.m4: New file.
4740         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
4741         whether fmod works with zero arguments. Replace it if not.
4742         * lib/math.in.h (fmod): New declaration.
4743         * lib/fmod.c: New file.
4744         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
4745         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
4746         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
4747         * modules/fmod (Files): Add lib/fmod.c.
4748         (Depends-on): Add math, isinf, trunc, fma.
4749         (configure.ac): Arrange to compile lib/fmod.c if needed.
4750         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
4751         m4/signbit.m4.
4752         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
4753         * tests/test-math-c++.cc: Check the declaration of fmod.
4754         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
4755
4756         fmodl-ieee: Fix test failures.
4757         * lib/fmodl.c (fmodl): Treat Inf specially.
4758         * modules/fmodl (Depends-on): Add isinf.
4759
4760         Tests for module 'fmodl-ieee'.
4761         * modules/fmodl-ieee-tests: New file.
4762         * tests/test-fmodl-ieee.c: New file.
4763
4764         New module 'fmodl-ieee'.
4765         * modules/fmodl-ieee: New file.
4766
4767         Tests for module 'fmod-ieee'.
4768         * modules/fmod-ieee-tests: New file.
4769         * tests/test-fmod-ieee.c: New file.
4770
4771         New module 'fmod-ieee'.
4772         * modules/fmod-ieee: New file.
4773
4774         Tests for module 'fmodf-ieee'.
4775         * modules/fmodf-ieee-tests: New file.
4776         * tests/test-fmodf-ieee.c: New file.
4777         * tests/test-fmod-ieee.h: New file.
4778
4779         New module 'fmodf-ieee'.
4780         * modules/fmodf-ieee: New file.
4781
4782 2012-02-27  Bruno Haible  <bruno@clisp.org>
4783
4784         Tests for module 'rintl-ieee'.
4785         * modules/rintl-ieee-tests: New file.
4786         * tests/test-rintl-ieee.c: New file.
4787
4788         New module 'rintl-ieee'.
4789         * modules/rintl-ieee: New file.
4790
4791         Tests for module 'rint-ieee'.
4792         * modules/rint-ieee-tests: New file.
4793         * tests/test-rint-ieee.c: New file.
4794
4795         New module 'rint-ieee'.
4796         * modules/rint-ieee: New file.
4797
4798         Tests for module 'rintf-ieee'.
4799         * modules/rintf-ieee-tests: New file.
4800         * tests/test-rintf-ieee.c: New file.
4801         * tests/test-rint-ieee.h: New file.
4802
4803         New module 'rintf-ieee'.
4804         * modules/rintf-ieee: New file.
4805
4806 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
4807
4808         regex: re_search etc. should return -2 when memory exhausted
4809         This bug was uncovered when testing 'grep'.  Without the fix,
4810         re_search and friends return -1 when memory is exhausted, but -1
4811         means no match, and this causes grep to falsely report no-match
4812         instead of memory-exhaustion.  See
4813         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
4814         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
4815         trouble; this can occur if re_search_internal ran out of memory.
4816
4817 2012-02-26  Bruno Haible  <bruno@clisp.org>
4818
4819         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
4820         * m4/modfl-ieee.m4: New file.
4821         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
4822         whether modfl works with Inf. Replace it if not.
4823         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
4824         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
4825         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
4826         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
4827         (Depends-on): Update dependencies.
4828         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
4829         m4/signbit.m4.
4830         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
4831         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
4832
4833         modfl-ieee: Fix dependencies.
4834         * modules/modfl-ieee (Depends-on): Add modf-ieee.
4835
4836         modfl-ieee: Fix test failures.
4837         * lib/modfl.c (modfl): Treat NaN and Inf specially.
4838         * modules/modfl (Depends-on): Add isfinite, isinf.
4839
4840         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
4841         * m4/modff-ieee.m4: New file.
4842         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
4843         whether modff works with NaN and Inf. Replace it if not.
4844         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
4845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
4846         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
4847         * modules/modff (configure.ac): Consider REPLACE_MODFF.
4848         (Depends-on): Update dependencies.
4849         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
4850         m4/signbit.m4.
4851         (Depends-on): Add modf-ieee.
4852         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
4853         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
4854
4855         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
4856         * m4/modf-ieee.m4: New file.
4857         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
4858         whether modf works with NaN and Inf. Replace it if not.
4859         * lib/math.in.h (modf): New declaration.
4860         * lib/modf.c: New file.
4861         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
4862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
4863         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
4864         * modules/modf (Files): Add lib/modf.c.
4865         (Depends-on): Add math, isfinite, trunc, isinf.
4866         (configure.ac): Addrange to compile lib/modf.c if needed.
4867         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
4868         m4/signbit.m4.
4869         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
4870         * tests/test-math-c++.cc: Check the declaration of modf.
4871         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
4872
4873         Tests for module 'modfl-ieee'.
4874         * modules/modfl-ieee-tests: New file.
4875         * tests/test-modfl-ieee.c: New file.
4876
4877         New module 'modfl-ieee'.
4878         * modules/modfl-ieee: New file.
4879
4880         Tests for module 'modf-ieee'.
4881         * modules/modf-ieee-tests: New file.
4882         * tests/test-modf-ieee.c: New file.
4883
4884         New module 'modf-ieee'.
4885         * modules/modf-ieee: New file.
4886
4887         Tests for module 'modff-ieee'.
4888         * modules/modff-ieee-tests: New file.
4889         * tests/test-modff-ieee.c: New file.
4890         * tests/test-modf-ieee.h: New file.
4891
4892         New module 'modff-ieee'.
4893         * modules/modff-ieee: New file.
4894
4895 2012-02-26  Bruno Haible  <bruno@clisp.org>
4896
4897         Tests for module 'fabsl-ieee'.
4898         * modules/fabsl-ieee-tests: New file.
4899         * tests/test-fabsl-ieee.c: New file.
4900
4901         New module 'fabsl-ieee'.
4902         * modules/fabsl-ieee: New file.
4903
4904         Tests for module 'fabs-ieee'.
4905         * modules/fabs-ieee-tests: New file.
4906         * tests/test-fabs-ieee.c: New file.
4907
4908         New module 'fabs-ieee'.
4909         * modules/fabs-ieee: New file.
4910
4911         Tests for module 'fabsf-ieee'.
4912         * modules/fabsf-ieee-tests: New file.
4913         * tests/test-fabsf-ieee.c: New file.
4914         * tests/test-fabs-ieee.h: New file.
4915
4916         New module 'fabsf-ieee'.
4917         * modules/fabsf-ieee: New file.
4918
4919 2012-02-26  Bruno Haible  <bruno@clisp.org>
4920
4921         Tests for module 'fmal-ieee'.
4922         * modules/fmal-ieee-tests: New file.
4923         * tests/test-fmal-ieee.c: New file.
4924
4925         New module 'fmal-ieee'.
4926         * modules/fmal-ieee: New file.
4927
4928         Tests for module 'fma-ieee'.
4929         * modules/fma-ieee-tests: New file.
4930         * tests/test-fma-ieee.c: New file.
4931
4932         New module 'fma-ieee'.
4933         * modules/fma-ieee: New file.
4934
4935         Tests for module 'fmaf-ieee'.
4936         * modules/fmaf-ieee-tests: New file.
4937         * tests/test-fmaf-ieee.c: New file.
4938         * tests/test-fma-ieee.h: New file.
4939
4940         New module 'fmaf-ieee'.
4941         * modules/fmaf-ieee: New file.
4942
4943 2012-02-26  Bruno Haible  <bruno@clisp.org>
4944
4945         Tests for module 'ldexpl-ieee'.
4946         * modules/ldexpl-ieee-tests: New file.
4947         * tests/test-ldexpl-ieee.c: New file.
4948
4949         New module 'ldexpl-ieee'.
4950         * modules/ldexpl-ieee: New file.
4951
4952         Tests for module 'ldexp-ieee'.
4953         * modules/ldexp-ieee-tests: New file.
4954         * tests/test-ldexp-ieee.c: New file.
4955
4956         New module 'ldexp-ieee'.
4957         * modules/ldexp-ieee: New file.
4958
4959         Tests for module 'ldexpf-ieee'.
4960         * modules/ldexpf-ieee-tests: New file.
4961         * tests/test-ldexpf-ieee.c: New file.
4962         * tests/test-ldexp-ieee.h: New file.
4963
4964         New module 'ldexpf-ieee'.
4965         * modules/ldexpf-ieee: New file.
4966
4967 2012-02-26  Bruno Haible  <bruno@clisp.org>
4968
4969         Refactor frexp*-ieee tests.
4970         * tests/test-frexp-ieee.h: New file.
4971         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
4972         (main): Just call test_function.
4973         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
4974         (main): Just call test_function.
4975         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
4976         (main): Just call test_function.
4977         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
4978         * modules/frexp-ieee-tests (Files): Likewise.
4979         * modules/frexpl-ieee-tests (Files): Likewise.
4980
4981         Tests for module 'frexpl-ieee'.
4982         * modules/frexpl-ieee-tests: New file.
4983         * tests/test-frexpl-ieee.c: New file.
4984
4985         New module 'frexpl-ieee'.
4986         * modules/frexpl-ieee: New file.
4987
4988         Tests for module 'frexp-ieee'.
4989         * modules/frexp-ieee-tests: New file.
4990         * tests/test-frexp-ieee.c: New file.
4991
4992         New module 'frexp-ieee'.
4993         * modules/frexp-ieee: New file.
4994
4995         Tests for module 'frexpf-ieee'.
4996         * modules/frexpf-ieee-tests: New file.
4997         * tests/test-frexpf-ieee.c: New file.
4998
4999         New module 'frexpf-ieee'.
5000         * modules/frexpf-ieee: New file.
5001
5002 2012-02-26  Bruno Haible  <bruno@clisp.org>
5003
5004         roundl-ieee tests: More tests.
5005         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5006         (main): Add tests for [MX] shaded specification in POSIX.
5007         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5008         (Depends-on): Add isnanl-nolibm.
5009
5010         round-ieee tests: More tests.
5011         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5012         (main): Add tests for [MX] shaded specification in POSIX.
5013         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5014         (Depends-on): Add isnand-nolibm.
5015
5016         roundf-ieee tests: More tests.
5017         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5018         (main): Add tests for [MX] shaded specification in POSIX.
5019         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5020         (Depends-on): Add isnanf-nolibm.
5021
5022         truncl-ieee tests: More tests.
5023         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5024         (main): Add tests for [MX] shaded specification in POSIX.
5025         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5026         (Depends-on): Add isnanl-nolibm.
5027
5028         trunc-ieee tests: More tests.
5029         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5030         (main): Add tests for [MX] shaded specification in POSIX.
5031         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5032         (Depends-on): Add isnand-nolibm.
5033
5034         truncf-ieee tests: More tests.
5035         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5036         (main): Add tests for [MX] shaded specification in POSIX.
5037         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5038         (Depends-on): Add isnanf-nolibm.
5039
5040         ceill-ieee tests: More tests.
5041         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5042         (main): Add tests for [MX] shaded specification in POSIX.
5043         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5044         (Depends-on): Add isnanl-nolibm.
5045
5046         ceil-ieee tests: More tests.
5047         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5048         (main): Add tests for [MX] shaded specification in POSIX.
5049         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5050         (Depends-on): Add isnand-nolibm.
5051
5052         ceilf-ieee tests: More tests.
5053         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5054         (main): Add tests for [MX] shaded specification in POSIX.
5055         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5056         (Depends-on): Add isnanf-nolibm.
5057
5058         floorl-ieee tests: More tests.
5059         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
5060         (main): Add tests for [MX] shaded specification in POSIX.
5061         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5062         (Depends-on): Add isnanl-nolibm.
5063
5064         floor-ieee tests: More tests.
5065         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
5066         (main): Add tests for [MX] shaded specification in POSIX.
5067         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5068         (Depends-on): Add isnand-nolibm.
5069
5070         floorf-ieee tests: More tests.
5071         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
5072         (main): Add tests for [MX] shaded specification in POSIX.
5073         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
5074         (Depends-on): Add isnanf-nolibm.
5075
5076 2012-02-26  Bruno Haible  <bruno@clisp.org>
5077
5078         fpieee: More comments.
5079         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
5080
5081 2012-02-25  Bruno Haible  <bruno@clisp.org>
5082
5083         Tests for module 'log10l'.
5084         * modules/log10l-tests: New file.
5085         * tests/test-log10l.c: New file.
5086         * tests/test-math-c++.cc: Check the declaration of log10l.
5087
5088         New module 'log10l'.
5089         * lib/math.in.h (log10l): New declaration.
5090         * lib/log10l.c: New file.
5091         * m4/log10l.m4: New file.
5092         * modules/log10l: New file.
5093         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
5094         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
5095         HAVE_DECL_LOG10L.
5096         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
5097         HAVE_DECL_LOG10L.
5098         * doc/posix-functions/log10l.texi: Mention the new module.
5099
5100 2012-02-25  Bruno Haible  <bruno@clisp.org>
5101
5102         fmodl, remainder*: Avoid wrong results due to rounding errors.
5103         * lib/fmodl.c (fmodl): Correct the result if it is not within the
5104         expected bounds.
5105         * lib/remainderf.c (remainderf): Likewise.
5106         * lib/remainder.c (remainder): Likewise.
5107         * lib/remainderl.c (remainderl): Likewise.
5108
5109 2012-02-25  Bruno Haible  <bruno@clisp.org>
5110
5111         Tests for module 'remainderl'.
5112         * modules/remainderl-tests: New file.
5113         * tests/test-remainderl.c: New file.
5114         * tests/test-math-c++.cc: Check the declaration of remainderl.
5115
5116         New module 'remainderl'.
5117         * lib/math.in.h (remainderl): New declaration.
5118         * lib/remainderl.c: New file.
5119         * m4/remainderl.m4: New file.
5120         * modules/remainderl: New file.
5121         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
5122         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
5123         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
5124         HAVE_REMAINDERL.
5125         * doc/posix-functions/remainderl.texi: Mention the new module.
5126
5127 2012-02-25  Bruno Haible  <bruno@clisp.org>
5128
5129         Tests for module 'remainderf'.
5130         * modules/remainderf-tests: New file.
5131         * tests/test-remainderf.c: New file.
5132         * tests/test-math-c++.cc: Check the declaration of remainderf.
5133
5134         New module 'remainderf'.
5135         * lib/math.in.h (remainderf): New declaration.
5136         * lib/remainderf.c: New file.
5137         * m4/remainderf.m4: New file.
5138         * modules/remainderf: New file.
5139         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
5140         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
5141         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
5142         HAVE_REMAINDERF.
5143         * doc/posix-functions/remainderf.texi: Mention the new module.
5144
5145 2012-02-25  Bruno Haible  <bruno@clisp.org>
5146
5147         remainder: Support for MSVC.
5148         * lib/math.in.h (remainder): New declaration.
5149         * lib/remainder.c: New file.
5150         * m4/remainder.m4: New file.
5151         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
5152         (Depends-on): Add math, round, fma.
5153         (configure.ac): Use results of gl_FUNC_REMAINDER.
5154         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
5155         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
5156         HAVE_DECL_REMAINDER.
5157         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
5158         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
5159         * tests/test-math-c++.cc: Check the declaration of remainder.
5160         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
5161         problems are fixed.
5162
5163 2012-02-25  Bruno Haible  <bruno@clisp.org>
5164
5165         Tests for module 'fmodl'.
5166         * modules/fmodl-tests: New file.
5167         * tests/test-fmodl.c: New file.
5168         * tests/test-math-c++.cc: Check the declaration of fmodl.
5169
5170         New module 'fmodl'.
5171         * lib/math.in.h (fmodl): New declaration.
5172         * lib/fmodl.c: New file.
5173         * m4/fmodl.m4: New file.
5174         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
5175         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
5176         REPLACE_FMODL.
5177         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
5178         REPLACE_FMODL.
5179         * modules/fmodl: New file.
5180         * doc/posix-functions/fmodl.texi: Mention the new module.
5181
5182 2012-02-25  Bruno Haible  <bruno@clisp.org>
5183
5184         Tests for module 'modfl'.
5185         * modules/modfl-tests: New file.
5186         * tests/test-modfl.c: New file.
5187         * tests/test-math-c++.cc: Check the declaration of modfl.
5188
5189         New module 'modfl'.
5190         * lib/math.in.h (modfl): New declaration.
5191         * lib/modfl.c: New file.
5192         * m4/modfl.m4: New file.
5193         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
5194         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
5195         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
5196         * modules/modfl: New file.
5197         * doc/posix-functions/modfl.texi: Mention the new module.
5198
5199 2012-02-25  Bruno Haible  <bruno@clisp.org>
5200
5201         Tests for module 'fabsl'.
5202         * modules/fabsl-tests: New file.
5203         * tests/test-fabsl.c: New file.
5204         * tests/test-math-c++.cc: Check the declaration of fabsl.
5205
5206         New module 'fabsl'.
5207         * lib/math.in.h (fabsl): New declaration.
5208         * lib/fabsl.c: New file.
5209         * m4/fabsl.m4: New file.
5210         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
5211         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
5212         REPLACE_FABSL.
5213         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
5214         REPLACE_FABSL.
5215         * modules/fabsl: New file.
5216         * doc/posix-functions/fabsl.texi: Mention the new module.
5217
5218 2012-02-25  Bruno Haible  <bruno@clisp.org>
5219
5220         fabs tests: More tests.
5221         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
5222         (zero): New variable.
5223         (main): Add tests for signed zero.
5224         * modules/fabs-tests (Files): Add tests/minus-zero.h.
5225
5226         fabsf tests: More tests.
5227         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
5228         (zero): New variable.
5229         (main): Add tests for signed zero.
5230         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
5231
5232 2012-02-24  Bruno Haible  <bruno@clisp.org>
5233
5234         atanl: Provide function definition on MSVC.
5235         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
5236         function pointer.
5237         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
5238
5239 2012-02-24  Bruno Haible  <bruno@clisp.org>
5240
5241         acosl: Provide function definition on MSVC.
5242         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
5243         function pointer.
5244         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
5245
5246 2012-02-24  Bruno Haible  <bruno@clisp.org>
5247
5248         asinl: Provide function definition on MSVC.
5249         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
5250         function pointer.
5251         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
5252
5253 2012-02-24  Bruno Haible  <bruno@clisp.org>
5254
5255         tanl: Provide function definition on MSVC.
5256         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
5257         function pointer.
5258         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
5259
5260 2012-02-24  Bruno Haible  <bruno@clisp.org>
5261
5262         cosl: Provide function definition on MSVC.
5263         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
5264         function pointer.
5265         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
5266
5267 2012-02-24  Bruno Haible  <bruno@clisp.org>
5268
5269         sinl: Provide function definition on MSVC.
5270         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
5271         function pointer.
5272         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
5273
5274 2012-02-24  Bruno Haible  <bruno@clisp.org>
5275
5276         logl: Provide function definition on MSVC.
5277         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
5278         function pointer.
5279         * lib/math.in.h (logl): Undefine if it does not exist as a function.
5280
5281 2012-02-24  Bruno Haible  <bruno@clisp.org>
5282
5283         expl: Provide function definition on MSVC.
5284         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
5285         function pointer.
5286         * lib/math.in.h (expl): Undefine if it does not exist as a function.
5287
5288 2012-02-24  Bruno Haible  <bruno@clisp.org>
5289
5290         sqrtl: Provide function definition on MSVC.
5291         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
5292         a function pointer.
5293         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
5294
5295 2012-02-24  Bruno Haible  <bruno@clisp.org>
5296
5297         ceill: Provide function definition on MSVC.
5298         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
5299         used as a function pointer.
5300         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
5301
5302 2012-02-24  Bruno Haible  <bruno@clisp.org>
5303
5304         floorl: Provide function definition on MSVC.
5305         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
5306         used as a function pointer.
5307         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
5308
5309 2012-02-24  Bruno Haible  <bruno@clisp.org>
5310
5311         ceilf: Provide function definition on MSVC.
5312         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
5313         used as a function pointer.
5314         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
5315
5316 2012-02-24  Bruno Haible  <bruno@clisp.org>
5317
5318         floorf: Provide function definition on MSVC.
5319         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
5320         used as a function pointer.
5321         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
5322
5323 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
5324
5325         stdnoreturn: new module
5326         This implements a replacement for C11's <stdnoreturn.h>.
5327         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
5328         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
5329         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
5330         * tests/test-stdnoreturn.c: New files.
5331
5332 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
5333
5334         regex: fix false multibyte matches in some regular expressions
5335         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
5336         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
5337         * lib/regex_internal.c (re_string_skip_chars):
5338         Fix miscomputation of remain_len that may cause incomplete
5339         multi-byte character and false match.
5340
5341 2012-02-24  Jim Meyering  <meyering@redhat.com>
5342
5343         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
5344         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
5345         uses with "==" *before* the call, e.g., 0 == strcmp (...)
5346         Remove now-unnecessary str''cmp obfuscation.
5347         Suggested by Akim Demaille.
5348
5349 2012-02-24  Bruno Haible  <bruno@clisp.org>
5350
5351         streq: Rename macro.
5352         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
5353         * NEWS: Mention the change.
5354         * lib/mbrtowc.c (mbrtowc): Update.
5355         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
5356         * lib/wcwidth.c (wcwidth): Update.
5357         Suggested by Akim Demaille and Jim Meyering.
5358
5359 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
5360
5361         regex: fix typo in definition of MIN
5362         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
5363         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
5364
5365 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5366             Bruno Haible  <bruno@clisp.org>
5367
5368         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
5369         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
5370         entries into a stack-allocated buffer directly.
5371         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
5372
5373 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
5374             Bruno Haible  <bruno@clisp.org>
5375
5376         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
5377
5378          - There were several instances of this pattern:
5379
5380              for (;;) {
5381                n = acl (f, GETACLCNT, 0, NULL);
5382                [ allocate an array A of size N ]
5383                if (acl (f, GETACL, n, a) == n)
5384                  break;
5385              }
5386
5387            This loop might never terminate if some other process is constantly
5388            manipulating the file's ACL.  The loop should be rewritten to
5389            terminate.
5390
5391          - The acl (... GETACLNT ...) call is merely an optimization; its value
5392            is merely a hint as to how big to make the array.  A better
5393            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
5394            and just guess a reasonably-big size, growing the size and trying
5395            again if it's not large enough.  This guarantees termination, and
5396            saves a system call.
5397
5398         * lib/acl-internal.h: Include <limits.h>.
5399         (MIN, SIZE_MAX): New macros.
5400         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
5401         a stack-allocated buffer, and use malloc if it does not fit. Don't
5402         use GETACLCNT.
5403         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5404
5405 2012-02-19  Bruno Haible  <bruno@clisp.org>
5406
5407         acl: Fix endless loop on Solaris with vxfs.
5408         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
5409         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
5410         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
5411         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
5412         * tests/test-sameacls.c (main)[Solaris]: Likewise.
5413         Reported by Bill Jones in
5414         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
5415
5416 2012-02-19  Bruno Haible  <bruno@clisp.org>
5417
5418         acl: Fix copy-acl test failure on Solaris 11 2011-11.
5419         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
5420         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
5421         that this function returns 0 in some more cases.
5422
5423 2012-02-19  Bruno Haible  <bruno@clisp.org>
5424
5425         acl: Update doc references.
5426         * doc/acl-resources.txt: Update links to Solaris documentation.
5427
5428 2012-02-19  Bruno Haible  <bruno@clisp.org>
5429
5430         Fix test failure in many locales on Solaris 11.
5431         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
5432         'tr' arguments.
5433         * tests/test-pipe-filter-ii1.c (main): Likewise.
5434         * build-aux/bootstrap (check_versions): Run 'tr' command with range
5435         expressions in the C locale.
5436         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
5437         * m4/host-os.m4 (gl_HOST_OS): Likewise.
5438
5439 2012-02-19  Bruno Haible  <bruno@clisp.org>
5440
5441         gnulib-tool: Improve usage message.
5442         * gnulib-tool (func_usage): Move doc of --help and --version to the
5443         section "Operation modes".
5444
5445 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
5446
5447         README-release: make it easier to execute commands
5448         * top/README-release: break commands out on to separate lines.
5449
5450 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
5451
5452         GNUmakefile: simplify detection of unconfigured trees
5453         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
5454         whether the tree make is being run from is already configured or
5455         not.  Related simplifications.
5456
5457 2012-02-13  Simon Josefsson  <simon@josefsson.org>
5458
5459         * gnulib-tool (func_usage): Document --help and --version.
5460
5461 2012-02-11  Jim Meyering  <meyering@redhat.com>
5462
5463         bootstrap: don't exit 0 upon gnulib-tool failure
5464         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
5465         its exit status, not 0.
5466
5467 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
5468
5469         README-release: various improvements
5470         * top/README-release: Give a command to push changes for the
5471         release.  Add "distcheck" to list of other pre-release checks.
5472         Fix instance of "make stable" which should be "make TYPE".
5473
5474 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
5475
5476         maint: replace FSF snail-mail addresses with URLs
5477         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
5478         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
5479         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
5480         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
5481         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
5482         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
5483         * lib/check-version.c, lib/check-version.h, lib/config.charset:
5484         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
5485         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
5486         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
5487         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
5488         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
5489         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
5490         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
5491         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
5492         * lib/glthread/thread.c, lib/glthread/thread.h:
5493         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
5494         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
5495         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
5496         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
5497         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
5498         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
5499         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
5500         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
5501         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
5502         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
5503         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
5504         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
5505         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
5506         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
5507         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
5508         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
5509         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
5510         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
5511         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
5512         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
5513         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
5514         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
5515         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
5516         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
5517         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
5518         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
5519         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
5520         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
5521         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
5522         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
5523         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
5524         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
5525         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
5526         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
5527         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
5528         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
5529         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
5530         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
5531         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
5532         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
5533         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
5534         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
5535         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
5536         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
5537         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
5538         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
5539         * tests/test-poll.c, tests/test-quotearg-simple.c:
5540         * tests/test-quotearg.c, tests/test-quotearg.h:
5541         * tests/test-round-ieee.c, tests/test-round1.c:
5542         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
5543         * tests/test-roundl-ieee.c, tests/test-roundl.c:
5544         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
5545         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
5546         * tests/test-strerror.c, tests/test-strerror_r.c:
5547         * tests/test-strsignal.c, tests/test-strverscmp.c:
5548         * tests/test-xmemdup0.c:
5549         Replace FSF snail mail addresses with URLs, as per GNU coding
5550         standards.  See glibc bug
5551         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
5552
5553 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
5554
5555         README-release: capitalize a word and split a line
5556         * top/README-release: Fix punctuation and spacing.
5557
5558 2012-02-08  Akim Demaille  <demaille@gostai.com>
5559
5560         fatal-signal: use C prototypes (with explicit void).
5561         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
5562         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
5563
5564 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5565
5566         regex: spelling fix
5567         * lib/regexec.c: spelling fix
5568
5569         regex: rely on stdint.h for SIZE_MAX
5570         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
5571
5572 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
5573
5574         regex: merge glibc changes
5575
5576         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
5577         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
5578         (init_word_char): Work even if bitset words are not exactly 32 or
5579         64 bits wide.  Don't assume there are no padding bits.
5580         * lib/regex.c [_LIBC]: Do not include <config.h>.
5581         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
5582         and -Wtype-limits.
5583         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
5584         needless disagreement with glibc.  All uses changed.  Define it to
5585         1 only if _GNU_SOURCE, to match glibc.
5586         (_REG_RM_NAME): Remove; no longer needed, since the names in
5587         question are now all protected by __USE_GNU.
5588         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
5589         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
5590         * lib/regex_internal.h (MIN): New macro.
5591
5592         2012-01-03 Ulrich Drepper <drepper@gmail.com>
5593         * lib/regcomp.c (init_word_char): Optimize regex a bit.
5594
5595         2011-12-30 Jakub Jelinek <jakub@redhat.com>
5596         * lib/regex_internal.c (re_string_fetch_byte_case):
5597         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
5598         is miscompiled, and it turns out it is because of an incorrect
5599         attribute on re_string_fetch_byte_case.  Unlike
5600         re_string_peek_byte_case, this one is really not pure, it modifies
5601         memory (increments pstr->cur_idx), and with the pure attribute GCC
5602         assumed it doesn't and it cached the presumed value of
5603         regexp->cur_idx in a variable across the
5604          for (;; ++i)
5605            {
5606              if (i >= BRACKET_NAME_BUF_SIZE)
5607                return REG_EBRACK;
5608              if (token->type == OP_OPEN_CHAR_CLASS)
5609                ch = re_string_fetch_byte_case (regexp);
5610              else
5611                ch = re_string_fetch_byte (regexp);
5612              if (re_string_eoi(regexp))
5613                return REG_EBRACK;
5614              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
5615                break;
5616              elem->opr.name[i] = ch;
5617            }
5618
5619         2011-11-29 Andreas Schwab <schwab@redhat.com>
5620         * lib/regcomp.c (build_equiv_class):
5621         Fix access after end of search string in regex matcher.
5622
5623         2011-11-12 Ulrich Drepper <drepper@redhat.com>
5624         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
5625
5626         2011-10-12 Ulrich Drepper <drepper@redhat.com>
5627         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
5628
5629         2011-10-11 Ulrich Drepper <drepper@redhat.com>
5630         * lib/regcomp.c (parse_branch, parse_sub_exp):
5631         More regex memory leak fixes and tests.
5632         (parse_sub_exp, parse_bracket_exp):
5633         Fix memory leak for some invalid regular expressions.
5634
5635         2011-05-28 Ulrich Drepper <drepper@gmail.com>
5636         * lib/regex_internal.c, lib/regexec.c:
5637         Fix unnecessary overallocation due to incomplete character.  When
5638         incomplete characters are found at the end of a string the code
5639         ran amok and allocated lots of memory.  Stricter limits are now in
5640         place.
5641
5642         2011-05-20 Reuben Thomas <rrt@sc3d.org>
5643         * lib/regex.h: Update documentation.
5644
5645         2011-05-16 Aharon Robbins <arnold@skeeve.com>
5646         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
5647
5648         2010-05-05 Andreas Schwab <schwab@redhat.com>
5649         * lib/regexec.c (find_collation_sequence_value):
5650         Fix lookup of collation sequence value during regexp matching.
5651
5652         2010-01-22 Ulrich Drepper <drepper@redhat.com>
5653         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
5654
5655         2008-01-16 Ulrich Drepper <drepper@redhat.com>
5656         * lib/regex.h: Cleanup namespace.
5657
5658         2007-11-26 Ulrich Drepper <drepper@redhat.com>
5659         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
5660
5661         2007-08-26 Ulrich Drepper <drepper@redhat.com>
5662         * lib/regex_internal.h: Prevent some declarations and definitions
5663         to be seen when used in tests.
5664
5665         2005-05-06 Ulrich Drepper <drepper@redhat.com>
5666         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
5667         __libc_lock_* macros if not _LIBC.
5668         (struct re_dfa_t): Add lock.
5669
5670 2012-02-07  Eric Blake  <eblake@redhat.com>
5671
5672         maint.mk: also prohibit lower-case @var@
5673         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
5674         lower case, like @top_srcdir@.
5675
5676 2012-02-04  Eric Blake  <eblake@redhat.com>
5677
5678         canonicalize: avoid uninitialized memory use
5679         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
5680         random '/' left in dest.
5681         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
5682
5683 2012-02-04  Bruno Haible  <bruno@clisp.org>
5684
5685         isatty: Fix test failure of ptsname_r on native Windows.
5686         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
5687         and don't set errno.
5688         (isatty): Test first whether fd is valid. Set errno when returning 0.
5689
5690 2012-02-04  Bruno Haible  <bruno@clisp.org>
5691
5692         spawn-pipe tests: Fix a NULL program name in a diagnostic.
5693         * tests/test-spawn-pipe-main.c: Include progname.h.
5694         (main): Invoke set_program_name.
5695         * modules/spawn-pipe-tests (Depends-on): Add progname.
5696
5697         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
5698         * tests/test-nonblocking-socket-main.c: Include progname.h.
5699         (main): Invoke set_program_name.
5700         * modules/nonblocking-socket-tests (Depends-on): Add progname.
5701
5702         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
5703         * tests/test-nonblocking-pipe-main.c: Include progname.h.
5704         (main): Invoke set_program_name.
5705         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
5706
5707 2012-02-04  Eric Blake  <eblake@redhat.com>
5708
5709         canonicalize-lgpl: fix // handling
5710         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
5711
5712         canonicalize: fix // handling
5713         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
5714         /// to //, since only // is special.
5715
5716 2012-02-04  Bruno Haible  <bruno@clisp.org>
5717
5718         ioctl: Fix test failure on native Windows.
5719         * lib/ioctl.c: Include msvc-nothrow.h.
5720         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
5721
5722 2012-02-04  Bruno Haible  <bruno@clisp.org>
5723
5724         fsync: Avoid test failure on native Windows.
5725         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
5726         read-only.
5727
5728 2012-02-04  Bruno Haible  <bruno@clisp.org>
5729
5730         sys_select: Avoid syntax error on OpenBSD 5.0.
5731         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
5732         currently being included, just include the system's <sys/select.h>.
5733
5734 2012-02-04  Bruno Haible  <bruno@clisp.org>
5735
5736         sys_select: Avoid syntax error on OpenBSD 5.0.
5737         * lib/sys_select.in.h: Include <signal.h> only after the include_next
5738         <sys/select.h>, not before.
5739         Reported by Jiri B <jirib@devio.us>.
5740
5741 2012-02-04  Bruno Haible  <bruno@clisp.org>
5742
5743         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
5744         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
5745         global variables.
5746         * tests/test-get-rusage-data.c (main): Likewise.
5747         Reported by Jim Meyering.
5748
5749 2012-02-04  Bruno Haible  <bruno@clisp.org>
5750
5751         stdioext: Fix last commit.
5752         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
5753
5754 2012-02-03  Bruno Haible  <bruno@clisp.org>
5755
5756         stdioext: Add tentative support for Plan9.
5757         * lib/stdio-impl.h: Include <errno.h>.
5758         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
5759         * lib/freadable.c (freadable): Likewise.
5760         * lib/fwritable.c (fwritable): Likewise.
5761         * lib/fbufmode.c (fbufmode): Likewise.
5762         * lib/freading.c (freading): Likewise.
5763         * lib/fwriting.c (fwriting): Likewise.
5764         * lib/freadptr.c (freadptr): Likewise.
5765         * lib/freadseek.c (freadptrinc): Likewise.
5766         * lib/freadahead.c (freadahead): Likewise.
5767         * lib/fpurge.c (fpurge): Likewise.
5768         * lib/fseeko.c (rpl_fseeko): Likewise.
5769         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
5770         Reported by Jens Staal <staal1978@gmail.com>.
5771
5772 2012-02-02  Jim Meyering  <meyering@redhat.com>
5773
5774         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
5775         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
5776         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
5777         not even to try to add the attribute.  Instead, add a pragma to suppress
5778         the suggestion/warning.
5779
5780 2012-01-31  Karl Berry  <karl@gnu.org>
5781
5782         setstate doc: typo.
5783         * doc/posix-functions/setstate.texi (setstate): { not (.
5784
5785 2012-01-31  Bruno Haible  <bruno@clisp.org>
5786
5787         popen: Make more robust on Windows.
5788         * lib/popen.c: On native Windows, use the _popen based code even if
5789         HAVE_POPEN is set.
5790         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
5791         environment variable on native Windows.
5792
5793 2012-01-30  Bruno Haible  <bruno@clisp.org>
5794
5795         pclose: Fix typo.
5796         * lib/stdio.in.h (pclose): Fix typo in warning message.
5797
5798 2012-01-30  Bruno Haible  <bruno@clisp.org>
5799
5800         doc about getlogin_r, setstate.
5801         * doc/posix-functions/getlogin_r.texi: List the incompatible
5802         declaration problem under "not fixed by gnulib".
5803         * doc/posix-functions/setstate.texi: Mention incompatible declaration
5804         problem on Solaris 11 and other platforms.
5805
5806 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
5807             Bruno Haible  <bruno@clisp.org>
5808
5809         poll tests: Make test more robust.
5810         * tests/test-poll.c: Include macros.h.
5811         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
5812         return value of various I/O operations.
5813         * modules/poll-tests (Files): Add tests/macros.h.
5814
5815 2012-01-30  Bruno Haible  <bruno@clisp.org>
5816
5817         sys_stat: Fix support for mingw64 and MSVC.
5818         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
5819         header files already do it.
5820         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
5821         stat itself.
5822         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5823
5824 2012-01-30  Bruno Haible  <bruno@clisp.org>
5825
5826         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
5827         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
5828         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
5829
5830 2012-01-29  Bruno Haible  <bruno@clisp.org>
5831
5832         quotearg: Fix test failure on MacOS X 10.5.
5833         * tests/test-quotearg-simple.c: Include localcharset.h.
5834         (main): If the locale encoding is not ASCII, bypass the tests of
5835         locale_quoting_style and clocale_quoting_style.
5836         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
5837
5838 2012-01-29  Jim Meyering  <meyering@redhat.com>
5839
5840         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
5841         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
5842         detect uses of canonicalize_file_name.
5843
5844 2012-01-28  Bruno Haible  <bruno@clisp.org>
5845
5846         test-framework-sh: Fix test failure with AIX 7.1 diff.
5847         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
5848         in column 1, like 'diff -c' does.
5849         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
5850         whether 'diff -u' is used. Instead, test whether the output contains
5851         some '@' character.
5852
5853 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5854
5855         strtoimax: eliminate need for stdint.h, inttypes.h checks
5856         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
5857         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
5858         the prerequisites for a recently-introduced strtoimax test.
5859         I guess this might cause strtoimax to be replaced when not
5860         strictly necessary on older hosts, but this shouldn't introduce
5861         any bugs and it should make Emacs 'configure' faster on typical
5862         modern hosts.  Problem discovered when importing the latest gnulib
5863         to an Emacs test version.
5864         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
5865
5866 2012-01-28  Bruno Haible  <bruno@clisp.org>
5867
5868         sys_time: Override 'struct timeval' on some native Windows platforms.
5869         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
5870         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
5871         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
5872         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
5873         needs to be overridden.
5874         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
5875         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
5876         * tests/test-sys_select.c: Check that the tv_sec member has the same
5877         size as a 'time_t'.
5878         * tests/test-sys_time.c: Likewise.
5879         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
5880         is set, set also REPLACE_GETTIMEOFDAY.
5881         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
5882         convert the resulting 'struct timeval' before returning.
5883         * lib/select.c: Include <sys/time.h>.
5884         (select, timeval): Undefine at the right place.
5885         * modules/select (Depends-on): Add sys_time.
5886         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
5887         some Windows platforms.
5888         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
5889
5890 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5891
5892         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
5893         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
5894         an integer.
5895         * lib/fcntl.c (dupfd): Likewise.
5896         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
5897
5898 2012-01-28  Bruno Haible  <bruno@clisp.org>
5899
5900         fcntl: Avoid compilation error on native Windows.
5901         * modules/fcntl (Depends-on): Add 'close'.
5902
5903 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5904
5905         select, poll, isatty: Avoid warnings on x86_64 mingw64.
5906         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
5907         pointer to an integer.
5908         * lib/poll.c (IsConsoleHandle): Likewise.
5909         * lib/isatty.c (IsConsoleHandle): Likewise.
5910
5911 2012-01-28  Jim Meyering  <meyering@redhat.com>
5912
5913         doc: clarify README-release
5914         * top/README-release: Clarify: you should make a point to have
5915         the latest stable versions of build tools in your PATH, and the
5916         reference to buildreq is solely for its list of tool names, not
5917         for its minimal-functional version numbers.
5918         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
5919
5920         maint.mk: use more readable (yet functionally equivalent) quoting
5921         It is common to quote a single quote in a single quoted string like
5922         this:  '...'\''...'.  Unless you know the idiom, that looks like
5923         gibberish, so prefer to double-quote the string when possible.
5924         Then you can use a more readable, lone single quote: "...'..."
5925         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
5926         "don't" is more readable than the equivalent 'don'\''t'.
5927         (sc_cast_of_x_alloc_return_value): Likewise.
5928         (sc_cast_of_alloca_return_value): Likewise.
5929         (sc_makefile_path_separator_check): Similar: use ":" in '...',
5930         rather than '\'':'\''.
5931
5932 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5933
5934         stdalign: relax _Alignof and tighten _Alignas test
5935         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
5936         as it was too strict: alignof must divide offsetof, but it need
5937         not equal offsetof.  Inspired by Joseph S. Myers's comment
5938         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
5939         Conversely, tighten the _Alignas test a bit, as the resulting
5940         alignment must be exactly 8.
5941
5942 2012-01-27  Bruno Haible  <bruno@clisp.org>
5943
5944         stdalign: Document the last change.
5945         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
5946
5947 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
5948
5949         stdalign: check that alignof and offsetof are consistent
5950         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
5951         Problem reported for gnulib by Richard W.M. Jones in
5952         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
5953
5954 2012-01-27  Jim Meyering  <meyering@redhat.com>
5955
5956         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
5957         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
5958         convert a sequence with gaps to the minimal containing range.
5959         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
5960         * tests/test-update-copyright.sh: Test for this.
5961         The FSF confirmed it is ok to do this, assuming there is at
5962         least one significant change per year in the affected range:
5963         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
5964
5965 2012-01-26  Bruno Haible  <bruno@clisp.org>
5966
5967         pipe2: refine doc about thread-safety
5968         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
5969         multithread-safety problem.
5970         * doc/glibc-functions/accept4.texi: Likewise.
5971
5972 2012-01-26  Bruno Haible  <bruno@clisp.org>
5973
5974         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
5975         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
5976         In the test program, include <fcntl.h>, for O_RDONLY.
5977
5978 2012-01-26  Eric Blake  <eblake@redhat.com>
5979
5980         pipe2: document lack of thread-safety in replacement
5981         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
5982         issue in replacement.
5983         * doc/glibc-functions/accept4.texi (accept4): Likewise.
5984         Based on a report by Eric Wong.
5985
5986 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
5987             Bruno Haible  <bruno@clisp.org>
5988
5989         malloca: Avoid warnings on x86_64 mingw64.
5990         * lib/malloca.c: Include <stdint.h>.
5991         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
5992         * modules/malloca (Depends-on): Add stdint.
5993         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
5994
5995 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
5996
5997         obstack: remove __STDC__ conditionals
5998         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
5999         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
6000         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
6001         m4/include_next.m4 as the only gnulib-maintained places that still
6002         refer to __STDC__.
6003
6004 2012-01-24  Bruno Haible  <bruno@clisp.org>
6005
6006         havelib: Modern quoting.
6007         * build-aux/config.rpath: Quote 'like this', not `like this', as per
6008         the recent change to the GNU coding standards.
6009
6010 2012-01-24  Bruno Haible  <bruno@clisp.org>
6011
6012         stdint: Improve support for Android.
6013         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
6014         Reported by Simon Josefsson <simon@josefsson.org>.
6015
6016 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
6017
6018         doc: omit trailing empty lines from INSTALL etc.
6019         * doc/Makefile (INSTALL): Omit trailing empty lines.
6020         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
6021         omit trailing empty lines.  This simplifies the build procedure.
6022
6023 2012-01-23  Jim Meyering  <meyering@redhat.com>
6024
6025         tests: avoid spurious warnings about gl_sockets_startup
6026         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
6027         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
6028         reporting a "statement with no effect".
6029         * tests/test-accept.c (main): Mark as "(void)".
6030         * tests/test-accept4.c (main): Likewise.
6031         * tests/test-bind.c (main): Likewise.
6032         * tests/test-connect.c (main): Likewise.
6033         * tests/test-getpeername.c (main): Likewise.
6034         * tests/test-getsockname.c (main): Likewise.
6035         * tests/test-getsockopt.c (main): Likewise.
6036         * tests/test-listen.c (main): Likewise.
6037         * tests/test-recv.c (main): Likewise.
6038         * tests/test-recvfrom.c (main): Likewise.
6039         * tests/test-send.c (main): Likewise.
6040         * tests/test-sendto.c (main): Likewise.
6041         * tests/test-setsockopt.c (main): Likewise.
6042         * tests/test-shutdown.c (main): Likewise.
6043
6044 2012-01-21  Bruno Haible  <bruno@clisp.org>
6045
6046         locale-fr.m4: Fix for Android.
6047         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
6048         failure of the test program on Bionic libc.
6049
6050 2012-01-21  Jim Meyering  <meyering@redhat.com>
6051
6052         bootstrap: fail when bootstrap_post_import_hook fails
6053         Otherwise, it's far too easy to miss diagnostics emitted
6054         between gnulib-tool's output and that of running configure.
6055         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
6056
6057 2012-01-17  Jim Meyering  <meyering@redhat.com>
6058
6059         maint: enable sc_trailing_blank
6060         * build-aux/pmccabe.css: Remove trailing blanks.
6061         * doc/acl-cygwin.txt: Likewise.
6062         * doc/gnu-oids.texi: Likewise
6063         * cfg.mk: Enable sc_trailing_blank.
6064         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
6065
6066 2012-01-17  Jim Meyering  <meyering@redhat.com>
6067
6068         maint: enable sc_prohibit_openat_without_use
6069         * cfg.mk: Enable sc_prohibit_openat_without_use.
6070         Exempt lib/selinux-at.c.
6071
6072 2012-01-17  Jim Meyering  <meyering@redhat.com>
6073
6074         maint: enable sc_prohibit_cloexec_without_use
6075         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
6076         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
6077
6078 2012-01-17  Jim Meyering  <meyering@redhat.com>
6079
6080         maint: enable sc_prohibit_intprops_without_use
6081         * cfg.mk: Enable sc_prohibit_intprops_without_use
6082         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
6083
6084 2012-01-17  Jim Meyering  <meyering@redhat.com>
6085
6086         maint: enable sc_prohibit_hash_pjw_without_use
6087         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
6088         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
6089         to match any use of \<hash_pjw\>, i.e., not necessarily with a
6090         following " (".
6091
6092 2012-01-17  Jim Meyering  <meyering@redhat.com>
6093
6094         maint: enable double-word-prohibiting rule
6095         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
6096         Exempt three files.
6097
6098 2012-01-17  Jim Meyering  <meyering@redhat.com>
6099
6100         maint: remove empty lines at EOF, but excluding modules/*
6101         Apply syntax rules at home as well as abroad.  Most changes
6102         were induced by running this:
6103           make srcdir=. _build-aux=build-aux -f top/maint.mk \
6104             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
6105             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
6106         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
6107         Exempt modules/* and two binary files.
6108         Also exempt doc/INSTALL*, per request from Bruno Haible.
6109         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
6110         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
6111         * doc/Copyright/request-assign.future: Likewise.
6112         * doc/Copyright/request-disclaim.changes: Likewise.
6113         * doc/INSTALL: Likewise.
6114         * doc/INSTALL.ISO: Likewise.
6115         * doc/INSTALL.UTF-8: Likewise.
6116         * doc/acl-cygwin.txt: Likewise.
6117         * doc/acl-resources.txt: Likewise.
6118         * doc/fdl-1.2.texi: Likewise.
6119         * doc/fdl-1.3.texi: Likewise.
6120         * doc/fdl.texi: Likewise.
6121         * lib/argp-pin.c: Likewise.
6122         * lib/round.c: Likewise.
6123         * lib/unicase/u16-totitle.c: Likewise.
6124         * lib/unictype/block_test.c: Likewise.
6125         * lib/uninorm/canonical-decomposition.c: Likewise.
6126         * m4/README: Likewise.
6127         * m4/relocatable-lib.m4: Likewise.
6128         * tests/test-isnand-nolibm.c: Likewise.
6129         * tests/test-isnand.c: Likewise.
6130         * tests/uninorm/NormalizationTest.txt: Likewise.
6131
6132 2012-01-17  Jim Meyering  <meyering@redhat.com>
6133
6134         maint: add framework to run syntax-check rules against gnulib sources
6135         * cfg.mk: New file, to disable all currently-failing tests.
6136         We'll enable them one by one, as they are made to pass.
6137         * Makefile (sc_maint): New rule.
6138
6139 2012-01-21  Bruno Haible  <bruno@clisp.org>
6140
6141         stdint: Add support for Android.
6142         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
6143         include the system's <stdint.h>.
6144         Reported by Simon Josefsson <simon@josefsson.org>.
6145
6146 2012-01-19  Jim Meyering  <meyering@redhat.com>
6147
6148         bootstrap: add bootstrap_post_import_hook
6149         Bison does still need something like the gnulib_mk_hook whose
6150         invocation I had to remove along with slurp in commit 767ccd40.
6151         Technically, we could get along without it, but doing so would
6152         have required living with a warning and a mandatory post-bootstrap
6153         automake rerun.
6154         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
6155         (bootstrap_post_import_hook): New function.
6156         Invoke it after gnulib-tool --import and before autoreconf.
6157
6158 2012-01-18  Jim Meyering  <meyering@redhat.com>
6159
6160         gitlog-to-changelog: don't use "no_"-prefixed variable name
6161         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
6162         to enable both --cluster and --no-cluster.  Change variable name,
6163         s/\$no_cluster/$cluster/, and reverse usage to match.
6164
6165         gitlog-to-changelog: use "||", not "or" in expressions
6166         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
6167         expressions.
6168
6169 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
6170
6171         gitlog-to-changelog: new option --no-cluster
6172         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
6173         clustering of adjacent commit messages.
6174
6175 2012-01-17  Jim Meyering  <meyering@redhat.com>
6176
6177         maint: spell file systems with two words, not one
6178         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
6179         two words, not one.
6180
6181 2012-01-16  Jim Meyering  <meyering@redhat.com>
6182
6183         bootstrap: add a FIXME comment to ensure we eventually remove the hack
6184         * build-aux/bootstrap (gnulib_tool_options): Add comment.
6185
6186 2012-01-16  Eric Blake  <eblake@redhat.com>
6187
6188         bootstrap: cater to autoconf 2.59
6189         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
6190         is not available.
6191
6192         bootstrap: properly check for libtool
6193         * build-aux/bootstrap (libtoolize): Also run libtool when older
6194         usage is detected.
6195
6196 2012-01-15  Bruno Haible  <bruno@clisp.org>
6197
6198         Improve support for MSVC 9.
6199         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
6200         clashes on MSVC.
6201         * lib/fcntl.in.h: Likewise.
6202         * lib/stdlib.in.h: Likewise.
6203         * lib/sys_stat.in.h: Likewise.
6204
6205 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
6206
6207         gnupload: we hold the master copy of this script now
6208         For motivation and more information, see:
6209         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
6210         * build-aux/gnupload: Make it clear in the heading comments that the
6211         master copy of this file is maintained by gnulib.  Since we are at
6212         it, bump its copyright year and ...
6213         ($scriptversion): ... the date in its version.
6214         ($usage): Patches and bug reports should be sent to the gnulib list,
6215         not the automake one.
6216         * config/srclist.txt: Don't try to sync 'gnupload' from automake
6217         anymore.
6218
6219 2012-01-15  Bruno Haible  <bruno@clisp.org>
6220
6221         Fix module 'random'.
6222         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
6223         initstate, setstate are declared.
6224
6225 2012-01-14  Bruno Haible  <bruno@clisp.org>
6226
6227         Tests for module 'random'.
6228         * modules/random-tests: New file.
6229         * tests/test-random.c: New file, based on tests/test-random_r.c.
6230
6231         New module 'random'.
6232         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
6233         declarations.
6234         * lib/random.c: New file, based on glibc/stdlib/random.c.
6235         * m4/random.m4: New file.
6236         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
6237         HAVE_RANDOM.
6238         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
6239         * modules/random: New file.
6240         * config/srclist.txt: Add an entry for random.c.
6241         * doc/posix-functions/random.texi: Mention the 'random' module.
6242         * doc/posix-functions/initstate.texi: Likewise.
6243         * doc/posix-functions/setstate.texi: Likewise.
6244         * doc/posix-functions/srandom.texi: Likewise.
6245
6246 2012-01-12  Bruno Haible  <bruno@clisp.org>
6247
6248         random_r: Use common idioms.
6249         * lib/random_r.c: Include <stdlib.h> first.
6250
6251         random_r: Override incompatible API on AIX, OSF/1.
6252         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
6253         Override the system function if REPLACE_RANDOM_R is 1.
6254         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
6255         and OSF/1, set REPLACE_RANDOM_R.
6256         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
6257         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
6258         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
6259         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
6260         * doc/glibc-functions/random_r.texi: Likewise.
6261         * doc/glibc-functions/setstate_r.texi: Likewise.
6262
6263         random_r: Support for MSVC 9.
6264         * lib/random_r.c: Include stdint.h, not inttypes.h.
6265
6266 2012-01-12  Eric Blake  <eblake@redhat.com>
6267
6268         inet_ntop: guard extra work by IF_LINT
6269         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
6270         better code generation when not checking for warnings.
6271         Suggested by Paul Eggert and Jim Meyering.
6272
6273         strptime: fix regression on mingw
6274         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
6275         Fix regression.  Reported by Bruno Haible.
6276
6277 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
6278             Bruno Haible  <bruno@clisp.org>
6279
6280         copy-file: add error-code-returning variant.
6281         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
6282         (qcopy_file_preserving): New declaration.
6283         * lib/copy-file.c (qcopy_file_preserving): Renamed from
6284         copy_file_preserving. Change return type to 'int'. Don't emit an error
6285         message here.
6286         (copy_file_preserving): New function.
6287         * tests/test-copy-file.c: Include <stdlib.h>.
6288         (main): Test qcopy_file_preserving if the environment variable
6289         NO_STDERR_OUTPUT is set.
6290         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
6291         with NO_STDERR_OUTPUT
6292         * tests/test-copy-file-2.sh: Likewise.
6293
6294 2012-01-10  Bruno Haible  <bruno@clisp.org>
6295
6296         copy-file: Use 'quote' module consistently.
6297         * lib/copy-file.c (copy_file_preserving): Use quote().
6298
6299         copy-file: Refactor.
6300         * lib/copy-file.c: Include quote.h.
6301         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
6302         message here.
6303         * modules/copy-file (Depends-on): Add quote.
6304
6305         acl: Export qcopy_acl.
6306         * lib/acl.h (qcopy_acl): New declaration.
6307         * lib/copy-acl.c (qcopy_acl): Make non-static.
6308
6309         acl: Rename a local variable.
6310         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
6311
6312         acl: Align return values of copy_acl and qcopy_acl.
6313         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
6314         maybe < -1.
6315
6316 2012-01-11  Eric Blake  <eblake@redhat.com>
6317
6318         strptime: silence gcc warnings
6319         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
6320         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
6321         Reported by Daniel P. Berrange.
6322
6323         inet_ntop: silence gcc warning
6324         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
6325         Reported by Daniel P. Berrange.
6326
6327 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
6328
6329         getloadavg test: skip the test on GNU/Linux without /proc mounted
6330         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
6331         file.  When /proc is not mounted, it always fails with ENOENT.
6332         * tests/test-getloadavg.c (main): Treat ENOENT return code from
6333         getloadavg(3) the same way as ENOSYS and ENOTSUP.
6334
6335 2012-01-10  Bruno Haible  <bruno@clisp.org>
6336
6337         regex: Avoid link error on MSVC 9.
6338         * modules/regex (Depends-on): Add wctype.
6339
6340 2012-01-10  Bruno Haible  <bruno@clisp.org>
6341
6342         doc: Mention --with-tests option.
6343         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
6344         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
6345         --with-tests.
6346         Reported by Reuben Thomas.
6347
6348 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
6349
6350         users.txt: order package names lexicographically.
6351         * users.txt: Order package names lexicographically.
6352
6353 2012-01-10  Jim Meyering  <meyering@redhat.com>
6354
6355         maint.mk: fix description in comment
6356         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
6357
6358         ignore-value: remove deprecated ignore_ptr function
6359         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
6360         * NEWS: Note this.
6361
6362 2012-01-09  Jim Meyering  <meyering@redhat.com>
6363
6364         test-init.sh: avoid a subshell
6365         * tests/test-init.sh: Remove protective subshell.
6366         Suggested by Bernhard Voelker.  While a subshell is normally
6367         required to protect against older shells (Solaris, FreeBSD) that
6368         warn about a missing program before performing redirection, the
6369         shell-selection tests performed by init.sh probably exclude any
6370         offending shell.
6371
6372 2012-01-08  Bruno Haible  <bruno@clisp.org>
6373
6374         setlocale tests: Avoid test failure on Solaris 11 2011-11.
6375         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
6376         variable.
6377
6378 2012-01-08  Bruno Haible  <bruno@clisp.org>
6379
6380         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
6381         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6382         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6383         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
6384         macro.
6385         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
6386         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6387         * lib/spawn_faction_addopen.c: Add workaround implementation if
6388         HAVE_WORKING_POSIX_SPAWN.
6389         * modules/spawn (Makefile): Substitute
6390         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
6391         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
6392         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
6393         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
6394         (Depends-on): Update conditions.
6395         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
6396         the Solaris 11 bug.
6397
6398 2012-01-08  Bruno Haible  <bruno@clisp.org>
6399
6400         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
6401         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6402         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6403         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
6404         macro.
6405         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
6406         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6407         * lib/spawn_faction_adddup2.c: Add workaround implementation if
6408         HAVE_WORKING_POSIX_SPAWN.
6409         * modules/spawn (Makefile): Substitute
6410         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
6411         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
6412         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
6413         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
6414         (Depends-on): Update conditions.
6415         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
6416         the Solaris 11 bug.
6417
6418 2012-01-08  Bruno Haible  <bruno@clisp.org>
6419
6420         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
6421         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
6422         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6423         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
6424         HAVE_WORKING_POSIX_SPAWN.
6425         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
6426         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
6427         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6428         * lib/spawn_faction_addclose.c: Add workaround implementation if
6429         HAVE_WORKING_POSIX_SPAWN.
6430         * modules/spawn (Makefile): Substitute
6431         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
6432         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
6433         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
6434         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
6435         (Depends-on): Update conditions.
6436         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
6437         the Solaris 11 bug.
6438
6439 2012-01-08  Bruno Haible  <bruno@clisp.org>
6440
6441         doc: Update for Solaris 11 2011-11.
6442         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
6443         * m4/printf.m4: Update comments.
6444
6445 2012-01-08  Bruno Haible  <bruno@clisp.org>
6446
6447         mktime: Avoid compilation error on Solaris 11.
6448         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
6449
6450 2012-01-08  Bruno Haible  <bruno@clisp.org>
6451
6452         doc: Small fix.
6453         * doc/posix-headers/nl_types.texi: Correct platforms list.
6454
6455 2012-01-08  Simon Josefsson  <simon@josefsson.org>
6456
6457         Add lgpl-3.0 module.
6458         * MODULES.html.sh (Support for building documentation): Add
6459         lgpl-3.0.
6460         * modules/lgpl-3.0: New file.
6461
6462 2012-01-08  Jim Meyering  <meyering@redhat.com>
6463
6464         select.c: indent with spaces, not TABs
6465         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
6466
6467 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6468
6469         quotearg: do not use grave accent for left quote
6470         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
6471         locale_quoting_style.
6472         (quotearg_buffer_restyled): Fix example.
6473         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
6474
6475 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6476
6477         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
6478         Most programs do not have translation catalogs for English and much
6479         less separate catalogs for British and American English.  Drop the
6480         suggestion to translators about these two, and provide it
6481         automatically for Unicode locales.  Like most programs, even those
6482         using American English, we use single quotation marks.  This conflicts
6483         with the American typographic convention, but works better when you
6484         cite the entire error message within double quotes.  It also tries not
6485         to clash with established practice and with what non-gnulib programs
6486         will usually do.
6487         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
6488         using an UTF-8 or GB-18030 locale.  The list of other locales with
6489         quotes was provided by Bruno Haible.
6490         (quotearg_buffer_restyled): Adjust instructions to translators.
6491         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
6492         text, since this would be wrong when using Unicode.
6493         * modules/quotearg: Depend on c-strcaseeq.
6494
6495 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
6496
6497         quotearg: fix Wikipedia link
6498         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
6499
6500 2012-01-07  Simon Josefsson  <simon@josefsson.org>
6501
6502         Fix for mingw with MSVC9.
6503         * m4/ld-version-script.m4: Check that compiler rejects version
6504         scripts with syntax errors.  Reported by Bruno Haible
6505         <bruno@clisp.org>.
6506
6507 2012-01-06  Bruno Haible  <bruno@clisp.org>
6508
6509         Talk about "native Windows API", not "Woe32".
6510         * lib/accept4.c: Update comments to mention native Windows.
6511         * lib/execute.c: Likewise.
6512         * lib/fatal-signal.c: Likewise.
6513         * lib/localcharset.c: Likewise.
6514         * lib/nanosleep.c: Likewise.
6515         * lib/nl_langinfo.c: Likewise.
6516         * lib/pclose.c: Likewise.
6517         * lib/pipe-filter-gi.c: Likewise.
6518         * lib/pipe-filter-ii.c: Likewise.
6519         * lib/pipe.c: Likewise.
6520         * lib/pipe2.c: Likewise.
6521         * lib/popen.c: Likewise.
6522         * lib/progreloc.c: Likewise.
6523         * lib/relocatable.c: Likewise.
6524         * lib/sigaction.c: Likewise.
6525         * lib/sigprocmask.c: Likewise.
6526         * lib/spawn-pipe.h: Likewise.
6527         * lib/spawn-pipe.c: Likewise.
6528         * lib/spawni.c: Likewise.
6529         * lib/stat-time.h: Likewise.
6530         * lib/w32spawn.h: Likewise.
6531         * tests/test-isatty.c: Likewise.
6532         * lib/config.charset: More comments.
6533         * doc/gnulib-intro.texi: Mention native Windows.
6534         * doc/posix-functions/_Exit_C99.texi: Likewise.
6535         * doc/posix-headers/fcntl.texi: Likewise.
6536
6537 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
6538
6539         argp: Avoid crash if translator uses % characters in a translation.
6540         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
6541         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
6542
6543 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
6544
6545         doc: C11 and C++11 are now official
6546         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
6547         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
6548         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
6549         * modules/stdalign:
6550         Replace references to draft C1X to C11, and to draft C++0X to C++11.
6551
6552 2012-01-06  Bruno Haible  <bruno@clisp.org>
6553
6554         uc-is-grapheme-break tests: Tweak.
6555         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
6556         message.
6557
6558 2012-01-06  Bruno Haible  <bruno@clisp.org>
6559
6560         test-init.sh: correct the test for diff -u
6561         * tests/test-init.sh: Also redirect stdout to /dev/null.
6562
6563 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
6564
6565         Use ', not `, for quoting output.
6566         * build-aux/announce-gen (usage, sizes, print_news_deltas)
6567         (print_changelog_deltas, get_tool_versions, main program):
6568         * build-aux/git-version-gen:
6569         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
6570         * build-aux/move-if-change (help):
6571         * build-aux/useless-if-before-free (usage, main program):
6572         * check-module (parse_module_file, usage)
6573         (find_included_lib_files, check_module):
6574         * lib/argmatch.c (main) [TEST]:
6575         * lib/argp-help.c (_help):
6576         * lib/getopt1.c (main) [TEST]:
6577         * lib/git-merge-changelog.c (usage):
6578         * lib/xstrtol-error.c (xstrtol_error):
6579         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
6580         * m4/argz.m4 (gl_FUNC_ARGZ):
6581         * m4/bison.m4 (gl_BISON):
6582         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
6583         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
6584         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
6585         * m4/fpending.m4 (gl_PREREQ_FPENDING):
6586         * m4/gc-random.m4 (gl_GC_RANDOM):
6587         * m4/intl.m4 (gt_CHECK_DECL):
6588         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
6589         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
6590         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
6591         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
6592         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
6593         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
6594         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
6595         * tests/test-dirname.c (main):
6596         * tests/test-getpass.c (main):
6597         * tests/test-iconvme.c (main):
6598         * tests/test-parse-datetime.c (LOG):
6599         * tests/test-xstrtoimax.sh:
6600         * tests/test-xstrtol.sh:
6601         * tests/test-xstrtoll.sh:
6602         * tests/test-xstrtoumax.sh:
6603         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
6604         * top/GNUmakefile (abort-due-to-no-makefile):
6605         Quote 'like this', not `like this', as per the recent change to
6606         the GNU coding standards.
6607
6608 2012-01-05  Bruno Haible  <bruno@clisp.org>
6609
6610         strtoimax: Don't force a replacement on systems where intmax_t is int.
6611         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
6612         'intmax_t' is not larger than 'int'.
6613         Reported by Pádraig Brady <P@draigBrady.com>.
6614
6615 2012-01-05  Bruno Haible  <bruno@clisp.org>
6616
6617         doc: Mention NetBSD bugs.
6618         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
6619         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
6620
6621 2012-01-05  Bruno Haible  <bruno@clisp.org>
6622
6623         strtoumax tests: Enhance tests.
6624         * tests/test-strtoumax.c (main): Add tests for large values.
6625
6626 2012-01-05  Bruno Haible  <bruno@clisp.org>
6627
6628         strtoimax: Work around AIX 5.1 bug.
6629         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
6630         definition.
6631         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
6632         Set HAVE_STRTOIMAX.
6633         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
6634         REPLACE_STRTOIMAX.
6635         * modules/inttypes-incomplete (Makefile.am): Substitute
6636         REPLACE_STRTOIMAX.
6637         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
6638         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
6639         (Depends-on): Update conditions.
6640         * tests/test-strtoimax.c (main): Add tests for large values.
6641         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
6642
6643 2012-01-05  Bruno Haible  <bruno@clisp.org>
6644
6645         inttypes: Modernize.
6646         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
6647         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
6648         (Makefile.am): Update inttypes.h rule.
6649
6650 2012-01-05  Jim Meyering  <meyering@redhat.com>
6651
6652         init.sh: don't waste a subshell just to redirect stderr
6653         * tests/init.sh: In testing for diff -u and diff -c, use a
6654         stderr-redirecting exec inside `...` rather than a subshell.
6655
6656         test-init.sh: avoid failure on HP-UX 11.00
6657         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
6658         resolves to diff -c or cmp.  Reported by Bruno Haible.
6659
6660 2012-01-05  Bruno Haible  <bruno@clisp.org>
6661
6662         Tests for module 'strtoull'.
6663         * modules/strtoull-tests: New file.
6664         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
6665
6666 2012-01-05  Bruno Haible  <bruno@clisp.org>
6667
6668         Tests for module 'strtoll'.
6669         * modules/strtoll-tests: New file.
6670         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
6671
6672 2012-01-05  Bruno Haible  <bruno@clisp.org>
6673
6674         Tests for module 'strtoul'.
6675         * modules/strtoul-tests: New file.
6676         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
6677
6678 2012-01-05  Bruno Haible  <bruno@clisp.org>
6679
6680         Tests for module 'strtol'.
6681         * modules/strtol-tests: New file.
6682         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
6683
6684 2012-01-04  Jim Meyering  <meyering@redhat.com>
6685
6686         test-init.sh: accommodate Solaris 5.10's different diff -u output
6687         * tests/test-init.sh: Also exempt @@ lines from the comparison
6688         of diff output, since Solaris 5.10 and GNU diff formats differ.
6689         Reported by Stefano Lattarini.
6690
6691 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
6692
6693         test-posixtm: don't assume signed integer wraparound
6694         * tests/test-posixtm.c (main): Don't assume wraparound semantics
6695         after signed integer overflow.  Inspired by (though it may not
6696         fix) Bruno Haible's bug report in
6697         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
6698
6699         Spell out "Windows 9x" and "Windows XP".
6700         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
6701         "Windows 9x" and "WinXP" with "Windows XP".
6702
6703 2012-01-04  Jim Meyering  <meyering@redhat.com>
6704
6705         test-vc-list-files-cvs.sh: remove obsolete comment
6706         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
6707         double exit.  Now that's all encapsulated via skip_ and Exit.
6708
6709 2012-01-04  Bruno Haible  <bruno@clisp.org>
6710
6711         Talk about "native Windows API", not "Win32".
6712         * lib/classpath.c: Update comments to mention native Windows.
6713         * lib/csharpexec.c: Likewise.
6714         * lib/dup2.c: Likewise.
6715         * lib/error.c: Likewise.
6716         * lib/fcntl.c: Likewise.
6717         * lib/filename.h: Likewise.
6718         * lib/findprog.c: Likewise.
6719         * lib/get-rusage-as.c: Likewise.
6720         * lib/get-rusage-data.c: Likewise.
6721         * lib/getpagesize.c: Likewise.
6722         * lib/javaexec.c: Likewise.
6723         * lib/msvc-inval.c: Likewise.
6724         * lib/msvc-nothrow.c: Likewise.
6725         * lib/nanosleep.c: Likewise.
6726         * lib/nonblocking.c: Likewise.
6727         * lib/printf-parse.c: Likewise.
6728         * lib/setlocale.c: Likewise.
6729         * lib/sigaction.c: Likewise.
6730         * lib/strerror_r.c: Likewise.
6731         * lib/tmpdir.c: Likewise.
6732         * lib/vasnprintf.c: Likewise.
6733         * lib/w32spawn.h: Likewise.
6734         * lib/waitpid.c: Likewise.
6735         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
6736         * m4/locale-ar.m4: Likewise.
6737         * m4/locale-fr.m4: Likewise.
6738         * m4/locale-ja.m4: Likewise.
6739         * m4/locale-tr.m4: Likewise.
6740         * m4/locale-zh.m4: Likewise.
6741         * m4/printf.m4: Likewise.
6742         * tests/test-cloexec.c: Likewise.
6743         * tests/test-copy-acl.sh: Likewise.
6744         * tests/test-copy-file.sh: Likewise.
6745         * tests/test-file-has-acl.sh: Likewise.
6746         * tests/test-set-mode-acl.sh: Likewise.
6747         * tests/test-dup-safer.c: Likewise.
6748         * tests/test-dup2.c: Likewise.
6749         * tests/test-dup3.c: Likewise.
6750         * tests/test-fcntl.c: Likewise.
6751         * tests/test-nonblocking-pipe.h: Likewise.
6752         * tests/test-nonblocking-socket.h: Likewise.
6753         * tests/test-pipe.c: Likewise.
6754         * tests/test-pipe2.c: Likewise.
6755         * tests/test-spawn-pipe-child.c: Likewise.
6756         * doc/acl-resources.txt: Likewise.
6757         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6758         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
6759         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
6760         * lib/localcharset.c: Update comments to mention native Windows.
6761         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6762         * lib/localename.c: Likewise.
6763         * lib/progreloc.c: Likewise.
6764         * lib/relocatable.c: Likewise.
6765         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
6766         (windows_compute_revents): Renamed from win32_compute_revents.
6767         (windows_compute_revents_socket): Renamed from
6768         win32_compute_revents_socket.
6769         * lib/select.c: Update comments to mention native Windows.
6770         (windows_poll_handle): Renamed from win32_poll_handle.
6771         * m4/threadlib.m4: Update comments to mention native Windows.
6772         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
6773         --enable-threads=windows instead of --enable-threads=win32. Set
6774         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
6775         * lib/glthread/lock.h: Update comments to mention native Windows.
6776         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
6777         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
6778         USE_WIN32_THREADS.
6779         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
6780         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
6781         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
6782         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
6783         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
6784         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
6785         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
6786         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
6787         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
6788         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
6789         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
6790         * tests/test-tls.c: Likewise.
6791         Rationale:
6792         Microsoft renamed the "Win32 API" to "Windows API", as it is available
6793         on both 32-bit and 64-bit Windows systems.
6794         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
6795         line of distinction is between "native Windows" on one side and Unix/
6796         POSIX systems on the other side. More details in
6797         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
6798         Suggested by Paul Eggert.
6799
6800 2012-01-03  Bruno Haible  <bruno@clisp.org>
6801
6802         isatty: Support for MSVC 9.
6803         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
6804         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
6805         (_isatty_nothrow): New function.
6806         (isatty): Use it instead of _isatty.
6807         (IsConsoleHandle): Add comment, from Paolo Bonzini.
6808         * lib/poll.c (IsConsoleHandle): Likewise.
6809         * lib/select.c (IsConsoleHandle): Likewise.
6810         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
6811         (gl_PREREQ_ISATTY): New macro.
6812         * modules/isatty (Depends-on): Add msvc-inval.
6813         (configure.ac): Invoke gl_PREREQ_ISATTY.
6814
6815 2012-01-03  Jim Meyering  <meyering@redhat.com>
6816
6817         maint.mk: remove temporary transition aid from over 1.5 years ago
6818         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
6819         purpose was to aid in the transition (avoiding silent malfunction)
6820         from that old name to the new _sc_search_regexp.  This shim was
6821         added by commit 219c504b.
6822
6823         init.sh: do not try to accommodate compare arguments starting with "-"
6824         * tests/init.sh (compare_dev_null_): Do not try to accommodate
6825         compare arguments that start with "-".  Besides, we do not worry
6826         about this when invoking diff or cmp; why start now with sed?
6827         Using "--" to separate options from argument would trigger sed
6828         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
6829         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
6830
6831 2012-01-02  Bruno Haible  <bruno@clisp.org>
6832
6833         Enhance tests for module 'isatty'.
6834         * modules/isatty-tests (Depends-on): Add pipe-posix.
6835         * tests/test-isatty.c: Include <fcntl.h>.
6836         (DEV_NULL): New macro.
6837         (main): Test the resut of isatty() also on regular files, pipes, and
6838         /dev/null.
6839
6840         New module 'isatty'.
6841         * lib/unistd.in.h (isatty): New declaration.
6842         * lib/isatty.c: New file, based on an idea of
6843         Bastien Roucariès <roucaries.bastien@gmail.com>.
6844         * m4/isatty.m4: New file.
6845         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
6846         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
6847         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
6848         REPLACE_ISATTY.
6849         * modules/isatty: New file.
6850         * doc/posix-functions/isatty.texi: Mention the new module.
6851         Suggested by Paolo Bonzini.
6852
6853 2012-01-02  Bruno Haible  <bruno@clisp.org>
6854
6855         canonicalize: Tweak 2011-12-29 commit.
6856         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
6857         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
6858
6859 2012-01-02  Jim Meyering  <meyering@redhat.com>
6860
6861         gitlog-to-changelog: describe input syntax in --help output
6862         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
6863
6864         gitlog-to-changelog: fix typo in --help: show backslash before email @
6865         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
6866         in sources, but not in actual output.
6867
6868 2011-12-30  Jim Meyering  <meyering@redhat.com>
6869
6870         gitlog-to-changelog: don't malfunction when name contains %-directive
6871         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
6872         in a name string cause trouble.  E.g., with a user name of "%s",
6873         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
6874
6875 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
6876
6877         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
6878         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
6879         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
6880         the "  (tiny change)" notation that is appended to the standard
6881         ChangeLog "date  name  email" header line.
6882
6883 2012-01-01  Jim Meyering  <meyering@redhat.com>
6884
6885         test-framework-sh: init.sh: fix "make dist" failure
6886         When using gnulib-tool's --with-tests option and any module that
6887         depends on test-framework-sh, "make dist" would fail due to the
6888         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
6889         in the gltests directory, and not in the gllib/ directory.
6890         One way to work around that is to move the EXTRA_DIST += init.sh
6891         from the primary module to the -tests one:
6892         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
6893         * modules/test-framework-sh (Makefile.am): ...not here.
6894         Reported by Tom G. Christensen in
6895         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
6896
6897         version-etc: update copyright year reported by --version
6898         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
6899
6900 2011-12-31  Pádraig Brady  <P@draigBrady.com>
6901
6902         canonicalize: only stat() if required
6903         * lib/canonicalize.c (canonicalize_filename_mode):
6904         Avoid calling l?stat() when both CAN_MISSING,
6905         and CAN_NOLINKS are set, as we neither need
6906         to resolve symlinks or test component existence.
6907
6908 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
6909
6910         doc: cover st_ino issues once; add OpenVMS etc.
6911         * doc/posix-functions/stat.texi (stat):
6912         * doc/posix-functions/lstat.texi (lstat):
6913         * doc/posix-functions/fstatat.texi (fstatat):
6914         * doc/posix-functions/fstat.texi (fstat):
6915         Move general 'struct stat' stuff to sys_stat.texi,
6916         leaving behind a pointer.
6917         * doc/posix-headers/sys_stat.texi (sys/stat.h):
6918         Merge duplicate info about 'struct stat' problems into here.
6919         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
6920         and suggest partial workarounds.
6921
6922         same-inode: port to OpenVMS
6923         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
6924         three st_ino values.
6925
6926 2011-12-30  Pádraig Brady  <P@draigBrady.com>
6927
6928         canonicalize: fix references to stat() and lstat()
6929         * lib/canonicalize.c (canonicalize_filename_mode):
6930         Ensure references always resolve to a replacement
6931         function if required (even via a macro).
6932
6933 2011-12-30  Jim Meyering  <meyering@redhat.com>
6934
6935         gitlog-to-changelog: remove a little duplication
6936         * build-aux/gitlog-to-changelog (main): Grep @lines once,
6937         rather than twice.
6938
6939 2011-12-29  Pádraig Brady  <P@draigBrady.com>
6940
6941         canonicalize: add support for not resolving symlinks
6942         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
6943         indicate we don't want to follow symlinks.  Also
6944         provide CAN_MODE_MASK to aid setting these existing
6945         mutually exclusive values.
6946         * lib/canonicalize.c (canonicalize_filename_mode):
6947         Extract the flags from can_mode parameter, which
6948         are currently just used to select between stat()
6949         and lstat().  Also ensure that mutually exclusive
6950         values are flagged immediately as invalid.
6951         * tests/test-canonicalize.c: Verify symlinks are
6952         not followed, and that invalid flag combinations
6953         are diagnosed.
6954
6955 2011-12-25  Jim Meyering  <meyering@redhat.com>
6956
6957         gitlog-to-changelog: do not clump multi-paragraph entries
6958         Identical header lines (date,name,email+coauthors) are suppressed,
6959         thus putting all entries with those same characteristics under
6960         a single header.  However, when a log entry consists of two or
6961         more paragraphs, it may not be clear where it starts and ends.
6962         This change makes it so that such an entry is always separated
6963         from others by a header line, even when that header would
6964         otherwise be suppressed.
6965         * build-aux/gitlog-to-changelog: Implement the above.
6966         Inspired by a related request from Stefano Lattarini in
6967         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
6968
6969 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
6970
6971         announce-gen: fix `cmd' typo in diagnostic
6972         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
6973         diagnostic: a missing '$' meant that the command was not output.
6974
6975 2011-12-23  Jim Meyering  <meyering@redhat.com>
6976
6977         test-framework-sh: distribute init.sh
6978         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
6979         Otherwise, "make -C gnulib-tests check" (at least in grep) would
6980         fail due to the lack of init.sh.
6981
6982         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
6983         * modules/atexit-tests: Rather than listing tests/init.sh,
6984         now that there's a module for it, simply depend on that new module.
6985         * modules/closein-tests: Likewise.
6986         * modules/exclude-tests: Likewise.
6987         * modules/getcwd-tests: Likewise.
6988         * modules/perror-tests: Likewise.
6989         * modules/pread-tests: Likewise.
6990         * modules/pwrite-tests: Likewise.
6991         * modules/vc-list-files-tests: Likewise.
6992         * modules/verify-tests: Likewise.
6993         * modules/xalloc-die-tests: Likewise.
6994         * modules/xstrtoimax-tests: Likewise.
6995         * modules/xstrtol-tests: Likewise.
6996         * modules/xstrtoll-tests: Likewise.
6997         * modules/xstrtoumax-tests: Likewise.
6998         * modules/yesno-tests: Likewise.
6999
7000 2011-12-22  Jim Meyering  <meyering@redhat.com>
7001
7002         test-framework-sh: add minimal tests of init.sh's compare function
7003         * modules/test-framework-sh-tests: New file.
7004         * tests/test-init.sh: New file.
7005
7006         test-framework-sh: new module
7007         * modules/test-framework-sh: New file.
7008         * MODULES.html.sh (Support for maintaining and releasing projects):
7009         List it.
7010
7011         init.sh: do not emit simulated diff output to stderr
7012         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
7013
7014 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7015
7016         .gitignore: ignore gnulib.dvi and regex.info
7017         * doc/.gitignore:add gnulib.dvi and regex.info
7018
7019 2011-12-22  Jim Meyering  <meyering@redhat.com>
7020
7021         init.sh: correct previous change
7022         * tests/init.sh (compare): My previous change was wrong.
7023         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
7024
7025         init.sh: avoid unwarranted test failure when using "set -e"
7026         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
7027         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
7028         a use like "compare exp out" would get evoke an unconditional failure.
7029
7030 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
7031
7032         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
7033         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
7034         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
7035         autoreconf that did not.
7036         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
7037         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7038
7039 2011-12-17  Jim Meyering  <meyering@redhat.com>
7040
7041         bootstrap: remove some now-unneeded code
7042         This script arose back when gnulib-tool was young.
7043         Since then, it has seen improvements that render much of this
7044         script unnecessary.  In particular, it can now make symlinks
7045         to the files it uses.  Also, I no longer see as much value in
7046         marking files as read-only via comments.
7047         If you relied on the symlink-creation feature of the preceding
7048         version of this script, you can get most of that functionality
7049         by adding the --symlink option to the definition of
7050         gnulib_tool_option_extras in your bootstrap.conf file.
7051         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
7052         Run autopoint and libtoolize *before* gnulib-tool.
7053         After it, run an abbreviated autoreconf, rather than a loop around
7054         all tools.
7055         (slirp, bt_mark_as_generated): Remove functions.
7056
7057 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
7058
7059         ftoastr: fix typo
7060         * lib/ftoastr.h: Fix misspelling in comment.
7061
7062 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
7063
7064         * top/README-release: fix punctuation.
7065
7066 2011-12-17  Jim Meyering  <meyering@redhat.com>
7067
7068         bootstrap: correct the recent buildreq change
7069         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
7070         had no effect.
7071         * build-aux/bootstrap (buildreq): Bracket each search term with
7072         "*...*", so that the shell "case" statement works as intended.
7073         Add comments.
7074
7075 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
7076
7077         build: let bootstrap resort to wget when downloading .po files
7078         * build-aux/bootstrap (download_po_files): Fallback to wget when
7079         downloading the .po files via rsync fails.  This is necessary to
7080         bootstrap from behind a strict firewall.
7081
7082 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7083
7084         stdint: don't assume C++11 when compiling with g++
7085         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
7086         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
7087         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
7088         work also in C++ before C++11, as that improperly inhibits
7089         generating a substitute stdint.h for that case.
7090
7091 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
7092
7093         alloca: protect comment from gnulib-tool
7094         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
7095         that gnulib-tool doesn't think it's a license, and munge it to
7096         say "GCC version 3".
7097
7098 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
7099
7100         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
7101         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
7102         $(abs_top_builddir) instead of $(top_builddir).
7103
7104 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
7105
7106         strftime-tests: also test nanoseconds
7107         * tests/test-strftime.c (T): Add a test of %N.
7108
7109 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
7110
7111         inttypes, stdint: add C++11 support
7112         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
7113         when including inttypes.h and stdint.h.  Support this change to
7114         the standard.
7115         * doc/posix-headers/inttypes.texi (inttypes.h):
7116         * doc/posix-headers/stdint.texi (stdint.h): Document this.
7117         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
7118         Define if not defined already, for the benefit of pre-C++11 hosts.
7119         Define the standard format macros (e.g., PRId8) always.
7120         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
7121         Likewise, if __cpluspus.  Define the standard constant and limit
7122         macros (e.g., INT8_C, INT8_MAX) always.
7123         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
7124         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
7125         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
7126         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
7127         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
7128         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
7129         Likewise.
7130
7131 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
7132
7133         nonblocking tests: Fix test failure on Linux/PPC.
7134         Suggested by Prerna Saxena in
7135         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
7136         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
7137         Set to 1100000.
7138
7139 2011-12-12  Jim Meyering  <meyering@redhat.com>
7140
7141         argmatch: don't hard-code `' when listing valid option arguments
7142         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
7143         use the quote function to add quotes.  Use fputs rather than
7144         fprintf for the format string with no format directive.
7145
7146 2011-12-07  Eric Blake  <eblake@redhat.com>
7147
7148         bootstrap: detect tools required by gnulib-tool
7149         * build-aux/bootstrap (buildreq): Provide minimum implicit
7150         dependencies.
7151         * DEPENDENCIES: Mention patch as a prereq.
7152
7153 2011-12-04  Bruno Haible  <bruno@clisp.org>
7154
7155         sethostname: Port to Windows platforms.
7156         * lib/sethostname.c: Provide an alternate implementation for Windows
7157         platforms.
7158         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
7159         (main): Skip the test if sethostname() fails with EPERM. On Windows
7160         platforms, don't check the result of gethostname().
7161
7162 2011-12-04  Bruno Haible  <bruno@clisp.org>
7163             Jim Meyering  <meyering@redhat.com>
7164
7165         tests: Avoid spurious error message on platforms without mktemp program.
7166         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
7167
7168 2011-12-04  Bruno Haible  <bruno@clisp.org>
7169
7170         sethostname: Fix documentation.
7171         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
7172         "not fixed" section.
7173
7174 2011-12-03  Bruno Haible  <bruno@clisp.org>
7175
7176         gnulib-tool: Verify that the License field is present and non-empty.
7177         * gnulib-tool (func_get_license_raw): New function, extracted from
7178         func_get_license.
7179         (func_get_license): Use it. Warn if the module is not a test module and
7180         has no license.
7181         Suggested by Jim Meyering.
7182
7183 2011-12-03  Bruno Haible  <bruno@clisp.org>
7184
7185         sethostname tests: Fix link error on mingw.
7186         * tests/test-sethostname1.c: New file, extracted from
7187         tests/test-sethostname.c.
7188         * tests/test-sethostname2.c: New file, extracted from
7189         tests/test-sethostname.c.
7190         * tests/test-sethostname.c: Remove file.
7191         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
7192         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
7193         (Depends-on): Add gethostname.
7194         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
7195         Link the latter with $(GETHOSTNAME_LIB).
7196
7197         sethostname tests: Fix compilation error on mingw.
7198         * tests/test-sethostname.c: Don't include <sys/types.h>.
7199         (geteuid): Use a dummy value without uid_t.
7200         * modules/sethostname-tests (Depends-on): Remove sys_types.
7201
7202         sethostname tests: Avoid a gcc warning.
7203         * tests/test-sethostname.c (main): Remove an unused variable.
7204
7205         Tweak last commit.
7206         * modules/sethostname-tests (Files): Sort by decreasing importance.
7207         (configure.ac): Check for geteuid.
7208         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
7209         the test when there's nothing to test. Drop an unnecessary cast.
7210         Improve an error message. Verify that the final sethostname() call
7211         succeeds.
7212
7213 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7214
7215         Add a test suite for the sethostname module.
7216         * modules/sethostname-tests: New file.  A test program
7217         for the sethostname module.
7218         * tests/test-sethostname.c: Likewise.
7219
7220 2011-12-03  Bruno Haible  <bruno@clisp.org>
7221
7222         Tweak last commit.
7223         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
7224         Fix preprocessor directives indentation. Fix typos.
7225         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
7226         * modules/unistd (Makefile): Likewise.
7227
7228 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7229
7230         Integrate the sethostname module into unistd.
7231         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
7232         into the unistd.h header.
7233         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
7234         preprocessor directives.
7235         * modules/unistd: Setup the Makefile substitutions of the
7236         SETHOSTNAME preprocessor directives.
7237
7238 2011-12-03  Bruno Haible  <bruno@clisp.org>
7239
7240         Tweak last commit.
7241         * lib/sethostname.c: Don't include <string.h>.
7242         (sethostname): No need to copy the argument string to the stack. Don't
7243         call clearerr. Preserve errno when fprintf failed.
7244         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
7245         Don't invoke AC_REPLACE_FUNCS.
7246         * modules/sethostname (Link): Remove empty section.
7247         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
7248         failure problem.
7249
7250 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7251
7252         New module 'sethostname'.
7253         * lib/sethostname.c (sethostname): New file.  Provide sethostname
7254         for systems that lack it.
7255         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
7256         sethostname declaration and function.
7257         * modules/sethostname: New file.  Define the sethostname module.
7258
7259 2011-12-03  Bruno Haible  <bruno@clisp.org>
7260
7261         Tweak last commit.
7262         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
7263
7264 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
7265
7266         Split the HOST_NAME_MAX detection into a separate m4 macro.
7267         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
7268         macro so it can be used by the pending sethostname module.
7269
7270 2011-12-03  Bruno Haible  <bruno@clisp.org>
7271
7272         Fix module descriptions syntax.
7273         * modules/argv-iter (License): Fix syntax.
7274         * modules/di-set (License): Likewise.
7275         * modules/ino-map (License): Likewise.
7276         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
7277
7278 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
7279
7280         stdalign: port to Clang 3.0
7281         Problem reported by Simon Josefsson in
7282         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
7283         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
7284         which has <stdalign.h> but which does not define alignof.
7285         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
7286
7287 2011-12-01  Eric Blake  <eblake@redhat.com>
7288
7289         mktempd: silence dd usage
7290         * build-aux/mktempd (rand_bytes): Silence dd.
7291
7292 2011-11-30  Simon Josefsson  <simon@josefsson.org>
7293
7294         manywarnings: Don't mention gcc version in docstring.
7295         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
7296         Jim Meyering <meyering@redhat.com>.
7297
7298 2011-11-30  Jim Meyering  <meyering@redhat.com>
7299
7300         hash: mark a few floating point constants with "f" suffix
7301         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
7302         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
7303         floating point constants with "f", since they're destined to be
7304         saved/used as "float"s.
7305
7306 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
7307
7308         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
7309         * tests/test-float.c (test_long_double): Correct and re-enable the
7310         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
7311
7312 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
7313
7314         Avoid subtracting two pointers that don't point into the same block.
7315         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
7316         only pointers into the same memory block are subtracted. We cannot
7317         assume that sizeof (ptrdiff_t) == sizeof (void *).
7318
7319 2011-11-29  Eric Blake  <eblake@redhat.com>
7320
7321         maint.mk: add syntax check for use of compare from init.sh
7322         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
7323         moved here from coreutils.
7324
7325         manywarnings: drop -Wunsuffixed-float-constants
7326         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
7327         '1.0D', which is the only way to silence this warning for 'double'.
7328
7329 2011-11-29  Jim Meyering  <meyering@redhat.com>
7330
7331         hash: mark compute_bucket_size with the pure attribute
7332         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
7333
7334         quotearg, propername: correct pragma guard expression
7335         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
7336         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
7337
7338 2011-11-28  Jim Meyering  <meyering@redhat.com>
7339
7340         propername: do not mark proper_name with the const attribute
7341         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
7342         since it examines data pointed to by its parameter.
7343         * lib/propername.c (proper_name): Instead, add a pragma to suppress
7344         the suggestion from -Wsuggest-attribute=const.
7345
7346         propername: mark one more function as const
7347         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
7348
7349 2011-11-27  Jim Meyering  <meyering@redhat.com>
7350
7351         mark functions with const and pure attributes
7352
7353         Mark functions per suggestions from gcc-4.6 when using these options:
7354         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
7355         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
7356         Follow these guidelines: when possible, apply the attribute to
7357         an extern declaration, not to its definition.  Apply it to the
7358         definition only when the definition is static.
7359         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
7360         * lib/argv-iter.h (argv_iter_n_args): Likewise.
7361         * lib/base64.h (isbase64): Likewise.
7362         * lib/basename-lgpl.c (last_component, base_len): Likewise.
7363         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
7364         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
7365         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
7366         (c_tolower, c_toupper): Likewise.
7367         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
7368         * lib/chdir-long.c (find_non_slash): Likewise.
7369         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
7370         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
7371         * lib/file-type.h (file_type): Likewise.
7372         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
7373         * lib/filevercmp.c (verrevcmp): Likewise.
7374         * lib/freadahead.h (freadahead): Likewise.
7375         * lib/fts.c (fts_maxarglen): Likewise.
7376         * lib/hash-pjw.h (hash_pjw): Likewise.
7377         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
7378         * lib/hash.c (is_prime, next_prime): Likewise.
7379         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
7380         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
7381         (hash_table_ok, hash_get_first, hash_string): Likewise.
7382         (compute_bucket_size): Likewise.
7383         * lib/i-ring.h (i_ring_empty): Likewise.
7384         * lib/isnan.c (isnanl): Likewise.
7385         * lib/math.h (isnanl, rpl_isnanl): Likewise.
7386         * lib/memcasecmp.h (memcasecmp): Likewise.
7387         * lib/memchr2.h (memchr2): Likewise.
7388         * lib/memcmp2.h (memcmp2): Likewise.
7389         * lib/parse-datetime.y (lookup_zone): Likewise.
7390         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
7391         [!WINDOWS_SOCKETS]: Likewise.
7392         * lib/strnlen1.h (strnlen1): Likewise.
7393         * lib/uniwidth.in.h (uc_width): Likewise.
7394         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
7395         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
7396         (quoting_options_from_style): Add a comment.
7397         * lib/propername.h (proper_name): Add a comment.
7398
7399 2011-11-27  Bruno Haible  <bruno@clisp.org>
7400
7401         Remove unused macros from !_LIBC code in glibc-borrowed files.
7402         * lib/fnmatch.c (STRCOLL): Remove macro.
7403         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
7404         * lib/glob.c (__stat, __readdir64): Remove macros.
7405         * lib/tempname.c (__open64, __xstat64): Remove macros.
7406         Suggested by Paul Eggert.
7407
7408 2011-11-27  Bruno Haible  <bruno@clisp.org>
7409
7410         getcwd: Fix link error on MSVC 9.
7411         * modules/getcwd (Depends-on): Add readdir, rewinddir.
7412
7413 2011-11-27  Bruno Haible  <bruno@clisp.org>
7414
7415         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
7416         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
7417         HAVE_OPENDIR is 0.
7418         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
7419         HAVE_CLOSEDIR is 0.
7420         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
7421         is 0.
7422         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
7423
7424 2011-11-27  Bruno Haible  <bruno@clisp.org>
7425
7426         getcwd: Fix bug from 2011-08-17.
7427         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
7428         platforms that need it.
7429         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
7430         code of 4 to be a failure, not a success. This ensures that
7431         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
7432
7433 2011-11-27  Bruno Haible  <bruno@clisp.org>
7434
7435         binary-io tests: Avoid test failure on mingw when libtool is used.
7436         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
7437         Don't verify the size of t-bin-out1.tmp here.
7438         * tests/test-binary-io.sh: Verify it here.
7439         Reported by Simon Josefsson.
7440
7441 2011-11-26  Bruno Haible  <bruno@clisp.org>
7442
7443         Fix conflict between two instantiations of module 'unistd'.
7444         * gnulib-tool (func_emit_autoconf_snippet): Substitute
7445         ${include_guard_prefix} also in the autoconf snippet.
7446         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
7447         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
7448         GNULIB_UNISTD_H_GETOPT.
7449         * modules/getopt-posix (configure.ac): Set the
7450         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
7451         * modules/getopt-gnu (configure.ac): Likewise.
7452         * modules/unistd (Makefile.am): Change the substitution value of
7453         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
7454         Reported by Simon Josefsson.
7455
7456 2011-11-25  Bruno Haible  <bruno@clisp.org>
7457
7458         pagealign_alloc: Doc and comments.
7459         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
7460         module.
7461         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
7462
7463 2011-11-25  Jim Meyering  <meyering@redhat.com>
7464
7465         test-update-copyright.sh: avoid false-positive failure
7466         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
7467         around false positive failure on Cygwin/Windows.  The latter was
7468         matching erroneously-created files with names like
7469         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
7470
7471 2011-11-25  Simon Josefsson  <simon@josefsson.org>
7472
7473         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
7474         * m4/valgrind-tests.m4: Check that the parameters that will be
7475         used works, not just a subset of them.  Reported by Bruno Haible
7476         <bruno@clisp.org>.
7477
7478 2011-11-24  Jim Meyering  <meyering@redhat.com>
7479
7480         test-stdalign.c: comment out long double tests
7481         * tests/test-stdalign.c: Don't try to reduce alignment of long double
7482         variables.  That provokes errors like this from gcc-4.7.0 20111124:
7483         error: '_Alignas' specifiers cannot reduce alignment of \
7484         'static_longdouble_alignas'.
7485
7486 2011-11-22  Jim Meyering  <meyering@redhat.com>
7487
7488         init.sh: make "compare /dev/null FILE" output more readable
7489         * tests/init.sh (compare_): Document the preferred order of arguments.
7490         (emit_diff_u_header_): New function.
7491         (compare_dev_null_): Emit a simulated diff, rather than just the
7492         contents of the unexpected file.  Suggestion from Bruno Haible.
7493
7494 2011-11-21  Jim Meyering  <meyering@redhat.com>
7495             Eric Blake  <eblake@redhat.com>
7496
7497         init.sh: work around OSF/1 5.1's mishandling of /dev/null
7498         * tests/init.sh: Make our compare function slightly more portable.
7499         Reported by Bruno Haible in
7500         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
7501
7502 2011-11-21  Simon Josefsson  <simon@josefsson.org>
7503
7504         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
7505         before using it, in code that ends up in config.h.
7506
7507 2011-11-20  Bruno Haible  <bruno@clisp.org>
7508
7509         getcwd: Work around getcwd bug on AIX 5..7.
7510         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
7511         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
7512         Use a different value for gl_cv_func_getcwd_path_max. Move the
7513         definition of HAVE_PARTLY_WORKING_GETCWD from here...
7514         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
7515         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
7516         Define HAVE_MINIMALLY_WORKING_GETCWD.
7517         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
7518         where it is not even minimally working, that is, on AIX.
7519         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
7520         m4/getcwd-path-max.m4.
7521         (main): Update exit code computation.
7522         * doc/posix-functions/getcwd.texi: Mention list of platforms where
7523         getcwd does not handle long file names.
7524
7525 2011-11-20  Bruno Haible  <bruno@clisp.org>
7526
7527         getcwd: Fix bug from 2009-09-10.
7528         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
7529         like "no".
7530
7531 2011-11-20  Simon Josefsson  <simon@josefsson.org>
7532
7533         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
7534
7535 2011-11-20  Bruno Haible  <bruno@clisp.org>
7536
7537         fma tests: Avoid shadowing local variables.
7538         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
7539         expected.
7540
7541 2011-11-20  Bruno Haible  <bruno@clisp.org>
7542
7543         copysignf tests: Fix.
7544         * tests/test-copysignf.c: Fix signature check.
7545
7546 2011-11-20  Bruno Haible  <bruno@clisp.org>
7547
7548         fma: Remove unused code.
7549         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
7550         unused macros.
7551
7552 2011-11-20  Bruno Haible  <bruno@clisp.org>
7553
7554         sethostname: Fix doc about AIX.
7555         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
7556         sethostname; it has it.
7557
7558         sethostname: Mention more portability problems.
7559         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
7560         problem.
7561         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7562
7563 2011-11-19  Bruno Haible  <bruno@clisp.org>
7564
7565         Depend on module fcntl-h when AT_FDCWD is used.
7566         * modules/utimens (Depends-on): Add fcntl-h.
7567         * modules/areadlinkat (Depends-on): Likewise.
7568         * modules/areadlinkat-with-size (Depends-on): Likewise.
7569         * modules/faccessat (Depends-on): Likewise.
7570         * modules/fchmodat (Depends-on): Likewise.
7571         * modules/fchownat (Depends-on): Likewise.
7572         * modules/getcwd (Depends-on): Likewise.
7573         * modules/mkdirat (Depends-on): Likewise.
7574         * modules/mkfifoat (Depends-on): Likewise.
7575         * modules/readlinkat (Depends-on): Likewise.
7576         * modules/symlinkat (Depends-on): Likewise.
7577         * modules/dup2-tests (Depends-on): Likewise.
7578         * modules/fdutimensat-tests (Depends-on): Likewise.
7579         * modules/futimens-tests (Depends-on): Likewise.
7580
7581 2011-11-19  Bruno Haible  <bruno@clisp.org>
7582
7583         euidaccess: Update a comment.
7584         * lib/euidaccess.c: Update comment about platforms with faccessat.
7585
7586 2011-11-19  Bruno Haible  <bruno@clisp.org>
7587
7588         openat: Fix file list.
7589         * modules/openat (Files): Remove lib/at-func.c.
7590
7591 2011-11-19  Bruno Haible  <bruno@clisp.org>
7592
7593         fstatat: Simplify.
7594         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
7595         gnulib should define rpl_fstatat, there is a
7596         "#define fstatat rpl_fstatat" in <sys/stat.h>.
7597
7598 2011-11-19  Bruno Haible  <bruno@clisp.org>
7599
7600         Ensure 'inline' can be used in tests/test-utimens-common.h.
7601         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
7602         * modules/futimens-tests (configure.ac): Likewise.
7603         * modules/utimens-tests (configure.ac): Likewise.
7604         * modules/utimensat-tests (configure.ac): Likewise.
7605
7606 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7607
7608         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
7609         not hash_insert0.
7610         (hash_insert_if_absent): Doc fix.
7611
7612 2011-11-19  Simon Josefsson  <simon@josefsson.org>
7613
7614         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
7615
7616 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
7617
7618         test-getcwd: disambiguate exit status
7619         * tests/test-getcwd.c (test_long_name): Return 0..7.
7620         (main): Exit with an unambiguous exit status.  The old
7621         code yielded a mysterious mixture of two failure codes.
7622
7623         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
7624         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
7625         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
7626         rpl_fstatat or fstatat.  This should fix the other problem
7627         reported by Kai Habel in
7628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7629         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
7630         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
7631         and I reproduced it on a Solaris 8 host we still have in production.
7632
7633 2011-11-18  Jim Meyering  <meyering@redhat.com>
7634
7635         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
7636         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
7637         Add a sentence to the comment.
7638         (hash_insert0): New function that simply calls hash_insert_if_absent.
7639         * lib/hash.h (hash_insert_if_absent): Declare it.
7640         (hash_insert0): Add deprecation attribute.
7641         (_GL_ATTRIBUTE_DEPRECATED): Define.
7642         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
7643         not hash_insert0.
7644         * NEWS: Mention it, even though it's not really an incompatible change.
7645
7646 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
7647
7648         openat: avoid compilation failure due to lack of <errno.h> inclusion
7649         * lib/openat.c: Include <errno.h>.
7650
7651 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
7652
7653         * modules/getcwd (Depends-on): Add fdopendir.
7654         This fixes one of the two problems reported by Kai Habel in
7655         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
7656
7657         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
7658         stdalign problem reported by Ian Beckwith in
7659         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
7660         * modules/crypto/gc-arcfour (Depends-on):
7661         Depend conditionally on crypto/arcfour.
7662         * modules/crypto/gc-arctwo (Depends-on):
7663         Depend conditionally on crypto/arctwo.
7664         * modules/crypto/gc-des (Depends-on):
7665         Depend conditionally on crypto/des.
7666         * modules/crypto/gc-hmac-md5 (Depends-on):
7667         Depend conditionally on crypto/hmac-md5.
7668         * modules/crypto/gc-hmac-sha1 (Depends-on):
7669         Depend conditionally on crypto/hmac-sha1.
7670         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
7671         * modules/crypto/gc-md4 (Depends-on):
7672         Depend conditionally on crypto/md4.
7673         * modules/crypto/gc-md5 (Depends-on):
7674         Depend conditionally on crypto/md5.
7675         * modules/crypto/gc-rijndael (Depends-on):
7676         Depend conditionally on crypto/rijndael.
7677         * modules/crypto/gc-sha1 (Depends-on):
7678         Depend conditionally on crypto/sha1.
7679         * modules/crypto/gc-arcfour:
7680         * modules/crypto/gc-arctwo:
7681         * modules/crypto/gc-des:
7682         * modules/crypto/gc-hmac-md5:
7683         * modules/crypto/gc-hmac-sha1:
7684         * modules/crypto/gc-md2:
7685         * modules/crypto/gc-md4:
7686         * modules/crypto/gc-md5:
7687         * modules/crypto/gc-rijndael:
7688         * modules/crypto/gc-sha1:
7689         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
7690         now that the conditional dependencies do the work for us.
7691
7692 2011-11-17  Jim Meyering  <meyering@redhat.com>
7693
7694         tests: factor st_ctime-comparison out of two headers
7695         * tests/test-utimens-common.h (ctime_compare): Define.
7696         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
7697         * tests/test-lutimens.h (test_lutimens): Likewise.
7698         * tests/test-utimens.h (test_utimens): Likewise.
7699
7700         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
7701         Invoke the test program via an init.sh-using wrapper.
7702         * tests/test-getcwd.sh: New file.
7703         * modules/getcwd-tests (Files): Add it.
7704         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
7705
7706 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
7707
7708         gitlog-to-changelog: support multi-author commits.
7709         The FSF cares about keeping track of all authors of patches to its
7710         projects, but Git doesn't provide obvious support for multi-author
7711         changesets. Consensus seems to be forming around the use of extra
7712         Signed-off-by inspired lines in the log message formatted as
7713         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
7714         multi-author commits between version control systems.
7715         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
7716         log message and output in standard ChangeLog multi-author format.
7717         Reported by Peter Rosin <peda@lysator.liu.se>
7718
7719 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
7720             Bruno Haible  <bruno@clisp.org>
7721
7722         Fix some modules' file list.
7723         * modules/fstatat (Files): Add m4/lstat.m4.
7724         * modules/openat (Files): Likewise.
7725         * modules/unlinkat (Files): Likewise.
7726
7727 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
7728
7729         maint.mk: fix tight-scope.mk generation in VPATH builds.
7730         * top/maint.mk (tight-scope.mk): Make sure to prefix file
7731         reference with $(srcdir) so that the file is found correctly even
7732         when running `make syntax-check' in a VPATH build.
7733
7734 2011-11-13  Bruno Haible  <bruno@clisp.org>
7735             Jim Meyering  <meyering@redhat.com>
7736
7737         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
7738         * tests/init.sh (compare): Remove "No differences encountered" or
7739         synonymous output from the 'diff' program.
7740
7741 2011-11-13  Bruno Haible  <bruno@clisp.org>
7742
7743         Makefile: Tweak indentation.
7744         * Makefile: Use tab as first character in every line that contains rule
7745         commands.
7746
7747 2011-11-13  Bruno Haible  <bruno@clisp.org>
7748
7749         Syntax check for copyright statements.
7750         * check-copyright: New file.
7751         * Makefile (sc_check_copyright): New rule.
7752
7753 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7754
7755         * build-aux/git-version-gen: Add --prefix to configure the tag
7756         match string.
7757
7758 2011-11-13  Simon Josefsson  <simon@josefsson.org>
7759
7760         * build-aux/git-version-gen: Add --help and --version.
7761
7762 2011-11-12  Jim Meyering  <meyering@redhat.com>
7763
7764         revamp the other test-exclude?.sh scripts to use init.sh, too
7765         * tests/test-exclude1.sh: Use init.sh.
7766         * tests/test-exclude2.sh: Likewise.
7767         * tests/test-exclude3.sh: Likewise.
7768         * tests/test-exclude4.sh: Likewise.
7769         * tests/test-exclude5.sh: Likewise.
7770         * tests/test-exclude6.sh: Likewise.
7771         * tests/test-exclude7.sh: Likewise.
7772         * tests/test-exclude8.sh: Likewise.
7773         * modules/exclude-tests (Files): List init.sh.
7774
7775         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
7776         These shell scripts ignored failure of the binary test-exclude,
7777         so making the latter return 77 didn't cause them to be skipped.
7778         * tests/test-exclude5.sh: Exit with test-exclude's error status
7779         when that program fails.  Revamp to use init.sh.
7780         * tests/test-exclude2.sh: Likewise.
7781
7782         test-exclude: fix a typo
7783         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
7784
7785 2011-11-11  Bruno Haible  <bruno@clisp.org>
7786
7787         obstack: Fix compilation error on MSVC 9.
7788         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
7789
7790 2011-11-11  Jim Meyering  <meyering@redhat.com>
7791
7792         test-exclude: skip tests rather than failing on deficient systems
7793         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
7794         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
7795         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
7796         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
7797
7798 2011-11-10  Bruno Haible  <bruno@clisp.org>
7799
7800         ptsname_r test: Avoid gcc warning on glibc systems.
7801         * tests/test-ptsname_r.c (null_ptr): New function.
7802         (test_errors): Use it.
7803
7804 2011-11-10  Bruno Haible  <bruno@clisp.org>
7805
7806         ptsname_r: Avoid compilation error on OSF/1 5.1.
7807         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
7808         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
7809         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
7810         function is not declared or incompatibly declared.
7811         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
7812         * modules/ptsname_r (Depends-on, configure.ac): Update.
7813         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
7814
7815 2011-11-10  Bruno Haible  <bruno@clisp.org>
7816
7817         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
7818         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
7819         When cross-compiling, guess yes on all platforms except AIX.
7820         Reported by Ludovic Courtès <ludo@gnu.org>.
7821
7822 2011-11-09  Bruno Haible  <bruno@clisp.org>
7823
7824         ptsname_r tests: Fix bugs.
7825         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
7826         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
7827
7828 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
7829
7830         fstatat: work with cross-compilation
7831         Problem reported by Ludovic Courtès in
7832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
7833         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
7834         "cross-compiling" and assume the bug is present.  Replace
7835         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
7836         an inverted sense, to be more conservative about our assumptions.
7837         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
7838
7839 2011-11-09  Bruno Haible  <bruno@clisp.org>
7840
7841         Improve MODULES.html output.
7842         * modules/mkfifoat (Description): Use the word "function".
7843         * modules/readlinkat (Description): Likewise.
7844         * modules/symlinkat (Description): Likewise.
7845
7846 2011-11-09  Eric Blake  <eblake@redhat.com>
7847
7848         ptsname_r-tests: new test module
7849         * modules/ptsname_r-tests: New module.
7850         * tests/test-ptsname_r.c: New file.
7851
7852         ptsname_r: new module
7853         * modules/ptsname_r: New module.
7854         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
7855         * lib/ptsname.c (__ptsname_r): Split...
7856         * lib/ptsname_r.c: ...into new file.
7857         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
7858         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
7859         * modules/stdlib (Makefile.am): Substitute witnesses.
7860         * lib/stdlib.in.h (ptsname_r): Declare it.
7861         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
7862         * MODULES.html.sh (Misc): Likewise.
7863         * modules/ptsname (Depends-on): Alter dependency.
7864         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
7865
7866 2011-11-09  Jim Meyering  <meyering@redhat.com>
7867
7868         announce-gen: be more concise when there's only one URL+tarball
7869         * build-aux/announce-gen (get_tool_versions): When you distribute
7870         only one type of tarball, combine the first two "Here are..."
7871         sections and make the key-checking grammar independent of
7872         how many tarballs there are.
7873
7874 2011-11-09  Eric Blake  <eblake@redhat.com>
7875
7876         openpty: provide a stub on mingw
7877         * lib/pty.in.h (includes): Provide forward declarations.
7878         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
7879
7880         raise: fix mingw handling of SIGPIPE
7881         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
7882
7883 2011-11-08  Bruno Haible  <bruno@clisp.org>
7884
7885         More conditional dependencies.
7886         * modules/faccessat (Depends-on): Add conditions.
7887         * modules/fchmodat (Depends-on): Likewise.
7888         * modules/fchownat (Depends-on): Likewise.
7889         * modules/fstatat (Depends-on): Likewise.
7890         * modules/mkfifoat (Depends-on): Likewise.
7891         * modules/readlinkat (Depends-on): Likewise.
7892         * modules/symlinkat (Depends-on): Likewise.
7893         * modules/unlinkat (Depends-on): Likewise.
7894         * modules/utimensat (Depends-on): Likewise.
7895         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
7896         * modules/linkat (Depends-on): Refine the conditions.
7897         * modules/renameat (Depends-on): Likewise.
7898
7899 2011-11-08  Bruno Haible  <bruno@clisp.org>
7900
7901         faccessat: Move AC_LIBOBJ invocation to module description.
7902         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
7903         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
7904         invocation from here...
7905         * modules/faccessat (configure.ac): ... to here. Invoke
7906         gl_PREREQ_FACCESSAT.
7907
7908 2011-11-08  Bruno Haible  <bruno@clisp.org>
7909
7910         faccessat: Simplify autoconf macro.
7911         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
7912         gl_FUNC_EUIDACCESS.
7913
7914 2011-11-08  Bruno Haible  <bruno@clisp.org>
7915
7916         renameat: Fix dependencies.
7917         * modules/renameat (Depends-on): Add stdbool.
7918
7919 2011-11-08  Bruno Haible  <bruno@clisp.org>
7920
7921         mkfifoat: Fix module description.
7922         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
7923         not gl_UNISTD_MODULE_INDICATOR.
7924
7925 2011-11-08  Bruno Haible  <bruno@clisp.org>
7926
7927         fstatat: Remove unused dependency.
7928         * modules/fstatat (Depends-on): Remove fstat.
7929
7930 2011-11-08  Simon Josefsson  <simon@josefsson.org>
7931
7932         GNUmakefile: behave when Makefile is missing.
7933         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
7934
7935 2011-11-08  Bruno Haible  <bruno@clisp.org>
7936
7937         openat: Conditionalize dependencies.
7938         * lib/openat.c: Reduce the scope of some #includes.
7939         * modules/openat (Depends-on): Add conditions.
7940
7941 2011-11-07  Jim Meyering  <meyering@redhat.com>
7942
7943         maint.mk: extract GPG key ID without using a temporary file
7944         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
7945         without using a temporary file.  Based on a suggestion from Werner Koch
7946         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
7947
7948 2011-11-07  Eric Blake  <eblake@redhat.com>
7949
7950         grantpt: fix typo
7951         * lib/stdlib.in.h (grantpt): Check correct function.
7952
7953         maint.mk: silence new syntax check
7954         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
7955
7956 2011-11-06  Bruno Haible  <bruno@clisp.org>
7957
7958         Doc about floating-point and math API.
7959         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
7960         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
7961
7962 2011-11-06  Bruno Haible  <bruno@clisp.org>
7963
7964         stdalign tests: Skip the test when compiled by Sun C.
7965         * tests/test-stdalign.c (main): Skip the test on Sun C.
7966
7967 2011-11-06  Bruno Haible  <bruno@clisp.org>
7968
7969         ansi-c++-opt: Complete the 2011-06-05 change.
7970         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
7971         does not support namespaces, set the variable to "no", not to ":".
7972
7973 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
7974
7975         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
7976
7977 2011-11-06  Bruno Haible  <bruno@clisp.org>
7978
7979         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
7980         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
7981         (minus_zerol) [HP-UX]: New macro.
7982         (unary_minus) [HP-UX]: New function.
7983         (copysignl) [HP-UX]: Use unary_minus function.
7984
7985 2011-11-06  Bruno Haible  <bruno@clisp.org>
7986
7987         ldexp, ldexpf, ldexpl: Enhance tests.
7988         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
7989         and tests/test-ldexpl.c.
7990         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
7991         LDEXP, MIN_EXP, MAX_EXP): New macros.
7992         Include test-ldexp.h.
7993         (main): Just call test_function.
7994         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
7995         infinity.h, nan.h.
7996         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
7997         MAX_EXP): New macros.
7998         Include test-ldexp.h.
7999         (x, y): Remove variables.
8000         (main): Just call test_function.
8001         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
8002         infinity.h, nan.h.
8003         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
8004         MAX_EXP): New macros.
8005         Include test-ldexp.h.
8006         (x, y): Remove variables.
8007         (main): Just call test_function.
8008         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
8009         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
8010         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8011         (Depends-on): Add isnand-nolibm, signbit, float.
8012         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
8013         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
8014         (Depends-on): Add isnanf-nolibm, signbit, float.
8015
8016 2011-11-06  Bruno Haible  <bruno@clisp.org>
8017
8018         math tests: Cosmetics.
8019         * tests/test-math-c++.cc: Reorder declarations.
8020
8021 2011-11-05  Bruno Haible  <bruno@clisp.org>
8022
8023         fma*: Simplify test.
8024         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
8025         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
8026
8027         Tests for module 'fmal'.
8028         * modules/fmal-tests: New file.
8029         * tests/test-fmal1.c: New file.
8030         * tests/test-fmal2.c: New file.
8031
8032         New module 'fmal'.
8033         * lib/math.in.h (fmal): New declaration.
8034         * lib/fmal.c: New file.
8035         * m4/fmal.m4: New file.
8036         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
8037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
8038         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
8039         REPLACE_FMAL.
8040         * modules/fmal: New file.
8041         * doc/posix-functions/fmal.texi: Mention the new module and the various
8042         bugs.
8043
8044         Tests for module 'fmaf'.
8045         * modules/fmaf-tests: New file.
8046         * tests/test-fmaf1.c: New file.
8047         * tests/test-fmaf2.c: New file.
8048
8049         New module 'fmaf'.
8050         * lib/math.in.h (fmaf): New declaration.
8051         * lib/fmaf.c: New file.
8052         * m4/fmaf.m4: New file.
8053         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
8054         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
8055         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
8056         REPLACE_FMAF.
8057         * modules/fmaf: New file.
8058         * doc/posix-functions/fmaf.texi: Mention the new module and the various
8059         bugs.
8060
8061         Tests for module 'fma'.
8062         * modules/fma-tests: New file.
8063         * tests/test-fma1.c: New file.
8064         * tests/test-fma1.h: New file.
8065         * tests/test-fma2.c: New file.
8066         * tests/test-fma2.h: New file.
8067
8068         New module 'fma'.
8069         * lib/math.in.h (fma): New declaration.
8070         * lib/fma.c: New file.
8071         * m4/fma.m4: New file.
8072         * m4/fegetround.m4: New file.
8073         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
8074         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
8075         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
8076         REPLACE_FMA.
8077         * modules/fma: New file.
8078         * doc/posix-functions/fma.texi: Mention the new module and the various
8079         bugs.
8080
8081         Extend gl_MATHFUNC.
8082         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
8083         Support 'void' as argument type.
8084         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
8085
8086 2011-11-05  Jim Meyering  <meyering@redhat.com>
8087
8088         maint.mk: also prohibit inclusion of dirent.h without use
8089         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
8090
8091 2011-11-05  Bruno Haible  <bruno@clisp.org>
8092
8093         ldexpl tests: Avoid test failure on MSVC 9.
8094         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
8095         value. Needed in order to enforce the conversion from a value greater
8096         than LDBL_MAX to Infinity.
8097
8098 2011-11-05  Bruno Haible  <bruno@clisp.org>
8099
8100         New modules 'at-internal', 'openat-h', split off from module 'openat'.
8101         * modules/at-internal: New file, extracted from modules/openat.
8102         * modules/openat-h: New file.
8103         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
8104         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
8105         * modules/openat (Description): Add reference to POSIX function.
8106         (Files): Remove lib/openat.h, lib/openat-proc.c.
8107         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
8108         intprops, unistd.
8109         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
8110         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
8111         gl_FCNTL_MODULE_INDICATOR.
8112         (Include): Remove unistd.h, openat.h.
8113         * modules/areadlinkat (Files): Add lib/at-func.c.
8114         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8115         openat-die, openat-h, save-cwd.
8116         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
8117         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8118         openat-die, openat-h, save-cwd, unistd.
8119         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
8120         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8121         openat-h, save-cwd. Remove fcntl-h, openat.
8122         * modules/fchmodat (Files): Remove lib/openat.h.
8123         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8124         openat, stdbool, unistd.
8125         * modules/fchownat (Files): Remove lib/openat.h.
8126         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8127         openat, stdbool, sys_stat.
8128         * modules/fdopendir (Files): Remove lib/openat-priv.h,
8129         lib/openat-proc.c.
8130         (Depends-on): Add at-internal.
8131         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
8132         * modules/fstatat (Files): Remove lib/openat.h.
8133         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8134         stdbool, unistd.
8135         * modules/fts (Depends-on): Add openat-h.
8136         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
8137         openat.
8138         * modules/mkdirat (Files): Remove lib/openat.h.
8139         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
8140         openat, stdbool, sys_stat.
8141         * modules/mkfifoat (Files): Add lib/at-func.c.
8142         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8143         openat-h, save-cwd. Remove fcntl-h, openat.
8144         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
8145         * modules/readlinkat (Files): Add lib/at-func.c.
8146         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8147         openat-h, save-cwd. Remove fcntl-h, openat.
8148         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
8149         openat.
8150         * modules/selinux-at (Files): Add lib/at-func.c.
8151         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
8152         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
8153         * modules/symlinkat (Files): Add lib/at-func.c.
8154         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
8155         openat-h, save-cwd. Remove fcntl-h, openat.
8156         * modules/unlinkat (Files): Remove lib/openat.h.
8157         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
8158         stdbool.
8159         * modules/utimensat (Files): Add lib/at-func.c.
8160         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
8161         openat-die, openat-h, save-cwd.
8162         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
8163         * modules/fdutimensat-tests (Depends-on): Add openat.
8164         * modules/fstatat-tests (Depends-on): Add openat-h.
8165         * modules/readlinkat-tests (Depends-on): Add openat.
8166         * modules/symlinkat-tests (Depends-on): Add openat.
8167
8168 2011-11-05  Bruno Haible  <bruno@clisp.org>
8169
8170         openat: Include <stdbool.h>.
8171         * lib/openat.c: Include <stdbool.h>.
8172
8173 2011-11-04  Bruno Haible  <bruno@clisp.org>
8174
8175         fchownat, renameat, unlinkat: Fix dependencies.
8176         * modules/fchownat (Depends-on): Add fstatat.
8177         * modules/renameat (Depends-on): Likewise.
8178         * modules/unlinkat (Depends-on): Likewise.
8179
8180 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
8181
8182         openat: remove direct dependency on dirent
8183         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
8184         and hasn't been needed ever since fdopendir was split into its own
8185         module on 2009-08-31.
8186         * modules/openat (Depends-on): Remove dirent.
8187
8188 2011-11-04  Bruno Haible  <bruno@clisp.org>
8189
8190         renameat: Optimize code size.
8191         * modules/renameat (configure.ac): Don't compile at-func2.c if
8192         REPLACE_RENAMEAT is 1.
8193
8194 2011-11-04  Bruno Haible  <bruno@clisp.org>
8195
8196         openat tests: Fix file list.
8197         * modules/openat-tests (Files): Add tests/test-open.h.
8198
8199 2011-11-04  Bruno Haible  <bruno@clisp.org>
8200
8201         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
8202         * modules/fchmodat (Depends-on): Add openat-die.
8203         * modules/fchownat (Depends-on): Likewise.
8204         * modules/linkat (Depends-on): Likewise.
8205         * modules/renameat (Depends-on): Likewise.
8206         * modules/openat (Depends-on): Add dirent.
8207
8208 2011-11-04  Jim Meyering  <meyering@redhat.com>
8209
8210         at-func*.c: fix comments
8211         * lib/at-func2.c: Correct/improve first-line comment.
8212         * lib/at-func.c: Correct grammar in first-line comment.
8213
8214 2011-11-04  Bruno Haible  <bruno@clisp.org>
8215
8216         New module 'mkdirat', split off from module 'openat'.
8217         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
8218         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
8219         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
8220         * modules/mkdirat: New file, extracted from modules/openat.
8221         * modules/openat (Files): Remove lib/mkdirat.c.
8222         (Depends-on): Remove mkdir.
8223         (configure.ac): Remove AC_LIBOBJ of mkdirat.
8224         (Include): Remove <sys/stat.h>.
8225         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
8226         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
8227         tests/test-mkdir.h.
8228         (Depends-on): Remove ignore-value.
8229         (Makefile.am): Remove rules for test-mkdirat.
8230         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
8231         of module 'openat'.
8232         * NEWS: Mention the change.
8233
8234 2011-11-04  Bruno Haible  <bruno@clisp.org>
8235
8236         closedir: Avoid warning on mingw.
8237         * lib/closedir.c: Include <unistd.h>.
8238
8239 2011-11-04  Bruno Haible  <bruno@clisp.org>
8240
8241         New module 'fstatat', split off from module 'openat'.
8242         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
8243         defined.
8244         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
8245         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
8246         gl_FUNC_FSTATAT.
8247         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
8248         * modules/fstatat: New file, extracted from modules/openat.
8249         * modules/openat (Files): Remove lib/fstatat.c.
8250         (Depends-on): Remove lstat.
8251         (configure.ac): Remove AC_LIBOBJ of fstatat.
8252         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
8253         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
8254         tests/test-lstat.h, tests/test-stat.h.
8255         (Depends-on): Remove getcwd-lgpl.
8256         (Makefile.am): Remove rules for test-fstatat.
8257         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
8258         of module 'openat'.
8259         * NEWS: Mention the change.
8260         * modules/getcwd (Depends-on): Add fstatat.
8261         * modules/linkat (Depends-on): Likewise.
8262         * modules/mkfifoat-tests (Depends-on): Likewise.
8263         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
8264
8265 2011-11-03  Bruno Haible  <bruno@clisp.org>
8266
8267         New module 'unlinkat', split off from module 'openat'.
8268         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
8269         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
8270         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
8271         * modules/unlinkat: New file, extracted from modules/openat. Correct
8272         the dependency conditions.
8273         * modules/openat (Files): Remove lib/unlinkat.c.
8274         (Depends-on): Remove rmdir, unlink.
8275         (configure.ac): Remove AC_LIBOBJ of unlinkat.
8276         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
8277         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
8278         tests/test-rmdir.h, tests/test-unlink.h.
8279         (Depends-on): Remove unlinkdir.
8280         (Makefile.am): Remove rules for test-unlinkat.
8281         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
8282         of module 'openat'.
8283         * NEWS: Mention the change.
8284         * modules/linkat-tests (Depends-on): Add unlinkat.
8285         * modules/mkfifoat-tests (Depends-on): Likewise.
8286         * modules/readlinkat-tests (Depends-on): Likewise.
8287
8288 2011-11-02  Bruno Haible  <bruno@clisp.org>
8289
8290         New module 'fchmodat', split off from module 'openat'.
8291         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
8292         defined.
8293         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
8294         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
8295         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
8296         * modules/fchmodat: New file, extracted from modules/openat.
8297         * modules/openat (Files): Remove lib/fchmodat.c.
8298         (configure.ac): Remove AC_LIBOBJ of fchmodat.
8299         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
8300         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
8301         (Makefile.am): Remove rules for test-fchmodat.
8302         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
8303         of module 'openat'.
8304         * NEWS: Mention the change.
8305
8306 2011-11-02  Jim Meyering  <meyering@redhat.com>
8307
8308         putenv: indent #definition of "environ" to placate cppi
8309         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
8310
8311         gitlog-to-changelog: provide a ChangeLog-repair mechanism
8312         Git logs are often treated as immutable, because editing them
8313         changes the SHA1 checksums of all descendants.  Thus, errors in
8314         git logs tend to stay there forever.  However, when we generate
8315         a ChangeLog file -- typically for distribution -- from that git log,
8316         we can actually make corrections in the generated file.  The key
8317         lies in recording in machine-readable/applicable form the desired
8318         corrections.  See --help for description and an example.
8319         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
8320         (usage): Describe it; alphabetize option descriptions.
8321         (main): Honor the new option, carefully.
8322
8323 2011-11-01  Jim Meyering  <meyering@redhat.com>
8324
8325         gitlog-to-changelog: avoid an infloop
8326         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
8327         that ends up being empty.
8328
8329 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8330
8331         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
8332         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
8333         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
8334         contains (possibly-quoted) backslashes.  This should avoid
8335         all-too-common shell bugs if COMPLICATED contains backslashes in
8336         the "wrong" places.  Reported by David Evans in
8337         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
8338         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
8339         because we want ASCII ranges.  Is there some reason we don't use
8340         the C locale everywhere in this script?
8341         (func_module, top level): Avoid unwanted pathname expansion when
8342         $repo_url_prefix or $repo_url_suffix_repl contain shell
8343         metacharacters like '?' and '*'.
8344
8345 2011-11-01  Bruno Haible  <bruno@clisp.org>
8346
8347         fchownat: Improve description.
8348         * modules/fchownat (Description): Add link to function.
8349
8350 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
8351
8352         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
8353         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
8354         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
8355         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
8356
8357 2011-11-01  Bruno Haible  <bruno@clisp.org>
8358
8359         alignof: Avoid collision with stdalign module.
8360         * lib/alignof.h (alignof): Remove macro.
8361         * NEWS: Mention the change.
8362         Reported by Paul Eggert.
8363
8364 2011-11-01  Bruno Haible  <bruno@clisp.org>
8365
8366         New module 'fchownat', split off from module 'openat'.
8367         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
8368         defined.
8369         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
8370         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
8371         invoke gl_FUNC_FCHOWNAT.
8372         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
8373         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
8374         * modules/fchownat: New file, extracted from modules/openat.
8375         * modules/openat (Files): Remove lib/fchownat.c.
8376         (Depends-on): Remove lchown.
8377         (configure.ac): Remove AC_LIBOBJ of fchownat.
8378         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
8379         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
8380         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
8381         (Depends-on): Remove mgetgroups, usleep, stat-time.
8382         (configure.ac): Remove test for getegid.
8383         (Makefile.am): Remove rules for test-fchownat.
8384         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
8385         of module 'openat'.
8386         * NEWS: Mention the change.
8387
8388 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
8389
8390         stdalign: port better to MSVC and to Sun C 5.11
8391         This fixes some of the problems reported by Bruno Haible in
8392         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
8393         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
8394         shortcomings of MSVC and of Sun C 5.11.
8395         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
8396         around __declspec arg.
8397         * modules/stdalign-tests (Files): Add tests/macros.h.
8398         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
8399         Include macros.h, for ASSERT.
8400         (DECLARE_ALIGNED): Remove.
8401         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
8402         to catch bug), and to 1 if not (simplifies the rest of the code).
8403         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
8404         (CHECK_AUTO): Remove.
8405         (CHECK_ALIGNED): Check only the alignment of the static vars,
8406         since auto var alignment isn't supported by Sun C 5.11.
8407         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
8408         ASSERT failures are easier to diagnose.
8409
8410 2011-10-31  Bruno Haible  <bruno@clisp.org>
8411
8412         doc about some IRIX 5.3 problems.
8413         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
8414         on IRIX 5.3.
8415         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
8416         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
8417         5.3.
8418         * doc/posix-functions/grantpt.texi: Likewise.
8419         * doc/posix-functions/unlockpt.texi: Likewise.
8420         * doc/posix-functions/lgamma.texi: Likewise.
8421         * doc/posix-functions/nextafter.texi: Likewise.
8422         * doc/posix-functions/remainder.texi: Likewise.
8423         * doc/posix-functions/select.texi: Mention misplaced declaration on
8424         IRIX 5.3.
8425         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8426
8427 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
8428
8429         gitlog-to-changelog: fix git-log invocation.
8430         git-log mishandles date strings before 1970-01-01 UTC, and there is
8431         no use to specify --since=1970-01-01 by default anyway.
8432         * build-aux/gitlog-to-changelog: By default, when no --since option
8433         was given, do not specify explicit --since option to git-log.
8434
8435 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
8436
8437         gitlog-to-changelog: new option --append-dot.
8438         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
8439         first non-blank line of each commit message terminated with a dot.
8440
8441 2011-10-30  Bruno Haible  <bruno@clisp.org>
8442
8443         ffsl, ffsll: Avoid compilation error due to 'restrict'.
8444         * lib/ffsl.h: Include <config.h>.
8445         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
8446
8447 2011-10-30  Jim Meyering  <meyering@redhat.com>
8448
8449         GNUmakefile: reenable "make syntax-check" for most projects
8450         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
8451         build-aux variable", "syntax-check" would do nothing but succeed with
8452         the "No version control files detected..." diagnostic (unless you
8453         happened to override _build-aux via cfg.mk).
8454         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
8455         to precede inclusion of maint.mk.  Otherwise, these variables would
8456         be used undefined in any project that does not override the default.
8457
8458 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
8459
8460         gitlog-to-changelog: treat a message with only blank lines as empty.
8461         * build-aux/gitlog-to-changelog: Move the code that removes leading and
8462         trailing blank lines before the code that issues a warning about an
8463         empty commit message.
8464
8465 2011-10-30  Jim Meyering  <meyering@redhat.com>
8466
8467         test-parse-datetime.c: avoid new DST-related false positive test failure
8468         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
8469         based on the time/date we'll convert, not the current time.
8470         Otherwise, the moment we cross a DST boundary like today's in
8471         Europe, (CEST to CET), that offset ends up being one hour off.
8472
8473 2011-10-27  Bruno Haible  <bruno@clisp.org>
8474
8475         fstat: Tweak documentation.
8476         * modules/fstat (Description): More precise description.
8477
8478 2011-10-27  Bruno Haible  <bruno@clisp.org>
8479
8480         Update documentation regarding 'largefile' module.
8481         * doc/posix-functions/fstat.texi: Tweak wording.
8482         * doc/posix-functions/opendir.texi: Mention that the module fixes the
8483         problems with huge directories and/or small ino_t types.
8484         * doc/posix-functions/readdir.texi: Likewise.
8485         * doc/posix-functions/rewinddir.texi: Likewise.
8486
8487 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
8488
8489         maint.mk: don't maintain a second build-aux variable.
8490         * maint.mk (build_aux): Removed.  The maintainer-makefile module
8491         depends on GNUmakefile, which already maintains a cfg.mk
8492         overridable $(_build-aux) for projects with a non-standard
8493         build-aux directory location, although without the $(srcdir)
8494         prefix.  Use that variable consistently instead of introducing a
8495         second one.  Adjust all call sites.
8496
8497 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
8498
8499         Add stdalign module and use it in other modules.
8500         This is based on a previous proposal by Bruno Haible
8501         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
8502
8503         stdalign: new module
8504         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
8505         * modules/stdalign: New files.
8506         * MODULES.html.sh (c1x_core_properties): Add stdalign.
8507         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
8508
8509         stdalign-tests: new module
8510         * modules/stdalign-tests, tests/test-stdalign.c: New files.
8511
8512         argp: use stdalign
8513         * lib/argp-parse.c: Include <stdalign.h>.
8514         (alignof): Remove.
8515         * modules/argp (Depends-on): Add stdalign.
8516
8517         crypto libraries: use stdalign
8518         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
8519         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
8520         Do not include <stdlib.h> twice, in md4.c.
8521         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
8522         because we are accessing a pointer's bit-pattern, not a size.
8523         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
8524         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
8525         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
8526         * modules/crypto/sha512: Likewise.
8527
8528         sys_socket: use stdalign, not alignof
8529         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
8530         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
8531
8532 2011-10-27  Bruno Haible  <bruno@clisp.org>
8533
8534         raise test: Avoid a test failure on Linux/MIPS.
8535         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
8536         because 99 is a valid signal on Linux/MIPS.
8537
8538 2011-10-27  Bruno Haible  <bruno@clisp.org>
8539
8540         nonblocking tests: Fix test failure on Linux/MIPS.
8541         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
8542         Set to 270000.
8543
8544 2011-10-27  Bruno Haible  <bruno@clisp.org>
8545
8546         utimensat: Work around problem on Linux/hppa.
8547         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
8548         values.
8549         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
8550
8551 2011-10-25  Jim Meyering  <meyering@redhat.com>
8552
8553         maint.mk: fix a bug in sc_prohibit_stddef_without_use
8554         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
8555         after symbols like NULL, size_t, etc.
8556         Reported by Alfred M. Szmidt.
8557
8558         maint.mk: exempt ENODATA from a syntax-check rule
8559         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
8560         from the sc_prohibit_always-defined_macros syntax-check rule.
8561         Add a comment.  See this for more details:
8562         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
8563
8564 2011-10-23  Jim Meyering  <meyering@redhat.com>
8565
8566         fts: close parent dir FD before returning from post-traversal fts_read
8567         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
8568         unlink A, even though an FD open on A remained.  This is suboptimal
8569         (holding a file descriptor open longer than needed), but otherwise not
8570         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
8571         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
8572         that represents a real problem: it causes the removal of A to fail
8573         with e.g., "rm: cannot remove `A': Device or resource busy"
8574
8575         fts visits each directory twice and keeps a cache (fts_fd_ring) of
8576         directory file descriptors.  After completing the final, FTS_DP,
8577         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
8578         cache, but then proceeded to add a new FD to it via the subsequent
8579         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
8580         final file descriptor would be closed only via fts_close's call to
8581         fd_ring_clear.  Now, it is usually closed earlier, via the final
8582         FTS_DP-returning fts_read call.
8583         * lib/fts.c (restore_initial_cwd): New function, converted from
8584         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
8585         Update callers.
8586         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
8587         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
8588
8589 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
8590             Bruno Haible  <bruno@clisp.org>
8591             Jim Meyering  <jim@meyering.net>
8592
8593         readme-release: improve safety of release prep instructions.
8594         * README-release: Don't git pull all branches when only master
8595         is needed for the release process.
8596         Run make maintainer-clean before changing trees and merging.
8597         Don't try to run ./configure right after git pull in case files
8598         that influence the bootstrap process have changed, move the
8599         ./configure step to after running ./bootstrap.
8600         Don't bootstrap "one last time"... it's the first time!
8601
8602 2011-10-22  Bruno Haible  <bruno@clisp.org>
8603
8604         errno, strerror-override: Support for MSVC 10.
8605         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
8606         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
8607         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
8608         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
8609         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
8610         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
8611         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
8612         Assign values compatible with MSVC 10.
8613         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
8614         New macros.
8615         (GNULIB_defined_EWINSOCK): New macro.
8616         * lib/strerror-override.c (strerror_override): Update accordingly.
8617         * lib/strerror-override.h: Likewise.
8618         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
8619         longer equal to the corresponding errno value.
8620         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8621
8622 2011-10-22  Bruno Haible  <bruno@clisp.org>
8623
8624         perror: Recognize when test program crashes.
8625         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
8626         strerror, set gl_cv_func_perror_works to no.
8627         Reported by Daniel Richard G. <skunk@iskunk.org>.
8628
8629         perror: Fix indentation.
8630         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
8631
8632 2011-10-22  Bruno Haible  <bruno@clisp.org>
8633
8634         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
8635         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
8636         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
8637         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
8638         functions, not as a macro.
8639         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
8640         macros.
8641         (isfinite, isinf, isnan, signbit): Check overloaded functions and
8642         absence of macro.
8643         Suggested by Eric Blake.
8644         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8645
8646 2011-10-21  Bruno Haible  <bruno@clisp.org>
8647
8648         relocatable-prog-wrapper: Don't leave object files behind.
8649         * build-aux/install-reloc: Re-synchronize list of .o files to be
8650         removed with list of compilation units.
8651
8652 2011-10-20  Bruno Haible  <bruno@clisp.org>
8653
8654         openpty, posix_openpt: Remove code duplication.
8655         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
8656         * lib/openpty.c: Include <stdlib.h>.
8657         (openpty): Use posix_openpt on all platforms except IRIX.
8658         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
8659
8660 2011-10-20  Bruno Haible  <bruno@clisp.org>
8661
8662         unlockpt: Detect invalid argument.
8663         * lib/unlockpt.c: Include <fcntl.h>.
8664         (unlockpt): Check whether fd is valid, using fcntl().
8665         * modules/unlockpt (Depends-on): Add fcntl-h.
8666
8667 2011-10-20  Bruno Haible  <bruno@clisp.org>
8668
8669         openpty: Avoid compilation error on AIX 6.1.
8670         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
8671
8672 2011-10-20  Bruno Haible  <bruno@clisp.org>
8673
8674         posix_openpt: Support for OpenBSD.
8675         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
8676         (posix_openpt) [OpenBSD]: New code.
8677         * lib/grantpt.c: Include <fcntl.h>.
8678         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
8679         * modules/grantpt (Depends-on): Add fcntl-h.
8680
8681 2011-10-20  Bruno Haible  <bruno@clisp.org>
8682
8683         posix_openpt test: Coding style.
8684         * tests/test-posix_openpt.c: Use GNU coding style.
8685
8686 2011-10-20  Bruno Haible  <bruno@clisp.org>
8687
8688         grantpt: Support --avoid=pt_chown.
8689         * modules/grantpt (Files): Add lib/pty-private.h.
8690
8691 2011-10-20  Bruno Haible  <bruno@clisp.org>
8692
8693         posix_openpt: Fix autoconf macro.
8694         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
8695         unneeded check for _getpty.
8696
8697 2011-10-20  Bruno Haible  <bruno@clisp.org>
8698
8699         openpty: Update comments.
8700         * lib/openpty.c: Add comments about Minix.
8701
8702 2011-10-19  Eric Blake  <eblake@redhat.com>
8703
8704         openpty: relax license
8705         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
8706
8707         pt_chown: use configmake to simplify build
8708         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
8709
8710         ptsname and others: relax license
8711         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
8712         * modules/unlockpt (License): Likewise.
8713         * modules/pt_chown (License): Likewise.
8714         * modules/ptsname (License): Likewise.
8715         * modules/ttyname_r (License): Likewise.
8716
8717 2011-10-19  Jim Meyering  <meyering@redhat.com>
8718
8719         posix_openpt: remove spurious #endif
8720         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
8721
8722 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
8723
8724         maint.mk: Respect $(build_aux) in web-manual rule.
8725         * top/maint.mk (web-manual): Find gen-announce script in user's
8726         $(build_aux) directory instead of hard-coding 'build-aux'.
8727
8728 2011-10-19  Bruno Haible  <bruno@clisp.org>
8729
8730         posix_openpt: Fix compilation error.
8731         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
8732         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
8733         Mention the openpty module as an alternative.
8734
8735 2011-10-19  Bruno Haible  <bruno@clisp.org>
8736
8737         Support for old NeXTstep 3.3 frexp().
8738         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
8739         execution time of the test to 5 seconds.
8740         Reported by Daniel Richard G. <skunk@iskunk.org>.
8741
8742 2011-10-19  Bruno Haible  <bruno@clisp.org>
8743
8744         Support for old NeXTstep 3.3 sed.
8745         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
8746         part, use /.../, not \|...|. Escape periods in the header file name.
8747         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
8748         Reported by Daniel Richard G. <skunk@iskunk.org>.
8749
8750 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8751
8752         Support for old NeXTstep 3.3 gcc.
8753         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
8754         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
8755         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
8756         * lib/spawn.in.h (_Restrict_arr_): Likewise.
8757         * lib/regex.h (_Restrict_arr_): Likewise.
8758         * lib/regex_internal.h (re_token_t): Likewise.
8759         * lib/regexec.c (check_node_accept_bytes): Likewise.
8760         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
8761
8762 2011-10-18  Eric Blake  <eblake@redhat.com>
8763
8764         posix_openpt: new module
8765         * modules/posix_openpt: New module.
8766         * m4/posix_openpt.m4: New file.
8767         * lib/posix_openpt.c: Likewise.
8768         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
8769         (gl_STDLIB_H_DEFAULTS): Set defaults.
8770         * modules/stdlib (Makefile.am): Substitute macros.
8771         * lib/stdlib.in.h (posix_openpt): Declare.
8772         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
8773         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
8774         * modules/posix_openpt-tests: New test module.
8775         * tests/test-posix_openpt.c: New test.
8776
8777 2011-10-15  Bruno Haible  <bruno@clisp.org>
8778
8779         xstrtoll: Fix compilation failure.
8780         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
8781         from lib/strtol.c.
8782         * doc/posix-headers/limits.texi: Mention missing numerical limits on
8783         some platforms.
8784         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8785
8786 2011-10-15  Bruno Haible  <bruno@clisp.org>
8787
8788         vasnprintf: Optimize bit search operation.
8789         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
8790         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
8791         gl_DOUBLE_EXPONENT_LOCATION.
8792         * modules/vasnprintf (Files): Add m4/exponentd.m4.
8793         * modules/unistdio/u8-vasnprintf (Files): Likewise.
8794         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
8795         * modules/unistdio/u16-vasnprintf (Files): Likewise.
8796         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
8797         * modules/unistdio/u32-vasnprintf (Files): Likewise.
8798         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
8799         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
8800         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
8801
8802 2011-10-15  Bruno Haible  <bruno@clisp.org>
8803
8804         vasnprintf: Fix comments.
8805         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
8806
8807 2011-10-14  Bruno Haible  <bruno@clisp.org>
8808
8809         Tests for module 'integer_length_ll'.
8810         * modules/integer_length_ll-tests: New file.
8811         * tests/test-integer_length_ll.c: New file.
8812
8813         New module 'integer_length_ll'.
8814         * lib/integer_length_ll.c: New file.
8815         * modules/integer_length_ll: New file.
8816
8817 2011-10-14  Bruno Haible  <bruno@clisp.org>
8818
8819         Tests for module 'integer_length_l'.
8820         * modules/integer_length_l-tests: New file.
8821         * tests/test-integer_length_l.c: New file.
8822
8823         New module 'integer_length_l'.
8824         * lib/integer_length_l.c: New file.
8825         * modules/integer_length_l: New file.
8826
8827 2011-10-14  Bruno Haible  <bruno@clisp.org>
8828
8829         Tests for module 'integer_length'.
8830         * modules/integer_length-tests: New file.
8831         * tests/test-integer_length.c: New file.
8832
8833         New module 'integer_length'.
8834         * lib/integer_length.h: New file.
8835         * lib/integer_length.c: New file.
8836         * modules/integer_length: New file.
8837
8838 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8839
8840         popen: Fix dependency conditions.
8841         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
8842
8843 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
8844
8845         perror: Fix autoconf test.
8846         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
8847         <stdlib.h> and <string.h>.
8848
8849 2011-10-14  Bruno Haible  <bruno@clisp.org>
8850
8851         ffsl: Optimize on 64-bit platforms.
8852         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
8853         unrolling.
8854
8855 2011-10-13  Bruno Haible  <bruno@clisp.org>
8856
8857         ffsl: Optimize on 32-bit platforms.
8858         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
8859         use ffs() without a loop.
8860
8861         ffsl, ffsll: Optimize for GCC.
8862         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
8863         * lib/ffsl.c (GCC_BUILTIN): New macro.
8864         * lib/ffsll.c (GCC_BUILTIN): Likewise.
8865
8866 2011-10-13  Bruno Haible  <bruno@clisp.org>
8867
8868         ffs, bcopy, memset: Support symbol renaming via config.h.
8869         * lib/ffs.c: Include <config.h>.
8870         * lib/bcopy.c: Likewise.
8871         * lib/memset.c: Likewise.
8872
8873 2011-10-10  Bruno Haible  <bruno@clisp.org>
8874
8875         atanl: Simplify for platforms where 'long double' == 'double'.
8876         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8877         alternative implementation.
8878         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8879         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8880         * modules/atanl (Depends-on): Add atan. Update conditions.
8881
8882 2011-10-10  Bruno Haible  <bruno@clisp.org>
8883
8884         acosl: Simplify for platforms where 'long double' == 'double'.
8885         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8886         alternative implementation.
8887         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8888         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8889         * modules/acosl (Depends-on): Add acos. Update conditions.
8890
8891 2011-10-10  Bruno Haible  <bruno@clisp.org>
8892
8893         asinl: Simplify for platforms where 'long double' == 'double'.
8894         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8895         alternative implementation.
8896         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8897         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8898         * modules/asinl (Depends-on): Add asin. Update conditions.
8899
8900 2011-10-10  Bruno Haible  <bruno@clisp.org>
8901
8902         tanl: Simplify for platforms where 'long double' == 'double'.
8903         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8904         implementation.
8905         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8906         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8907         * modules/tanl (Depends-on): Add tan. Update conditions.
8908         (configure.ac): Don't compile trigl.c if
8909         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8910
8911 2011-10-10  Bruno Haible  <bruno@clisp.org>
8912
8913         cosl: Simplify for platforms where 'long double' == 'double'.
8914         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8915         implementation.
8916         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8917         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8918         * modules/cosl (Depends-on): Add cos. Update conditions.
8919         (configure.ac): Don't compile sincosl.c and trigl.c if
8920         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8921
8922 2011-10-10  Bruno Haible  <bruno@clisp.org>
8923
8924         sinl: Simplify for platforms where 'long double' == 'double'.
8925         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8926         implementation.
8927         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8928         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8929         * modules/sinl (Depends-on): Add sin. Update conditions.
8930         (configure.ac): Don't compile sincosl.c and trigl.c if
8931         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8932
8933 2011-10-10  Bruno Haible  <bruno@clisp.org>
8934
8935         logl: Simplify for platforms where 'long double' == 'double'.
8936         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8937         implementation.
8938         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8939         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8940         * modules/logl (Depends-on): Add log. Update conditions.
8941
8942 2011-10-10  Bruno Haible  <bruno@clisp.org>
8943
8944         expl: Simplify for platforms where 'long double' == 'double'.
8945         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
8946         implementation.
8947         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8948         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8949         * modules/expl (Depends-on): Add exp. Update conditions.
8950
8951 2011-10-10  Bruno Haible  <bruno@clisp.org>
8952
8953         sqrtl: Simplify for platforms where 'long double' == 'double'.
8954         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8955         alternative implementation.
8956         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8957         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8958         * modules/sqrtl (Depends-on): Update conditions.
8959
8960 2011-10-10  Bruno Haible  <bruno@clisp.org>
8961
8962         ldexpl: Simplify for platforms where 'long double' == 'double'.
8963         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
8964         alternative implementation.
8965         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8966         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8967         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
8968
8969 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
8970
8971         ffsll: set correct witness
8972         * modules/ffsll (configure.ac): Fix typo.
8973
8974 2011-10-10  Bruno Haible  <bruno@clisp.org>
8975
8976         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
8977         * lib/printf-frexpl.c: Include <config.h>.
8978         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8979         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
8980         second time.
8981         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
8982         gl_LONG_DOUBLE_VS_DOUBLE.
8983         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
8984         conditions.
8985
8986 2011-10-10  Bruno Haible  <bruno@clisp.org>
8987
8988         frexpl: Simplify for platforms where 'long double' == 'double'.
8989         * lib/frexpl.c: Include <config.h>.
8990         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
8991         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
8992         time.
8993         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
8994         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
8995         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
8996         * modules/frexpl (Depends-on): Add frexp. Update conditions.
8997         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
8998         conditions.
8999
9000 2011-10-10  Jim Meyering  <meyering@redhat.com>
9001
9002         test-renameat: don't leave behind a temporary file
9003         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
9004           ERROR: files left in build directory after distclean:
9005           ./gltests/test-renameat.too
9006           make[1]: *** [distcleancheck] Error 1
9007         Reported by Tom G. Christensen.
9008
9009 2011-10-09  Bruno Haible  <bruno@clisp.org>
9010
9011         rint: Determine RINT_LIBM correctly on AIX 7.
9012         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
9013         directly, not only through a function pointer. Also accept an optional
9014         4th argument with extra code.
9015         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
9016         rintf() call by gcc when optimizing.
9017
9018         mathfunc.m4: Refactor.
9019         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
9020         m4 variable.
9021
9022 2011-10-09  Bruno Haible  <bruno@clisp.org>
9023
9024         rintl: Simplify for platforms where 'long double' == 'double'.
9025         * lib/rintl.c: Include <config.h>.
9026         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9027         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9028         time.
9029         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9030         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9031         * modules/rintl (Depends-on): Add rint. Update conditions.
9032
9033 2011-10-09  Bruno Haible  <bruno@clisp.org>
9034
9035         roundl: Simplify for platforms where 'long double' == 'double'.
9036         * lib/roundl.c: Include <config.h>.
9037         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9038         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9039         time.
9040         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9041         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9042         * modules/roundl (Depends-on): Add round. Update conditions.
9043
9044 2011-10-09  Bruno Haible  <bruno@clisp.org>
9045
9046         truncl: Simplify for platforms where 'long double' == 'double'.
9047         * lib/truncl.c: Include <config.h>.
9048         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9049         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9050         time.
9051         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9052         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9053         * modules/truncl (Depends-on): Add trunc. Update conditions.
9054
9055 2011-10-09  Bruno Haible  <bruno@clisp.org>
9056
9057         ceill: Simplify for platforms where 'long double' == 'double'.
9058         * lib/ceill.c: Include <config.h>.
9059         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9060         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9061         time.
9062         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9063         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9064         * modules/ceill (Depends-on): Add ceil. Update conditions.
9065
9066 2011-10-09  Bruno Haible  <bruno@clisp.org>
9067
9068         floorl: Simplify for platforms where 'long double' == 'double'.
9069         * lib/floorl.c: Include <config.h>.
9070         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
9071         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
9072         time.
9073         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9074         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9075         * modules/floorl (Depends-on): Add floor. Update conditions.
9076
9077 2011-10-09  Bruno Haible  <bruno@clisp.org>
9078
9079         rint: Fix ordering constraints.
9080         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
9081         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
9082         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
9083
9084 2011-10-09  Bruno Haible  <bruno@clisp.org>
9085
9086         copysignl: Simplify for platforms where 'long double' == 'double'.
9087         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
9088         alternative.
9089         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9090         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
9091         * modules/copysignl (Depends-on): Add copysign. Update conditions.
9092
9093 2011-10-09  Bruno Haible  <bruno@clisp.org>
9094
9095         Tests for module 'rintl'.
9096         * modules/rintl-tests: New file.
9097         * tests/test-rintl.c: New file.
9098
9099         New module 'rintl'.
9100         * lib/math.in.h (rintl): New declaration.
9101         * lib/rintl.c: New file.
9102         * m4/rintl.m4: New file.
9103         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
9104         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
9105         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
9106         * modules/rintl: New file.
9107         * tests/test-math-c++.cc: Check the declaration of rintl.
9108         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9109         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
9110         * doc/posix-functions/rintl.texi: Mention the new module.
9111
9112 2011-10-09  Bruno Haible  <bruno@clisp.org>
9113
9114         Tests for module 'rintf'.
9115         * modules/rintf-tests: New file.
9116         * tests/test-rintf.c: New file.
9117
9118         New module 'rintf'.
9119         * lib/math.in.h (rintf): New declaration.
9120         * lib/rintf.c: New file.
9121         * m4/rintf.m4: New file.
9122         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
9123         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
9124         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
9125         * modules/rintf: New file.
9126         * tests/test-math-c++.cc: Check the declaration of rintf.
9127         * doc/posix-functions/rintf.texi: Mention the new module.
9128
9129 2011-10-09  Bruno Haible  <bruno@clisp.org>
9130
9131         rint: Support for MSVC.
9132         * lib/math.in.h (rint): New declaration.
9133         * lib/rint.c: New file.
9134         * m4/rint.m4: New file.
9135         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
9136         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
9137         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
9138         * modules/rint (Description): Fix.
9139         (Files): Add lib/rint.c, m4/rint.m4.
9140         (Depends-on): Add math.
9141         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
9142         gl_MATH_MODULE_INDICATOR.
9143         * tests/test-math-c++.cc: Check the declaration of rint.
9144         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9145         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
9146         * doc/posix-functions/rint.texi: Mention the replacement provided by
9147         the module.
9148
9149         rint tests: More tests.
9150         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
9151         minus-zero.h, infinity.h, nan.h.
9152         (main): Skip the test if the current rounding mode is not standard. Add
9153         tests for negative numbers, minus zero, infinity, NaN.
9154         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
9155         tests/nan.h.
9156         (Depends-on): Add isnand-nolibm.
9157
9158 2011-10-09  Bruno Haible  <bruno@clisp.org>
9159
9160         Tests for module 'copysignl'.
9161         * modules/copysignl-tests: New file.
9162         * tests/test-copysignl.c: New file.
9163
9164         New module 'copysignl'.
9165         * lib/math.in.h (copysignl): New declaration.
9166         * lib/copysignl.c: New file.
9167         * m4/copysignl.m4: New file.
9168         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
9169         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
9170         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
9171         HAVE_COPYSIGNL.
9172         * modules/copysignl: New file.
9173         * tests/test-math-c++.cc: Check the declaration of copysignl.
9174         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
9175         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
9176         * doc/posix-functions/copysignl.texi: Mention the new module.
9177
9178 2011-10-09  Bruno Haible  <bruno@clisp.org>
9179
9180         Tests for module 'copysignf'.
9181         * modules/copysignf-tests: New file.
9182         * tests/test-copysignf.c: New file.
9183
9184         New module 'copysignf'.
9185         * lib/math.in.h (copysignf): New declaration.
9186         * lib/copysignf.c: New file.
9187         * m4/copysignf.m4: New file.
9188         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
9189         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
9190         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
9191         HAVE_COPYSIGNF.
9192         * modules/copysignf: New file.
9193         * tests/test-math-c++.cc: Check the declaration of copysignf.
9194         * doc/posix-functions/copysignf.texi: Mention the new module.
9195
9196 2011-10-09  Bruno Haible  <bruno@clisp.org>
9197
9198         Ensure that HAVE_* variables are set to 1 before they are set to 0.
9199         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
9200         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
9201         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
9202         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
9203         gl_SIGNAL_H_DEFAULTS.
9204
9205 2011-10-09  Bruno Haible  <bruno@clisp.org>
9206
9207         poll: Make macro safer.
9208         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
9209         ac_cv_header_poll_h is not set.
9210
9211 2011-10-09  Bruno Haible  <bruno@clisp.org>
9212
9213         copysign: Provide replacement.
9214         * lib/math.in.h (copysign): New declaration.
9215         * lib/copysign.c: New file.
9216         * m4/copysign.m4: New file.
9217         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
9218         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
9219         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
9220         HAVE_COPYSIGN.
9221         * modules/copysign (Description): Clarify.
9222         (Files): Add lib/copysign.c, m4/copysign.m4.
9223         (Depends-on): Add math, signbit.
9224         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
9225         gl_MATH_MODULE_INDICATOR.
9226         * tests/test-math-c++.cc: Check the declaration of copysign.
9227         * doc/posix-functions/copysign.texi: Mention the effects of the module
9228         on Minix and MSVC.
9229
9230 2011-10-09  Bruno Haible  <bruno@clisp.org>
9231
9232         isinf: Ensure macro on AIX 5.1.
9233         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
9234         macro.
9235         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
9236
9237 2011-10-09  Bruno Haible  <bruno@clisp.org>
9238
9239         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
9240         * modules/snprintf-posix-tests (configure.ac): Require
9241         gl_LONG_DOUBLE_VS_DOUBLE.
9242         * modules/sprintf-posix-tests (configure.ac): Likewise.
9243         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
9244         * modules/vasprintf-posix-tests (configure.ac): Likewise.
9245         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
9246         * modules/vsprintf-posix-tests (configure.ac): Likewise.
9247         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
9248         tests on platforms where 'long double' is the same as 'double'.
9249         * tests/test-sprintf-posix.h (test_function): Likewise.
9250         * tests/test-vasnprintf-posix.c (test_function): Likewise.
9251         * tests/test-vasprintf-posix.c (test_function): Likewise.
9252
9253         *printf: Fix for platforms where 'long double' == 'double'.
9254         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
9255         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
9256         * modules/dprintf-posix (Files): Add m4/math_h.m4.
9257         * modules/fprintf-posix (Files): Likewise.
9258         * modules/obstack-printf-posix (Files): Likewise.
9259         * modules/snprintf-posix (Files): Likewise.
9260         * modules/sprintf-posix (Files): Likewise.
9261         * modules/vasnprintf (Files): Likewise.
9262         * modules/vasnprintf-posix (Files): Likewise.
9263         * modules/vasprintf-posix (Files): Likewise.
9264         * modules/vdprintf-posix (Files): Likewise.
9265         * modules/vfprintf-posix (Files): Likewise.
9266         * modules/vsnprintf-posix (Files): Likewise.
9267         * modules/vsprintf-posix (Files): Likewise.
9268         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9269         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9270         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9271         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9272         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9273         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9274         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9275
9276         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
9277         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
9278         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
9279         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
9280         'long double'.
9281         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
9282
9283         isinf: Fix for platforms where 'long double' == 'double'.
9284         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9285         Don't blindly assume 80-bit 'long double'.
9286
9287         isfinite: Fix for platforms where 'long double' == 'double'.
9288         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
9289         Don't blindly assume 80-bit 'long double'.
9290
9291         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
9292         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
9293         * modules/isfinite-tests (configure.ac): Require
9294         gl_LONG_DOUBLE_VS_DOUBLE.
9295         * modules/isinf-tests (configure.ac): Likewise.
9296         * modules/isnan-tests (configure.ac): Likewise.
9297         * modules/isnanl-tests (configure.ac): Likewise.
9298         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
9299         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
9300         tests on platforms where 'long double' is the same as 'double'.
9301         * tests/test-isinf.c (test_isinfl): Likewise.
9302         * tests/test-isnan.c (test_long_double): Likewise.
9303         * tests/test-isnanl.h (main): Likewise.
9304
9305 2011-10-08  Bruno Haible  <bruno@clisp.org>
9306
9307         Tests for module 'tanhf'.
9308         * modules/tanhf-tests: New file.
9309         * tests/test-tanhf.c: New file.
9310
9311         New module 'tanhf'.
9312         * lib/math.in.h (tanhf): New declaration.
9313         * lib/tanhf.c: New file.
9314         * m4/tanhf.m4: New file.
9315         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
9316         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
9317         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
9318         * modules/tanhf: New file.
9319         * tests/test-math-c++.cc: Check the declaration of tanhf.
9320         * doc/posix-functions/tanhf.texi: Mention the new module.
9321
9322         tanh: Use a .m4 file.
9323         * m4/tanh.m4: New file.
9324         * modules/tanh (Files): Add it.
9325         (configure.ac): Just invoke gl_FUNC_TANH.
9326
9327 2011-10-08  Bruno Haible  <bruno@clisp.org>
9328
9329         Tests for module 'coshf'.
9330         * modules/coshf-tests: New file.
9331         * tests/test-coshf.c: New file.
9332
9333         New module 'coshf'.
9334         * lib/math.in.h (coshf): New declaration.
9335         * lib/coshf.c: New file.
9336         * m4/coshf.m4: New file.
9337         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
9338         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
9339         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
9340         * modules/coshf: New file.
9341         * tests/test-math-c++.cc: Check the declaration of coshf.
9342         * doc/posix-functions/coshf.texi: Mention the new module.
9343
9344         cosh: Use a .m4 file.
9345         * m4/cosh.m4: New file.
9346         * modules/cosh (Files): Add it.
9347         (configure.ac): Just invoke gl_FUNC_COSH.
9348
9349 2011-10-08  Bruno Haible  <bruno@clisp.org>
9350
9351         Tests for module 'sinhf'.
9352         * modules/sinhf-tests: New file.
9353         * tests/test-sinhf.c: New file.
9354
9355         New module 'sinhf'.
9356         * lib/math.in.h (sinhf): New declaration.
9357         * lib/sinhf.c: New file.
9358         * m4/sinhf.m4: New file.
9359         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
9360         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
9361         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
9362         * modules/sinhf: New file.
9363         * tests/test-math-c++.cc: Check the declaration of sinhf.
9364         * doc/posix-functions/sinhf.texi: Mention the new module.
9365
9366         sinh: Use a .m4 file.
9367         * m4/sinh.m4: New file.
9368         * modules/sinh (Files): Add it.
9369         (configure.ac): Just invoke gl_FUNC_SINH.
9370
9371 2011-10-08  Bruno Haible  <bruno@clisp.org>
9372
9373         Tests for module 'atan2f'.
9374         * modules/atan2f-tests: New file.
9375         * tests/test-atan2f.c: New file.
9376
9377         New module 'atan2f'.
9378         * lib/math.in.h (atan2f): New declaration.
9379         * lib/atan2f.c: New file.
9380         * m4/atan2f.m4: New file.
9381         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
9382         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
9383         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
9384         * modules/atan2f: New file.
9385         * tests/test-math-c++.cc: Check the declaration of atan2f.
9386         * doc/posix-functions/atan2f.texi: Mention the new module.
9387
9388         atan2: Use a .m4 file.
9389         * m4/atan2.m4: New file.
9390         * modules/atan2 (Files): Add it.
9391         (configure.ac): Just invoke gl_FUNC_ATAN2.
9392
9393 2011-10-08  Bruno Haible  <bruno@clisp.org>
9394
9395         Tests for module 'atanf'.
9396         * modules/atanf-tests: New file.
9397         * tests/test-atanf.c: New file.
9398
9399         New module 'atanf'.
9400         * lib/math.in.h (atanf): New declaration.
9401         * lib/atanf.c: New file.
9402         * m4/atanf.m4: New file.
9403         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
9404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
9405         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
9406         * modules/atanf: New file.
9407         * tests/test-math-c++.cc: Check the declaration of atanf.
9408         * doc/posix-functions/atanf.texi: Mention the new module.
9409
9410         atan: Use a .m4 file.
9411         * m4/atan.m4: New file.
9412         * modules/atan (Files): Add it.
9413         (configure.ac): Just invoke gl_FUNC_ATAN.
9414
9415 2011-10-08  Bruno Haible  <bruno@clisp.org>
9416
9417         Tests for module 'acosf'.
9418         * modules/acosf-tests: New file.
9419         * tests/test-acosf.c: New file.
9420
9421         New module 'acosf'.
9422         * lib/math.in.h (acosf): New declaration.
9423         * lib/acosf.c: New file.
9424         * m4/acosf.m4: New file.
9425         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
9426         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
9427         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
9428         * modules/acosf: New file.
9429         * tests/test-math-c++.cc: Check the declaration of acosf.
9430         * doc/posix-functions/acosf.texi: Mention the new module.
9431
9432         acos: Use a .m4 file.
9433         * m4/acos.m4: New file.
9434         * modules/acos (Files): Add it.
9435         (configure.ac): Just invoke gl_FUNC_ACOS.
9436
9437 2011-10-08  Bruno Haible  <bruno@clisp.org>
9438
9439         Tests for module 'asinf'.
9440         * modules/asinf-tests: New file.
9441         * tests/test-asinf.c: New file.
9442
9443         New module 'asinf'.
9444         * lib/math.in.h (asinf): New declaration.
9445         * lib/asinf.c: New file.
9446         * m4/asinf.m4: New file.
9447         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
9448         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
9449         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
9450         * modules/asinf: New file.
9451         * tests/test-math-c++.cc: Check the declaration of asinf.
9452         * doc/posix-functions/asinf.texi: Mention the new module.
9453
9454         asin: Use a .m4 file.
9455         * m4/asin.m4: New file.
9456         * modules/asin (Files): Add it.
9457         (configure.ac): Just invoke gl_FUNC_ASIN.
9458
9459 2011-10-08  Bruno Haible  <bruno@clisp.org>
9460
9461         Tests for module 'tanf'.
9462         * modules/tanf-tests: New file.
9463         * tests/test-tanf.c: New file.
9464
9465         New module 'tanf'.
9466         * lib/math.in.h (tanf): New declaration.
9467         * lib/tanf.c: New file.
9468         * m4/tanf.m4: New file.
9469         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
9470         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
9471         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
9472         * modules/tanf: New file.
9473         * tests/test-math-c++.cc: Check the declaration of tanf.
9474         * doc/posix-functions/tanf.texi: Mention the new module.
9475
9476         tan: Use a .m4 file.
9477         * m4/tan.m4: New file.
9478         * modules/tan (Files): Add it.
9479         (configure.ac): Just invoke gl_FUNC_TAN.
9480
9481 2011-10-08  Bruno Haible  <bruno@clisp.org>
9482
9483         Tests for module 'cosf'.
9484         * modules/cosf-tests: New file.
9485         * tests/test-cosf.c: New file.
9486
9487         New module 'cosf'.
9488         * lib/math.in.h (cosf): New declaration.
9489         * lib/cosf.c: New file.
9490         * m4/cosf.m4: New file.
9491         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
9492         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
9493         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
9494         * modules/cosf: New file.
9495         * tests/test-math-c++.cc: Check the declaration of cosf.
9496         * doc/posix-functions/cosf.texi: Mention the new module.
9497
9498         cos: Use a .m4 file.
9499         * m4/cos.m4: New file.
9500         * modules/cos (Files): Add it.
9501         (configure.ac): Just invoke gl_FUNC_COS.
9502
9503 2011-10-08  Bruno Haible  <bruno@clisp.org>
9504
9505         Tests for module 'sinf'.
9506         * modules/sinf-tests: New file.
9507         * tests/test-sinf.c: New file.
9508
9509         New module 'sinf'.
9510         * lib/math.in.h (sinf): New declaration.
9511         * lib/sinf.c: New file.
9512         * m4/sinf.m4: New file.
9513         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
9514         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
9515         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
9516         * modules/sinf: New file.
9517         * tests/test-math-c++.cc: Check the declaration of sinf.
9518         * doc/posix-functions/sinf.texi: Mention the new module.
9519
9520         sin: Use a .m4 file.
9521         * m4/sin.m4: New file.
9522         * modules/sin (Files): Add it.
9523         (configure.ac): Just invoke gl_FUNC_SIN.
9524
9525 2011-10-08  Bruno Haible  <bruno@clisp.org>
9526
9527         Tests for module 'powf'.
9528         * modules/powf-tests: New file.
9529         * tests/test-powf.c: New file.
9530
9531         New module 'powf'.
9532         * lib/math.in.h (powf): New declaration.
9533         * lib/powf.c: New file.
9534         * m4/powf.m4: New file.
9535         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
9536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
9537         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
9538         * modules/powf: New file.
9539         * tests/test-math-c++.cc: Check the declaration of powf.
9540         * doc/posix-functions/powf.texi: Mention the new module.
9541
9542         pow: Use a .m4 file.
9543         * m4/pow.m4: New file.
9544         * modules/pow (Files): Add it.
9545         (configure.ac): Just invoke gl_FUNC_POW.
9546
9547 2011-10-08  Bruno Haible  <bruno@clisp.org>
9548
9549         Tests for module 'log10f'.
9550         * modules/log10f-tests: New file.
9551         * tests/test-log10f.c: New file.
9552
9553         New module 'log10f'.
9554         * lib/math.in.h (log10f): New declaration.
9555         * lib/log10f.c: New file.
9556         * m4/log10f.m4: New file.
9557         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
9558         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
9559         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
9560         * modules/log10f: New file.
9561         * tests/test-math-c++.cc: Check the declaration of log10f.
9562         * doc/posix-functions/log10f.texi: Mention the new module.
9563
9564         log10: Use a .m4 file.
9565         * m4/log10.m4: New file.
9566         * modules/log10 (Files): Add it.
9567         (configure.ac): Just invoke gl_FUNC_LOG10.
9568
9569 2011-10-08  Bruno Haible  <bruno@clisp.org>
9570
9571         Tests for module 'logf'.
9572         * modules/logf-tests: New file.
9573         * tests/test-logf.c: New file.
9574
9575         New module 'logf'.
9576         * lib/math.in.h (logf): New declaration.
9577         * lib/logf.c: New file.
9578         * m4/logf.m4: New file.
9579         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
9580         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
9581         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
9582         * modules/logf: New file.
9583         * tests/test-math-c++.cc: Check the declaration of logf.
9584         * doc/posix-functions/logf.texi: Mention the new module.
9585
9586         log: Use a .m4 file.
9587         * m4/log.m4: New file.
9588         * modules/log (Files): Add it.
9589         (configure.ac): Just invoke gl_FUNC_LOG.
9590
9591 2011-10-08  Bruno Haible  <bruno@clisp.org>
9592
9593         Tests for module 'expf'.
9594         * modules/expf-tests: New file.
9595         * tests/test-expf.c: New file.
9596
9597         New module 'expf'.
9598         * lib/math.in.h (expf): New declaration.
9599         * lib/expf.c: New file.
9600         * m4/expf.m4: New file.
9601         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
9602         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
9603         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
9604         * modules/expf: New file.
9605         * tests/test-math-c++.cc: Check the declaration of expf.
9606         * doc/posix-functions/expf.texi: Mention the new module.
9607
9608         exp: Use a .m4 file.
9609         * m4/exp.m4: New file.
9610         * modules/exp (Files): Add it.
9611         (configure.ac): Just invoke gl_FUNC_EXP.
9612
9613 2011-10-08  Bruno Haible  <bruno@clisp.org>
9614
9615         Tests for module 'sqrtf'.
9616         * modules/sqrtf-tests: New file.
9617         * tests/test-sqrtf.c: New file.
9618
9619         New module 'sqrtf'.
9620         * lib/math.in.h (sqrtf): New declaration.
9621         * lib/sqrtf.c: New file.
9622         * m4/sqrtf.m4: New file.
9623         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
9624         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
9625         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
9626         * modules/sqrtf: New file.
9627         * tests/test-math-c++.cc: Check the declaration of sqrtf.
9628         * doc/posix-functions/sqrtf.texi: Mention the new module.
9629
9630 2011-10-08  Bruno Haible  <bruno@clisp.org>
9631
9632         Tests: Avoid link failures w.r.t. libintl.
9633         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
9634         $(LIBINTL).
9635         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
9636         $(LIBINTL).
9637         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
9638         against $(LIBINTL).
9639         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
9640         $(LIBINTL).
9641         * modules/openat-tests (Makefile.am): Link test-fchmodat against
9642         $(LIBINTL).
9643         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
9644
9645 2011-10-08  Bruno Haible  <bruno@clisp.org>
9646
9647         pow tests: Defeat compiler optimizations.
9648         * tests/test-pow.c (main): Assign arguments to x and y before use.
9649
9650 2011-10-08  Bruno Haible  <bruno@clisp.org>
9651
9652         gnulib-tool: Improve last commit.
9653         * gnulib-tool (func_modules_transitive_closure): Simplify code.
9654         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
9655         ignore dependencies that are not among the modules list.
9656
9657 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
9658
9659         gnulib-tool: don't follow dependencies to avoided modules
9660         This fixes a bug that is related to the previous one.
9661         * gnulib-tool (func_modules_transitive_closure)
9662         (func_emit_autoconf_snippets):
9663         Check whether a dependency is acceptable before using it.
9664         (--extract-dependencies): Report an error if --avoid is also used,
9665         since this combination of options is not yet supported.
9666
9667         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
9668         Problem reported by Peter Dyballa in
9669         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
9670         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
9671         when echoing "$condition".
9672
9673 2011-10-07  Bruno Haible  <bruno@clisp.org>
9674
9675         Fix documentation about math functions on MacOS X.
9676         * doc/posix-functions/exp2.texi: Don't say the function is missing on
9677         MacOS X 10.5.
9678         * doc/posix-functions/fdim.texi: Likewise.
9679         * doc/posix-functions/feclearexcept.texi: Likewise.
9680         * doc/posix-functions/fegetenv.texi: Likewise.
9681         * doc/posix-functions/fegetround.texi: Likewise.
9682         * doc/posix-functions/feholdexcept.texi: Likewise.
9683         * doc/posix-functions/feraiseexcept.texi: Likewise.
9684         * doc/posix-functions/fesetenv.texi: Likewise.
9685         * doc/posix-functions/fesetround.texi: Likewise.
9686         * doc/posix-functions/fetestexcept.texi: Likewise.
9687         * doc/posix-functions/feupdateenv.texi: Likewise.
9688         * doc/posix-functions/fmax.texi: Likewise.
9689         * doc/posix-functions/fmin.texi: Likewise.
9690         * doc/posix-functions/log2.texi: Likewise.
9691         * doc/posix-functions/modff.texi: Likewise.
9692         * doc/posix-functions/nan.texi: Likewise.
9693         * doc/posix-functions/nanf.texi: Likewise.
9694         * doc/posix-functions/nextafterf.texi: Likewise.
9695         * doc/posix-functions/remquo.texi: Likewise.
9696
9697 2011-10-07  Bruno Haible  <bruno@clisp.org>
9698
9699         modff: Drop assumption about library that defines modff.
9700         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
9701         AC_CHECK_FUNCS.
9702         * modules/modff (Files): Add m4/mathfunc.m4.
9703
9704 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
9705
9706         raise tests: Avoid a GCC warning.
9707         * tests/test-raise.c (handler): Use _Noreturn.
9708
9709 2011-10-07  Bruno Haible  <bruno@clisp.org>
9710
9711         Tests for module 'ldexpf'.
9712         * modules/ldexpf-tests: New file.
9713         * tests/test-ldexpf.c: New file.
9714
9715         New module 'ldexpf'.
9716         * lib/math.in.h (ldexpf): New declaration.
9717         * lib/ldexpf.c: New file.
9718         * m4/ldexpf.m4: New file.
9719         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
9720         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
9721         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
9722         * modules/ldexpf: New file.
9723         * tests/test-math-c++.cc: Check the declaration of ldexpf.
9724         * doc/posix-functions/ldexpf.texi: Mention the new module.
9725
9726 2011-10-06  Bruno Haible  <bruno@clisp.org>
9727
9728         frexpf: Work around problems on IRIX and mingw.
9729         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
9730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
9731         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
9732         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
9733         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
9734         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
9735         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
9736
9737 2011-10-06  Bruno Haible  <bruno@clisp.org>
9738
9739         fabsf: Drop assumption about library that defines fabsf.
9740         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
9741         AC_CHECK_FUNCS.
9742         * modules/fabsf (Files): Add m4/mathfunc.m4.
9743
9744 2011-10-06  Bruno Haible  <bruno@clisp.org>
9745
9746         frexpf: Drop assumption about library that defines frexpf.
9747         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
9748         'int *', 'float *', 'long double *', 'float', 'long double'.
9749         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
9750         AC_CHECK_FUNCS.
9751         * modules/frexpf (Files): Add m4/mathfunc.m4.
9752
9753         Tests for module 'frexpf'.
9754         * modules/frexpf-tests: New file.
9755         * tests/test-frexpf.c: New file.
9756
9757         New module 'frexpf'.
9758         * lib/math.in.h (frexpf): New declaration.
9759         * lib/frexpf.c: New file.
9760         * m4/frexpf.m4: New file.
9761         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
9762         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
9763         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
9764         * modules/frexpf: New file.
9765         * tests/test-math-c++.cc: Check the declaration of frexpf.
9766         * doc/posix-functions/frexpf.texi: Mention the new module.
9767
9768 2011-10-06  Bruno Haible  <bruno@clisp.org>
9769
9770         math: Sort function declarations of math.in.h.
9771         * lib/math.in.h (frexp, logb): Move declarations.
9772
9773 2011-10-05  Bruno Haible  <bruno@clisp.org>
9774
9775         Tests for module 'modff'.
9776         * modules/modff-tests: New file.
9777         * tests/test-modff.c: New file.
9778
9779         New module 'modff'.
9780         * lib/math.in.h (modff): New declaration.
9781         * lib/modff.c: New file.
9782         * m4/modff.m4: New file.
9783         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
9784         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
9785         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
9786         * modules/modff: New file.
9787         * tests/test-math-c++.cc: Check the declaration of modff.
9788         * doc/posix-functions/modff.texi: Mention the new module.
9789
9790         modf tests: Make test sharper.
9791         * tests/test-modf.c (main): Strengthen upper bound.
9792
9793         modf: Use a .m4 file.
9794         * m4/modf.m4: New file.
9795         * modules/modf (Files): Add it.
9796         (configure.ac): Just invoke gl_FUNC_MODF.
9797
9798 2011-10-05  Bruno Haible  <bruno@clisp.org>
9799
9800         Tests for module 'fmodf'.
9801         * modules/fmodf-tests: New file.
9802         * tests/test-fmodf.c: New file.
9803
9804         New module 'fmodf'.
9805         * lib/math.in.h (fmodf): New declaration.
9806         * lib/fmodf.c: New file.
9807         * m4/fmodf.m4: New file.
9808         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
9809         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
9810         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
9811         * modules/fmodf: New file.
9812         * tests/test-math-c++.cc: Check the declaration of fmodf.
9813         * doc/posix-functions/fmodf.texi: Mention the new module.
9814
9815         fmod: Use a .m4 file.
9816         * m4/fmod.m4: New file.
9817         * modules/fmod (Files): Add it.
9818         (configure.ac): Just invoke gl_FUNC_FMOD.
9819
9820 2011-10-05  Bruno Haible  <bruno@clisp.org>
9821
9822         Tests for module 'fabsf'.
9823         * modules/fabsf-tests: New file.
9824         * tests/test-fabsf.c: New file.
9825
9826         New module 'fabsf'.
9827         * lib/math.in.h (fabsf): New declaration.
9828         * lib/fabsf.c: New file.
9829         * m4/fabsf.m4: New file.
9830         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
9831         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
9832         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
9833         * modules/fabsf: New file.
9834         * tests/test-math-c++.cc: Check the declaration of fabsf.
9835         * doc/posix-functions/fabsf.texi: Mention the new module.
9836
9837         fabs: Use a .m4 file.
9838         * m4/fabs.m4: New file.
9839         * modules/fabs (Files): Add it.
9840         (configure.ac): Just invoke gl_FUNC_FABS.
9841
9842 2011-10-05  Jim Meyering  <meyering@redhat.com>
9843
9844         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
9845         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
9846         ls -lL regression introduced in coreutils-8.12, it does so at the
9847         cost of an additional stat call in the common case.  Besides, now
9848         that the kernel change that prompted commit 95f7c57f has been reverted
9849         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
9850         we have no use for commit 95f7c57f, "file-has-acl: use
9851         acl_extended_file_nofollow if available".
9852
9853 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
9854
9855         file-has-acl: revert unintended change in behavior of ls -L
9856         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
9857         derived from...
9858         (file_has_acl): ...code here.  Call it.
9859         This problem was introduced with 2011-07-22 commit 95f7c57f,
9860         "file-has-acl: use acl_extended_file_nofollow if available".
9861         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
9862
9863 2011-10-03  Bruno Haible  <bruno@clisp.org>
9864
9865         poll: Avoid link errors on MSVC.
9866         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
9867         * modules/poll (Depends-on): Add sockets.
9868         (Link): New section.
9869         * NEWS: Mention the change.
9870         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
9871         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
9872         $(LIB_POLL) instead of $(LIBSOCKET).
9873
9874 2011-10-03  Bruno Haible  <bruno@clisp.org>
9875
9876         sys_select tests: Fix link error on MSVC 9.
9877         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
9878         with $(LIB_SELECT) instead of $(LIBSOCKET).
9879
9880 2011-10-03  Bruno Haible  <bruno@clisp.org>
9881
9882         sys_select: Fix compilation error on mingw.
9883         * lib/sys_select.in.h: On native Windows, include <io.h>.
9884
9885 2011-10-03  Bruno Haible  <bruno@clisp.org>
9886
9887         wmemset: Support for MSVC.
9888         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
9889         whether wmemset() exists.
9890
9891 2011-10-03  Bruno Haible  <bruno@clisp.org>
9892
9893         wmemmove: Support for MSVC.
9894         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
9895         whether wmemmove() exists.
9896
9897 2011-10-03  Bruno Haible  <bruno@clisp.org>
9898
9899         wmemcpy: Support for MSVC.
9900         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
9901         whether wmemcpy() exists.
9902
9903 2011-10-03  Bruno Haible  <bruno@clisp.org>
9904
9905         wmemcmp: Support for MSVC.
9906         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
9907         whether wmemcmp() exists.
9908
9909 2011-10-03  Bruno Haible  <bruno@clisp.org>
9910
9911         wmemchr: Support for MSVC.
9912         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
9913         whether wmemchr() exists.
9914
9915 2011-10-03  Bruno Haible  <bruno@clisp.org>
9916
9917         glthread/*, strsignal: Support for MSVC.
9918         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
9919         including <winsock.h> on MSVC 9.
9920         * lib/glthread/lock.h: Likewise.
9921         * lib/glthread/thread.h: Likewise.
9922         * lib/glthread/tls.h: Likewise.
9923         * lib/glthread/yield.h: Likewise.
9924         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
9925         if HAVE_UNISTD_H is false.
9926         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
9927
9928 2011-10-03  Bruno Haible  <bruno@clisp.org>
9929
9930         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
9931         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
9932         Set to 100000.
9933
9934 2011-10-03  Bruno Haible  <bruno@clisp.org>
9935
9936         acl: Fix specification.
9937         * lib/file-has-acl.c (file_has_acl): Fix specification.
9938
9939 2011-10-03  Bruno Haible  <bruno@clisp.org>
9940
9941         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
9942         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
9943         (compute_curr_prefix, shared_library_fullname,
9944         find_shared_library_fullname, get_shared_library_fullname, relocate):
9945         Use it together with PIC && INSTALLDIR.
9946         Reported by <jojelino@gmail.com>
9947         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
9948
9949 2011-10-01  Jim Meyering  <meyering@redhat.com>
9950
9951         maint.mk: adjust a release-related rule not to require use of gzip
9952         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
9953         Instead, check each file in $(DIST_ARCHIVES).  This is better for
9954         projects that build only .tar.xz files.  Also fix an erroneous test.
9955
9956         test-linkat: don't leave behind a temporary file
9957         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
9958         Otherwise, coreutils' "make distcheck" would fail with this:
9959           Only in /c/cu/tests/torture/coreutils/test/\
9960             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
9961           make[2]: *** [my-distcheck] Error 1
9962
9963         float, math: add omitted file
9964         * lib/itold.c: Add file, required for yesterday's float change.
9965
9966 2011-10-01  Bruno Haible  <bruno@clisp.org>
9967
9968         isinf: Fix for OpenBSD/x86.
9969         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
9970         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
9971         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
9972
9973 2011-10-01  Bruno Haible  <bruno@clisp.org>
9974
9975         isfinite: Fix syntax error in configure test.
9976         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
9977
9978         isfinite: Fix typo.
9979         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
9980         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
9981
9982 2011-10-01  Bruno Haible  <bruno@clisp.org>
9983
9984         nonblocking tests: Fix test failure on Linux/IA-64.
9985         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
9986         Set to 270000.
9987
9988 2011-10-01  Bruno Haible  <bruno@clisp.org>
9989
9990         mkfifoat tests: Fix a test failure on mingw.
9991         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
9992         with error ENOSYS.
9993
9994 2011-09-30  Bruno Haible  <bruno@clisp.org>
9995
9996         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
9997         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
9998         'long double'. Set REPLACE_ITOLD.
9999         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
10000         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
10001         * lib/itold.c: New file.
10002         * modules/float (Files): Add lib/itold.c.
10003         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
10004         (Makefile.am): Substitute REPLACE_ITOLD.
10005         * modules/math (Depends-on): Add float.
10006         (Makefile.am): Substitute REPLACE_ITOLD.
10007         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
10008         * doc/posix-headers/math.texi: Likewise.
10009         * doc/posix-functions/logl.texi: Likewise.
10010
10011 2011-09-30  Bruno Haible  <bruno@clisp.org>
10012
10013         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
10014         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
10015         Set to 140000.
10016
10017 2011-09-30  Bruno Haible  <bruno@clisp.org>
10018
10019         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
10020         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
10021         invocation, say "right after AC_PROG_CC_STDC", not "right after
10022         AC_PROG_CC".
10023         Reported by Gary V. Vaughan <gary@gnu.org>.
10024
10025 2011-09-30  Bruno Haible  <bruno@clisp.org>
10026
10027         Centralize C99 requirement.
10028         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
10029         * modules/stdarg (configure.ac-early): Invoke it instead of
10030         AC_PROG_CC_STDC.
10031         Reported by Gary V. Vaughan and Paul Eggert.
10032
10033 2011-09-29  Bruno Haible  <bruno@clisp.org>
10034
10035         float: Fix LDBL_MAX value on Linux/PowerPC.
10036         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
10037         on Linux/PowerPC.
10038         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
10039         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
10040         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
10041         platform.
10042         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
10043
10044 2011-09-29  Bruno Haible  <bruno@clisp.org>
10045
10046         doc: Improve doc about gl_EARLY.
10047         * doc/gnulib-tool.texi (Initial import): Mention where to place an
10048         AC_PROG_CC_STDC invocation.
10049         Reported by Gary V. Vaughan <gary@gnu.org>.
10050
10051 2011-09-28  Bruno Haible  <bruno@clisp.org>
10052
10053         fgetc, fputc, fread, fwrite tests: Fix link error.
10054         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
10055         on non-MSVC platforms.
10056         * tests/test-fputc.c (main): Likewise.
10057         * tests/test-fread.c (main): Likewise.
10058         * tests/test-fwrite.c (main): Likewise.
10059         Reported by Jim Meyering.
10060
10061 2011-09-27  Bruno Haible  <bruno@clisp.org>
10062
10063         fputc, fwrite tests: Avoid test failure on MSVC.
10064         * tests/test-fgetc.c: Include msvc-inval.h.
10065         (main): Invoke gl_msvc_inval_ensure_handler.
10066         * tests/test-fputc.c: Include msvc-inval.h.
10067         (main): Invoke gl_msvc_inval_ensure_handler.
10068         * tests/test-fread.c: Include msvc-inval.h.
10069         (main): Invoke gl_msvc_inval_ensure_handler.
10070         * tests/test-fwrite.c: Include msvc-inval.h.
10071         (main): Invoke gl_msvc_inval_ensure_handler.
10072         * modules/fgetc-tests (Depends-on): Add msvc-inval.
10073         * modules/fputc-tests (Depends-on): Likewise.
10074         * modules/fread-tests (Depends-on): Likewise.
10075         * modules/fwrite-tests (Depends-on): Likewise.
10076
10077 2011-09-27  Bruno Haible  <bruno@clisp.org>
10078
10079         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
10080         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
10081         (raise): Remove older, duplicated declaration.
10082         (_gl_raise_SIGPIPE): New declaration.
10083         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
10084         (rpl_raise): Remove function.
10085         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
10086         a gnulib-defined SIGPIPE here.
10087         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
10088         'sigprocmask' has detected missing signal-blocking and the module
10089         'sigpipe' is enabled.
10090         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
10091
10092 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
10093
10094         base64-tests: avoid memory leak
10095         * tests/test-base64.c (main): Plug memory leak.
10096
10097         base32: new module
10098         * modules/base32: New module.
10099         * lib/base32.c: New file.
10100         * lib/base32.h: Likewise.
10101         * m4/base32.m4: Likewise.
10102         * modules/base32-tests: New test.
10103         * tests/test-base32.c: Likewise.
10104         * MODULES.html.sh (Misc): Mention it.
10105
10106 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
10107
10108         gnulib: use more-standard license notice wording
10109         * gnulib-tool (func_emit_copyright_notice): When emitting a
10110         license notice into a file, use the standard wording as suggested
10111         by the current information for GNU maintainers, except say "file"
10112         rather than "program".  The new wording gives a license version
10113         number, which addresses an issue raised by Glenn Morris in
10114         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
10115         * m4/onceonly.m4: Use that same wording here, too.
10116
10117         dup2: minor simplification
10118         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
10119         as lib/dup2.c no longer uses 'inline'.
10120
10121 2011-09-25  Bruno Haible  <bruno@clisp.org>
10122
10123         strings: Fix compilation error on MSVC.
10124         * lib/strings.in.h: Include <stddef.h> for size_t.
10125
10126 2011-09-25  Bruno Haible  <bruno@clisp.org>
10127
10128         fflush et al.: Document limitation on MSVC.
10129         * doc/posix-functions/fflush.texi: Document possible crash in handling
10130         mode other than DEFAULT_HANDLING.
10131         * doc/posix-functions/fgetc.texi: Likewise.
10132         * doc/posix-functions/fputc.texi: Likewise.
10133         * doc/posix-functions/fread.texi: Likewise.
10134         * doc/posix-functions/fwrite.texi: Likewise.
10135
10136 2011-09-25  Bruno Haible  <bruno@clisp.org>
10137
10138         msvc-inval: Allow three invalid parameter handling modes.
10139         * lib/msvc-inval.h: Don't include <stdlib.h> here.
10140         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
10141         macros.
10142         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
10143         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
10144         SANE_LIBRARY_HANDLING as a no-op.
10145         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
10146         <stdlib.h>.
10147         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
10148
10149 2011-09-25  Bruno Haible  <bruno@clisp.org>
10150
10151         msvc-inval: Make handler multithread-safe.
10152         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
10153         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
10154         declarations.
10155         (gl_msvc_inval_current): New declaration.
10156         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10157         Operate on the structure returned by gl_msvc_inval_current().
10158         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
10159         Remove varaiables.
10160         (tls_index, tls_initialized): New variables.
10161         (not_per_thread): New variable.
10162         (gl_msvc_inval_current): New function.
10163         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
10164         returned by gl_msvc_inval_current().
10165
10166 2011-09-25  Bruno Haible  <bruno@clisp.org>
10167
10168         msvc-inval: Install handler globally.
10169         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
10170         !_MSC_VER.
10171         (gl_msvc_invalid_parameter_handler): Remove declaration.
10172         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
10173         declarations.
10174         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
10175         Install the handler globally, don't uninstall it.
10176         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
10177         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
10178         currently valid, call RaiseException instead.
10179         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
10180         for !_MSC_VER.
10181
10182 2011-09-25  Bruno Haible  <bruno@clisp.org>
10183
10184         strerror_r-posix: Fix for MSVC 9.
10185         * lib/strerror_r.c (local_snprintf): New function.
10186         (snprintf): Define to local_snprintf, not to _snprintf.
10187
10188 2011-09-25  Bruno Haible  <bruno@clisp.org>
10189
10190         ftruncate: Support for MSVC 9.
10191         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
10192         (chsize_nothrow): New function.
10193         (chsize): Redefine as a macro.
10194         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
10195         * modules/ftruncate (Depends-on): Add msvc-inval.
10196
10197 2011-09-25  Bruno Haible  <bruno@clisp.org>
10198
10199         New module 'fstat'.
10200         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
10201         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
10202         * lib/fchdir.c (rpl_fstat): Remove function.
10203         * m4/fstat.m4: New file.
10204         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
10205         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
10206         declared.
10207         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
10208         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
10209         * modules/fstat: New file.
10210         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
10211         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
10212         is set.
10213         * doc/posix-functions/fstat.texi: Mention the new module and the
10214         problem on MSVC.
10215         * NEWS: Mention the change.
10216         * modules/acl (Depends-on): Add fstat.
10217         * modules/chdir-safer (Depends-on): Likewise.
10218         * modules/chown (Depends-on): Likewise.
10219         * modules/copy-file (Depends-on): Likewise.
10220         * modules/fchdir (Depends-on): Likewise.
10221         * modules/fdopendir (Depends-on): Likewise.
10222         * modules/fopen (Depends-on): Likewise.
10223         * modules/fts (Depends-on): Likewise.
10224         * modules/getcwd (Depends-on): Likewise.
10225         * modules/isapipe (Depends-on): Likewise.
10226         * modules/linkat (Depends-on): Likewise.
10227         * modules/lseek (Depends-on): Likewise.
10228         * modules/mkdir-p (Depends-on): Likewise.
10229         * modules/open (Depends-on): Likewise.
10230         * modules/openat (Depends-on): Likewise.
10231         * modules/read-file (Depends-on): Likewise.
10232         * modules/renameat (Depends-on): Likewise.
10233         * modules/utimens (Depends-on): Likewise.
10234
10235 2011-09-25  Bruno Haible  <bruno@clisp.org>
10236
10237         linkat: Fix compilation on MSVC 9.
10238         * lib/linkat.c: Don't include <stdint.h>.
10239
10240 2011-09-25  Bruno Haible  <bruno@clisp.org>
10241
10242         fclose: Support for MSVC 9.
10243         * lib/fclose.c: Include msvc-inval.h.
10244         (fclose_nothrow): New function.
10245         (rpl_fclose): Use it.
10246         * modules/fclose (Depends-on): Add msvc-inval.
10247         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
10248
10249 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
10250
10251         dup2: minor simplifications
10252         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
10253         that it's a performance win.
10254         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
10255         ! defined __CYGWIN__)" to "ifdef F_GETFL".
10256
10257 2011-09-24  Jim Meyering  <meyering@redhat.com>
10258
10259         test-futimens: avoid a warning from gcc -Wshadow
10260         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
10261         to avoid a shadowing warning.
10262
10263 2011-09-24  Bruno Haible  <bruno@clisp.org>
10264
10265         fdopen: Support for MSVC 9.
10266         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
10267         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
10268         * lib/fdopen.c: Include msvc-inval.h.
10269         (fdopen_nothrow): New function.
10270         (rpl_fdopen): Use it.
10271         * modules/fdopen (Depends-on): Add msvc-inval.
10272         * modules/fclose-tests (Depends-on): Add fdopen.
10273         * modules/fflush-tests (Depends-on): Likewise.
10274         * modules/fgetc-tests (Depends-on): Likewise.
10275         * modules/fputc-tests (Depends-on): Likewise.
10276         * modules/fread-tests (Depends-on): Likewise.
10277         * modules/freopen-tests (Depends-on): Likewise.
10278         * modules/fseeko-tests (Depends-on): Likewise.
10279         * modules/ftello-tests (Depends-on): Likewise.
10280         * modules/fwrite-tests  (Depends-on): Likewise.
10281         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
10282
10283 2011-09-24  Bruno Haible  <bruno@clisp.org>
10284
10285         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
10286         * modules/fgetc-tests (Depends-on): Add unistd.
10287         * modules/fputc-tests (Depends-on): Likewise.
10288         * modules/fread-tests (Depends-on): Likewise.
10289         * modules/fwrite-tests (Depends-on): Likewise.
10290
10291 2011-09-24  Bruno Haible  <bruno@clisp.org>
10292
10293         dup: Simplify autoconf test.
10294         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
10295         on gl_MSVC_INVAL's result.
10296
10297 2011-09-24  Bruno Haible  <bruno@clisp.org>
10298
10299         Tests for function fwrite().
10300         * modules/fwrite-tests: New file.
10301         * tests/test-fwrite.c: New file.
10302         * modules/stdio-tests (Depends-on): Add fwrite-tests.
10303
10304         Tests for function fread().
10305         * modules/fread-tests: New file.
10306         * tests/test-fread.c: New file.
10307         * modules/stdio-tests (Depends-on): Add fread-tests.
10308
10309         Activate fputc tests.
10310         * modules/stdio-tests (Depends-on): Add fputc-tests.
10311
10312         Enhance fgetc, fputc tests.
10313         * tests/test-fgetc.c (main): Also test the stream's error indicator.
10314         * tests/test-fputc.c (main): Likewise.
10315
10316 2011-09-24  Bruno Haible  <bruno@clisp.org>
10317
10318         write: Support for MSVC 9.
10319         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10320         is not 1.
10321         * lib/write.c (write_nothrow): New function.
10322         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
10323         not 1. Use write_nothrow.
10324         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
10325         invalid parameter handler.
10326         (gl_PREREQ_WRITE): New macro.
10327         * modules/write (Depends-on): Add msvc-inval.
10328         (configure.ac): Invoke gl_PREREQ_WRITE.
10329         * doc/posix-functions/write.texi: Mention the problem on MSVC.
10330
10331 2011-09-24  Bruno Haible  <bruno@clisp.org>
10332
10333         read: Fix last commit.
10334         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
10335
10336 2011-09-24  Bruno Haible  <bruno@clisp.org>
10337
10338         dup2: Fix last commit.
10339         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
10340         (rpl_dup2): Disable fcntl workaround on native Windows.
10341
10342         sigprocmask: Make code safer.
10343         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
10344         section that changes macro definitions for this compilation unit.
10345
10346 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
10347
10348         dup2: clarify by coalescing Windows-specific material
10349         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
10350         "msvc-nothrow.h"' to the Windows-specific section, so that the
10351         Emacs source need not contain these include files.
10352         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
10353         Windows-specific fixes into this function rather than just the
10354         nothrow fix, as this shortens and clarifies the code.  Always
10355         define as a function, as that's a bit cleaner than having it be
10356         sometimes a function and sometimes a macro.
10357         (rpl_dup2): Move the Windows-specific stuff out of here and into
10358         ms_windows_dup2.  Don't protect the Haiku-related fix with
10359         "#if !defined __linux__", as the same code also works around
10360         a Linux kernel bug, and it doesn't add any system calls on any
10361         platform.  Add comment about FreeBSD 6.1.
10362
10363         sigprocmask: move #include directive
10364         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
10365         Windows-specific section, so that the Emacs source need not
10366         contain msvc-inval.h.
10367
10368 2011-09-23  Bruno Haible  <bruno@clisp.org>
10369
10370         read: Support for MSVC 9.
10371         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
10372         is not 1.
10373         * lib/read.c (read_nothrow): New function.
10374         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
10375         read_nothrow.
10376         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
10377         invalid parameter handler.
10378         (gl_PREREQ_READ): New macro.
10379         * modules/read (Depends-on): Add msvc-inval.
10380         (configure.ac): Invoke gl_PREREQ_READ.
10381         * doc/posix-functions/read.texi: Mention the problem on MSVC.
10382
10383 2011-09-23  Bruno Haible  <bruno@clisp.org>
10384
10385         close: Support for MSVC 9.
10386         * lib/close.c: Include <errno.h>, msvc-inval.h.
10387         (close_nothrow): New function.
10388         (rpl_close): Use it.
10389         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
10390         invalid parameter handler.
10391         * modules/close (Depends-on): Add msvc-inval.
10392         * modules/dup2-tests (Depends-on): Add close.
10393         * modules/dup3-tests (Depends-on): Likewise.
10394         * modules/fcntl-tests (Depends-on): Likewise.
10395         * modules/spawn-pipe-tests (Depends-on): Likewise.
10396         * modules/unistd-safer-tests (Depends-on): Likewise.
10397         * doc/posix-functions/close.texi: Mention the problem on MSVC.
10398
10399 2011-09-23  Bruno Haible  <bruno@clisp.org>
10400
10401         New module 'dup'.
10402         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
10403         Allow replacement.
10404         * lib/dup.c: New file.
10405         * lib/fchdir.c (rpl_dup): Remove function.
10406         * m4/dup.m4: New file.
10407         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
10408         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
10409         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
10410         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
10411         * modules/dup: New file.
10412         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
10413         'dup' module is in use.
10414         * modules/fdopendir (Depends-on): Add dup.
10415         * modules/fdutimensat-tests (Depends-on): Likewise.
10416         * modules/fts (Depends-on): Likewise.
10417         * modules/futimens-tests (Depends-on): Likewise.
10418         * modules/posix_spawnp-tests (Depends-on): Likewise.
10419         * modules/unistd-safer-tests (Depends-on): Likewise.
10420         * modules/utimens-tests (Depends-on): Likewise.
10421         * doc/posix-functions/dup.texi: Mention the new module and the problem
10422         on MSVC.
10423
10424 2011-09-23  Bruno Haible  <bruno@clisp.org>
10425
10426         getdtablesize: Support for MSVC 9.
10427         * lib/getdtablesize.c: Include msvc-inval.h.
10428         (_setmaxstdio_nothrow): New function.
10429         (_setmaxstdio): Redefine it.
10430         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
10431         * modules/getdtablesize (Depends-on): Add msvc-inval.
10432         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
10433
10434 2011-09-23  Bruno Haible  <bruno@clisp.org>
10435
10436         signal-h: Rename from signal.
10437         * modules/signal-h: Renamed from modules/signal.
10438         * modules/pthread_sigmask (Depends-on): Update.
10439         * modules/raise (Depends-on): Likewise.
10440         * modules/sigaction (Depends-on): Likewise.
10441         * modules/sigpipe (Depends-on): Likewise.
10442         * modules/sigprocmask (Depends-on): Likewise.
10443         * modules/sys_select (Depends-on): Likewise.
10444         * modules/signal-h-tests: Renamed from modules/signal-tests.
10445         (Files, Depends-on, Makefile.am): Update.
10446         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
10447         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
10448         (Files, Makefile.am): Update.
10449         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
10450         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
10451         * modules/signal: New placeholder file.
10452         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
10453         * doc/posix-headers/signal.texi: Update.
10454         * NEWS: Mention the change.
10455
10456 2011-09-23  Bruno Haible  <bruno@clisp.org>
10457
10458         sigprocmask: Avoid crashes through signal() on MSVC 9.
10459         * lib/sigprocmask.c: Include msvc-inval.h.
10460         (signal_nothrow): New function.
10461         (signal): Redefine it.
10462         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
10463         * modules/sigprocmask (Depends-on): Add msvc-inval.
10464         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
10465
10466 2011-09-23  Bruno Haible  <bruno@clisp.org>
10467
10468         Tests for module 'raise'.
10469         * modules/raise-tests: New file.
10470         * tests/test-raise.c: New file.
10471
10472         raise: Support for MSVC.
10473         * lib/signal.in.h (raise): New declaration.
10474         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
10475         for native Windows platforms.
10476         * m4/raise.m4: New file.
10477         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
10478         HAVE_RAISE, REPLACE_RAISE.
10479         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
10480         REPLACE_RAISE.
10481         * modules/raise (Status, Notice): Remove fields.
10482         (Files): Add m4/raise.m4.
10483         (Depends-on): Add signal, msvc-inval.
10484         (configure.ac): Use the common idioms.
10485         (Maintainer): Add me.
10486         * tests/test-signal-c++.cc: Check the signature of raise.
10487         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
10488
10489 2011-09-23  Bruno Haible  <bruno@clisp.org>
10490
10491         pipe2: Fix compilation on pre-C99 compilers.
10492         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
10493
10494 2011-09-23  Bruno Haible  <bruno@clisp.org>
10495
10496         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
10497         * lib/msvc-nothrow.h: New file.
10498         * lib/msvc-nothrow.c: New file.
10499         * m4/msvc-nothrow.m4: New file.
10500         * modules/msvc-nothrow: New file.
10501         * lib/dup2.c: Include msvc-nothrow.h.
10502         (rpl_dup2): No need to protect _get_osfhandle call here.
10503         * lib/accept4.c: Include msvc-nothrow.h.
10504         * lib/error.c: Likewise.
10505         * lib/fcntl.c: Likewise.
10506         * lib/lseek.c: Likewise.
10507         * lib/nonblocking.c: Likewise.
10508         * lib/poll.c: Likewise.
10509         * lib/read.c: Likewise.
10510         * lib/select.c: Likewise.
10511         * lib/sockets.h: Likewise.
10512         * lib/sockets.c: Likewise.
10513         * lib/stdio-read.c: Likewise.
10514         * lib/stdio-write.c: Likewise.
10515         * lib/write.c: Likewise.
10516         * lib/w32sock.h: Likewise.
10517         * lib/w32spawn.h: Likewise.
10518         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
10519         * lib/fsync.c: Likewise.
10520         * lib/isapipe.c: Likewise.
10521         * modules/dup2 (Depends-on): Add msvc-nothrow.
10522         * modules/accept4 (Depends-on): Likewise.
10523         * modules/error (Depends-on): Likewise.
10524         * modules/fcntl (Depends-on): Likewise.
10525         * modules/lseek (Depends-on): Likewise.
10526         * modules/nonblocking (Depends-on): Likewise.
10527         * modules/poll (Depends-on): Likewise.
10528         * modules/read (Depends-on): Likewise.
10529         * modules/select (Depends-on): Likewise.
10530         * modules/sockets (Depends-on): Likewise.
10531         * modules/sigpipe (Depends-on): Likewise.
10532         * modules/write (Depends-on): Likewise.
10533         * modules/accept (Depends-on): Likewise.
10534         * modules/bind (Depends-on): Likewise.
10535         * modules/connect (Depends-on): Likewise.
10536         * modules/gethostname (Depends-on): Likewise.
10537         * modules/getpeername (Depends-on): Likewise.
10538         * modules/getsockname (Depends-on): Likewise.
10539         * modules/getsockopt (Depends-on): Likewise.
10540         * modules/ioctl (Depends-on): Likewise.
10541         * modules/listen (Depends-on): Likewise.
10542         * modules/recv (Depends-on): Likewise.
10543         * modules/recvfrom (Depends-on): Likewise.
10544         * modules/send (Depends-on): Likewise.
10545         * modules/sendto (Depends-on): Likewise.
10546         * modules/setsockopt (Depends-on): Likewise.
10547         * modules/shutdown (Depends-on): Likewise.
10548         * modules/socket (Depends-on): Likewise.
10549         * modules/execute (Depends-on): Likewise.
10550         * modules/spawn-pipe (Depends-on): Likewise.
10551         * modules/flock (Depends-on): Likewise.
10552         * modules/fsync (Depends-on): Likewise.
10553         * modules/isapipe (Depends-on): Likewise.
10554         * tests/test-cloexec.c: Include msvc-nothrow.h.
10555         * tests/test-dup-safer.c: Likewise.
10556         * tests/test-dup2.c: Likewise.
10557         * tests/test-dup3.c: Likewise.
10558         * tests/test-fcntl.c: Likewise.
10559         * tests/test-pipe.c: Likewise.
10560         * tests/test-pipe2.c: Likewise.
10561         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
10562         * modules/unistd-safer-tests (Depends-on): Likewise.
10563         * modules/dup2-tests (Depends-on): Likewise.
10564         * modules/dup3-tests (Depends-on): Likewise.
10565         * modules/fcntl-tests (Depends-on): Likewise.
10566         * modules/pipe-posix-tests (Depends-on): Likewise.
10567         * modules/pipe2-tests (Depends-on): Likewise.
10568
10569 2011-09-23  Bruno Haible  <bruno@clisp.org>
10570
10571         dup2: Make code more maintainable.
10572         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
10573         (rpl_dup2): Use it.
10574         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
10575         * modules/dup2 (configure.ac): Invoke it.
10576         Reported by Paul Eggert.
10577
10578 2011-09-23  Bruno Haible  <bruno@clisp.org>
10579
10580         msvc-inval: Fix compilation error.
10581         * lib/msvc-inval.h: Include <excpt.h>.
10582
10583 2011-09-23  Bruno Haible  <bruno@clisp.org>
10584
10585         mkdir: Tweak for MSVC 9.
10586         * lib/sys_stat.in.h: Update comments.
10587         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
10588
10589         Tests for module 'chdir'.
10590         * modules/chdir-tests: New file.
10591         * tests/test-chdir.c: New file.
10592
10593         New module 'chdir'.
10594         * modules/chdir: New file.
10595         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
10596         (chdir): New declaration.
10597         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
10598         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
10599         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
10600         * tests/test-unistd-c++.cc: Check signature of chdir.
10601         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
10602         * modules/chdir-long (Depends-on): Add chdir.
10603         * modules/fchdir (Depends-on): Likewise.
10604         * modules/rename (Depends-on): Likewise.
10605         * modules/savewd (Depends-on): Likewise.
10606
10607         rmdir: Support for mingw, MSVC 9.
10608         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
10609         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
10610
10611         getcwd: Tweak for MSVC 9.
10612         * lib/unistd.in.h: Update comments.
10613         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
10614
10615 2011-09-22  Bruno Haible  <bruno@clisp.org>
10616
10617         strerror_r-posix: Avoid a link error on MSVC.
10618         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
10619         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
10620
10621 2011-09-22  Bruno Haible  <bruno@clisp.org>
10622
10623         select: Avoid link errors on MSVC.
10624         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
10625         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
10626         * modules/pselect (Link): Likewise.
10627         * NEWS: Mention the change.
10628         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
10629         test-select-stdin against $(LIB_SELECT).
10630         * modules/pselect-tests (Makefile.am): Link test-pselect against
10631         $(LIB_SELECT).
10632
10633 2011-09-22  Bruno Haible  <bruno@clisp.org>
10634
10635         select: Avoid compilation error on MSVC.
10636         * lib/select.c: Don't include <stdbool.h>.
10637
10638 2011-09-21  Bruno Haible  <bruno@clisp.org>
10639
10640         Consolidate all uses of PATH_MAX in *.m4 files.
10641         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
10642         macros.
10643         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
10644         and gl_PATHMAX_SNIPPET.
10645         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
10646         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
10647         * modules/chdir-long (Files): Add m4/pathmax.m4.
10648         * modules/getcwd (Files): Likewise.
10649
10650 2011-09-21  Bruno Haible  <bruno@clisp.org>
10651
10652         ftruncate: Un-deprecate, concentrate on Win32 support.
10653         * modules/ftruncate (Status, Notice): Remove sections.
10654         (Depends-on): Add largefile.
10655         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
10656         non-mingw platforms.
10657         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
10658         include <io.h>.
10659         * modules/perror-tests (Depends-on): Add ftruncate.
10660         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
10661         'ftruncate' module.
10662
10663 2011-09-21  Bruno Haible  <bruno@clisp.org>
10664
10665         Add dependencies to new dirent related modules.
10666         * modules/opendir (Depends-on): Add closedir.
10667         * modules/getcwd (Depends-on): Add opendir, closedir.
10668         * modules/dirent-safer-tests (Depends-on): Likewise.
10669         * modules/fdopendir-tests (Depends-on): Likewise.
10670         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
10671         * modules/renameat-tests (Depends-on): Likewise.
10672
10673 2011-09-21  Bruno Haible  <bruno@clisp.org>
10674
10675         opendir: Avoid compilation error on mingw.
10676         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
10677         * modules/opendir (Depends-on): Add unistd.
10678
10679 2011-09-21  Bruno Haible  <bruno@clisp.org>
10680
10681         ftruncate tests: Avoid a test failure on mingw.
10682         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
10683
10684 2011-09-21  Bruno Haible  <bruno@clisp.org>
10685
10686         select tests: Avoid test failures on OSF/1 5.1 and mingw.
10687         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
10688         native Windows.
10689
10690 2011-09-21  Bruno Haible  <bruno@clisp.org>
10691
10692         New module 'fdopen'.
10693         * lib/stdio.in.h (fdopen): New declaration.
10694         * lib/fdopen.c: New file.
10695         * m4/fdopen.m4: New file.
10696         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
10697         REPLACE_FDOPEN.
10698         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
10699         REPLACE_FDOPEN.
10700         * modules/fdopen: New file.
10701         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
10702         * tests/test-stdio-c++.cc: Check signature of fdopen.
10703         * doc/posix-functions/fdopen.texi: Mention the new module.
10704
10705 2011-09-21  Bruno Haible  <bruno@clisp.org>
10706
10707         unlockpt tests: Avoid test failure on NetBSD 5.1.
10708         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
10709         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
10710
10711 2011-09-21  Bruno Haible  <bruno@clisp.org>
10712
10713         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
10714         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
10715         * tests/test-getlogin_r.c (main): Likewise.
10716
10717 2011-09-20  Bruno Haible  <bruno@clisp.org>
10718
10719         time tests: Don't require pid_t.
10720         * doc/posix-headers/time.texi: Revert last change.
10721         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
10722         * tests/test-time.c: Comment out the check for pid_t.
10723
10724 2011-09-20  Bruno Haible  <bruno@clisp.org>
10725
10726         fsync tests: Avoid a test failure on mingw.
10727         * tests/test-fsync.c (main): Allow a failure with EIO.
10728
10729 2011-09-20  Bruno Haible  <bruno@clisp.org>
10730
10731         euidaccess: Update comments.
10732         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
10733
10734 2011-09-20  Bruno Haible  <bruno@clisp.org>
10735
10736         Ensure EBADF returns for socket functions on mingw.
10737         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
10738         descriptor is invalid.
10739         * lib/bind.c (rpl_bind): Likewise.
10740         * lib/connect.c (rpl_connect): Likewise.
10741         * lib/getpeername.c (rpl_getpeername): Likewise.
10742         * lib/getsockname.c (rpl_getsockname): Likewise.
10743         * lib/getsockopt.c (rpl_getsockopt): Likewise.
10744         * lib/listen.c (rpl_listen): Likewise.
10745         * lib/recv.c (rpl_recv): Likewise.
10746         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10747         * lib/send.c (rpl_send): Likewise.
10748         * lib/sendto.c (rpl_sendto): Likewise.
10749         * lib/setsockopt.c (rpl_setsockopt): Likewise.
10750         * lib/shutdown.c (rpl_shutdown): Likewise.
10751
10752 2011-09-20  Bruno Haible  <bruno@clisp.org>
10753
10754         select tests: EBADF tests.
10755         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
10756         test_bad_fd): New functions.
10757         (test_function): Invoke also test_bad_fd.
10758
10759 2011-09-20  Bruno Haible  <bruno@clisp.org>
10760
10761         Tests for module 'posix_spawn_file_actions_addopen.
10762         * modules/posix_spawn_file_actions_addopen-tests: New file.
10763         * tests/test-posix_spawn_file_actions_addopen.c: New file.
10764
10765         Tests for module 'posix_spawn_file_actions_adddup2'.
10766         * modules/posix_spawn_file_actions_adddup2-tests: New file.
10767         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
10768
10769         Tests for module 'posix_spawn_file_actions_addclose'.
10770         * modules/posix_spawn_file_actions_addclose-tests: New file.
10771         * tests/test-posix_spawn_file_actions_addclose.c: New file.
10772
10773 2011-09-20  Bruno Haible  <bruno@clisp.org>
10774
10775         Tests for module 'unlockpt'.
10776         * modules/unlockpt-tests: New file.
10777         * tests/test-unlockpt.c: New file.
10778         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
10779
10780         Tests for module 'grantpt'.
10781         * modules/grantpt-tests: New file.
10782         * tests/test-grantpt.c: New file.
10783         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
10784
10785 2011-09-20  Bruno Haible  <bruno@clisp.org>
10786
10787         freopen tests: EBADF tests.
10788         * tests/test-freopen.c: Include errno.h, unistd.h.
10789         (main): Add tests for EBADF, commented out for the moment.
10790
10791         fclose tests: EBADF tests.
10792         * tests/test-fclose.c (main): Add tests for EBADF.
10793
10794         fflush tests: EBADF tests.
10795         * tests/test-fflush.c: Include errno.h, macros.h.
10796         (main): Add tests for EBADF.
10797
10798         ftello tests: EBADF tests.
10799         * tests/test-ftello4.sh: New file.
10800         * tests/test-ftello4.c: New file.
10801         * modules/ftello-tests (Files): Add them.
10802         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
10803
10804         fseeko tests: EBADF tests.
10805         * tests/test-fseeko4.sh: New file.
10806         * tests/test-fseeko4.c: New file.
10807         * modules/fseeko-tests (Files): Add them.
10808         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
10809
10810         Tests for function fputc().
10811         * modules/fputc-tests: New file.
10812         * tests/test-fputc.c: New file.
10813         * modules/stdio-tests (Depends-on): Add fputc-tests.
10814
10815         Tests for function fgetc().
10816         * modules/fgetc-tests: New file.
10817         * tests/test-fgetc.c: New file.
10818         * modules/stdio-tests (Depends-on): Add fgetc-tests.
10819
10820         Tests for function fdopen().
10821         * modules/fdopen-tests: New file.
10822         * tests/test-fdopen.c: New file.
10823         * modules/stdio-tests (Depends-on): Add fdopen-tests.
10824
10825         Tests for module 'vdprintf'.
10826         * modules/vdprintf-tests: New file.
10827         * tests/test-vdprintf.c: New file.
10828
10829         Tests for module 'dprintf'.
10830         * modules/dprintf-tests: New file.
10831         * tests/test-dprintf.c: New file.
10832
10833 2011-09-20  Bruno Haible  <bruno@clisp.org>
10834
10835         Tests for module 'ioctl'.
10836         * modules/ioctl-tests: New file.
10837         * tests/test-ioctl.c: New file.
10838
10839 2011-09-20  Bruno Haible  <bruno@clisp.org>
10840
10841         fcntl tests: EBADF tests.
10842         * tests/test-fcntl.c (main): Add more tests for EBADF.
10843
10844 2011-09-20  Bruno Haible  <bruno@clisp.org>
10845
10846         utimensat tests: EBADF tests.
10847         * tests/test-utimensat.c (main): Add tests for EBADF.
10848
10849         renameat tests: EBADF tests.
10850         * tests/test-renameat.c (main): Add tests for EBADF.
10851
10852         mkfifoat tests: EBADF tests.
10853         * tests/test-mkfifoat.c (main): Add tests for EBADF.
10854
10855         readlinkat tests: EBADF tests.
10856         * tests/test-readlinkat.c (main): Add tests for EBADF.
10857
10858         symlinkat tests: EBADF tests.
10859         * tests/test-symlinkat.c (main): Add tests for EBADF.
10860
10861         linkat tests: EBADF tests.
10862         * tests/test-linkat.c (main): Add tests for EBADF.
10863
10864         Tests for module 'faccessat'.
10865         * modules/faccessat-tests: New file.
10866         * tests/test-faccessat.c: New file.
10867
10868         fdopendir tests: EBADF tests.
10869         * tests/test-fdopendir.c (main): Add more tests for EBADF.
10870
10871         openat tests: EBADF tests.
10872         * tests/test-fchownat.c (main): Add tests for EBADF.
10873         * tests/test-fstatat.c (main): Likewise.
10874         * tests/test-mkdirat.c (main): Likewise.
10875         * tests/test-openat.c (main): Likewise.
10876         * tests/test-unlinkat.c (main): Likewise.
10877         * tests/test-fchmodat.c: New file.
10878         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
10879         (Makefile.am): Also run 'test-fchmodat'.
10880
10881 2011-09-20  Bruno Haible  <bruno@clisp.org>
10882
10883         utimens, futimens, fdutimensat tests: EBADF tests.
10884         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
10885
10886         Tests for function fstat().
10887         * modules/fstat-tests: New file.
10888         * tests/test-fstat.c: New file.
10889         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
10890
10891 2011-09-20  Bruno Haible  <bruno@clisp.org>
10892
10893         test-ttyname_r tests: EBADF tests.
10894         * tests/test-ttyname_r.c (main): Add tests for EBADF.
10895
10896         Tests for module 'isatty'.
10897         * modules/isatty-tests: New file.
10898         * tests/test-isatty.c: New file.
10899
10900         Tests for module 'write'.
10901         * modules/write-tests: New file.
10902         * tests/test-write.c: New file.
10903
10904         Tests for module 'read'.
10905         * modules/read-tests: New file.
10906         * tests/test-read.c: New file.
10907
10908         pwrite tests: EBADF tests.
10909         * tests/test-pwrite.c (main): Add tests for EBADF.
10910
10911         pread tests: EBADF tests.
10912         * tests/test-pread.c (main): Add tests for EBADF.
10913
10914         lseek tests: EBADF tests.
10915         * tests/test-lseek.c (main): Add more tests for EBADF.
10916
10917         Tests for module 'ftruncate'.
10918         * modules/ftruncate-tests: New file.
10919         * tests/test-ftruncate.sh: New file.
10920         * tests/test-ftruncate.c: New file.
10921
10922         fsync tests: EBADF tests.
10923         * tests/test-fsync.c (main): Add more tests for EBADF.
10924
10925         fdatasync tests: EBADF tests.
10926         * tests/test-fdatasync.c (main): Add more tests for EBADF.
10927
10928         Tests for module 'fchown'.
10929         * modules/fchown-tests: New file.
10930         * tests/test-fchown.c: New file.
10931
10932         Tests for module 'fchmod'.
10933         * modules/fchmod-tests: New file.
10934         * tests/test-fchmod.c: New file.
10935
10936         fchdir tests: EBADF tests.
10937         * tests/test-fchdir.c (main): Add more tests for EBADF.
10938
10939         dup2 tests: EBADF tests.
10940         * tests/test-dup2.c (main): Add more tests for EBADF.
10941
10942         Tests for module 'dup'.
10943         * modules/dup-tests: New file.
10944         * tests/test-dup.c: New file.
10945
10946         Tests for module 'close'.
10947         * modules/close-tests: New file.
10948         * tests/test-close.c: New file.
10949
10950 2011-09-20  Bruno Haible  <bruno@clisp.org>
10951
10952         Tests for module 'shutdown'.
10953         * modules/shutdown-tests: New file.
10954         * tests/test-shutdown.c: New file.
10955
10956         Tests for module 'setsockopt'.
10957         * modules/setsockopt-tests: New file.
10958         * tests/test-setsockopt.c: New file.
10959
10960         Tests for module 'sendto'.
10961         * modules/sendto-tests: New file.
10962         * tests/test-sendto.c: New file.
10963
10964         Tests for module 'send'.
10965         * modules/send-tests: New file.
10966         * tests/test-send.c: New file.
10967
10968         Tests for module 'recvfrom'.
10969         * modules/recvfrom-tests: New file.
10970         * tests/test-recvfrom.c: New file.
10971
10972         Tests for module 'recv'.
10973         * modules/recv-tests: New file.
10974         * tests/test-recv.c: New file.
10975
10976         Tests for module 'listen'.
10977         * modules/listen-tests: New file.
10978         * tests/test-listen.c: New file.
10979
10980         Tests for module 'getsockopt'.
10981         * modules/getsockopt-tests: New file.
10982         * tests/test-getsockopt.c: New file.
10983
10984         Tests for module 'getsockname'.
10985         * modules/getsockname-tests: New file.
10986         * tests/test-getsockname.c: New file.
10987
10988         Tests for module 'getpeername'.
10989         * modules/getpeername-tests: New file.
10990         * tests/test-getpeername.c: New file.
10991
10992         Tests for module 'connect'.
10993         * modules/connect-tests: New file.
10994         * tests/test-connect.c: New file.
10995
10996         Tests for module 'bind'.
10997         * modules/bind-tests: New file.
10998         * tests/test-bind.c: New file.
10999
11000         accept4 tests: Fix for native Windows.
11001         * tests/test-accept4.c: Include sockets.h.
11002         (main): Invoke gl_sockets_startup.
11003         * modules/accept4-tests (Depends-on): Add sockets.
11004
11005         accept tests: Fix for native Windows.
11006         * tests/test-accept.c: Include sockets.h.
11007         (main): Invoke gl_sockets_startup.
11008         * modules/accept-tests (Depends-on): Add sockets.
11009
11010 2011-09-19  Bruno Haible  <bruno@clisp.org>
11011
11012         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
11013         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
11014         do...while(0).
11015         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
11016         Suggested by Paul Eggert.
11017
11018 2011-09-19  Bruno Haible  <bruno@clisp.org>
11019
11020         sched: Ensure pid_t is defined.
11021         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
11022         not define pid_t.
11023         * lib/sched.in.h: Include <sys/types.h>.
11024         * doc/posix-headers/sched.texi: Mention the pid_t problem.
11025         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11026
11027 2011-09-19  Bruno Haible  <bruno@clisp.org>
11028
11029         msvc-inval: Ensure the entire expansion is a single statement.
11030         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
11031         of braces.
11032
11033 2011-09-19  Jim Meyering  <meyering@redhat.com>
11034
11035         tests: use printf, not echo in init.sh's warn_ function
11036         * tests/init.sh (warn_): Use printf, not echo.  The latter would
11037         misbehave when given strings containing a backslash or starting
11038         with e.g., -n.  James Youngman suggested setting IFS.
11039
11040 2011-09-19  Eric Blake  <eblake@redhat.com>
11041
11042         futimens: enhance test
11043         * tests/test-futimens.h (test_futimens): Also check for EBADF on
11044         closed non-negative fd.
11045
11046         date: accept 'hence' as opposite of 'ago'
11047         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
11048         * tests/test-parse-datetime.c (main): Enhance test.
11049         Suggested by Jesse Wilson.
11050
11051 2011-09-19  Jim Meyering  <meyering@redhat.com>
11052
11053         getcwd: don't fail in a deep directory on a system without openat
11054         Before this change, getcwd would fail when called from a directory
11055         of depth PATH_MAX / 3 or greater.  That was due to the fact that
11056         the non-openat implementation used "..", "../..", "../../..", etc.
11057         to access ancestor directories.  With too many, that string would
11058         be longer than PATH_MAX.
11059         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
11060         using gnulib's openat replacement.
11061         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
11062         we're using the replacement function.
11063
11064 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
11065
11066         maint.mk: avoid warnings from perl about missing files
11067         * top/maint.mk (def_sym_regex): Ignore files listed in
11068         $(gl_other_headers_) that do not exist, say because a project
11069         does not use a corresponding module.
11070
11071 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
11072
11073         stat: use pathmax.h only if needed
11074         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
11075         This is better for Emacs, which does not have a mingw port and
11076         therefore can avoid the pathmax module.
11077
11078         utimens: remove dependency on dup2
11079         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
11080         to work around the Linux kernel bug.
11081         * modules/utimens (Depends-on): Remove dup2.
11082
11083 2011-09-18  Bruno Haible  <bruno@clisp.org>
11084
11085         inet_ntop, inet_pton: Look for it also in libresolv.
11086         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
11087         libnsl, search for it in libresolv.
11088         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11089         Needed on Solaris 7.
11090
11091 2011-09-18  Bruno Haible  <bruno@clisp.org>
11092
11093         accept, accept4 tests: Avoid link error on Solaris.
11094         * modules/accept-tests (Makefile.am): Link test-accept against
11095         $(LIBSOCKET).
11096         * modules/accept4-tests (Makefile.am): Link test-accept4 against
11097         $(LIBSOCKET).
11098
11099         accept4: Avoid link error on Solaris.
11100         * modules/accept4 (Link): New section.
11101
11102         socket functions: Avoid link errors on Solaris.
11103         * modules/accept (Depends-on): Add socketlib.
11104         (Link): New section.
11105         * modules/bind (Depends-on): Add socketlib.
11106         (Link): New section.
11107         * modules/connect (Depends-on): Add socketlib.
11108         (Link): New section.
11109         * modules/getpeername (Depends-on): Add socketlib.
11110         (Link): New section.
11111         * modules/getsockname (Depends-on): Add socketlib.
11112         (Link): New section.
11113         * modules/getsockopt (Depends-on): Add socketlib.
11114         (Link): New section.
11115         * modules/listen (Depends-on): Add socketlib.
11116         (Link): New section.
11117         * modules/recv (Depends-on): Add socketlib.
11118         (Link): New section.
11119         * modules/recvfrom (Depends-on): Add socketlib.
11120         (Link): New section.
11121         * modules/send (Depends-on): Add socketlib.
11122         (Link): New section.
11123         * modules/sendto (Depends-on): Add socketlib.
11124         (Link): New section.
11125         * modules/setsockopt (Depends-on): Add socketlib.
11126         (Link): New section.
11127         * modules/shutdown (Depends-on): Add socketlib.
11128         (Link): New section.
11129         * modules/socket (Depends-on): Add socketlib.
11130         (Link): New section.
11131
11132 2011-09-18  Bruno Haible  <bruno@clisp.org>
11133
11134         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
11135         * tests/test-ptsname.c (main): Terminate the test if it takes longer
11136         than 5 seconds.
11137         * modules/ptsname-tests (configure.ac): Test for alarm.
11138
11139 2011-09-18  Bruno Haible  <bruno@clisp.org>
11140
11141         posix_spawn_file_actions_add*: Fix module dependencies.
11142         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
11143         posix_spawn_file_actions_init.
11144         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
11145         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
11146
11147 2011-09-18  Bruno Haible  <bruno@clisp.org>
11148
11149         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
11150         * tests/test-rename.h (test_rename): Allow error code EEXIST.
11151         * tests/test-renameat.c (main): Likewise.
11152
11153 2011-09-18  Bruno Haible  <bruno@clisp.org>
11154
11155         Tests for module 'accept4'.
11156         * modules/accept4-tests: New file.
11157         * tests/test-accept4.c: New file.
11158
11159 2011-09-18  Bruno Haible  <bruno@clisp.org>
11160
11161         Tests for module 'accept'.
11162         * modules/accept-tests: New file.
11163         * tests/test-accept.c: New file.
11164
11165 2011-09-18  Bruno Haible  <bruno@clisp.org>
11166
11167         dup2: Support for MSVC.
11168         * lib/dup2.c: Include msvc-inval.h.
11169         (rpl_dup2): Handle invalid parameter notifications during dup2 and
11170         _get_osfhandle calls.
11171         * modules/dup2 (Depends-on): Add msvc-inval.
11172         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
11173
11174         New module 'msvc-inval'.
11175         * lib/msvc-inval.h: New file.
11176         * lib/msvc-inval.c: New file.
11177         * m4/msvc-inval.m4: New file.
11178         * modules/msvc-inval: New file.
11179
11180 2011-09-17  Bruno Haible  <bruno@clisp.org>
11181
11182         Tests for module 'pclose'.
11183         * modules/pclose-tests: New file.
11184
11185         New module 'pclose'.
11186         * lib/stdio.in.h (pclose): New declaration.
11187         * lib/pclose.c: New file.
11188         * m4/pclose.m4: New file.
11189         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
11190         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
11191         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
11192         * modules/pclose: New file.
11193         * modules/popen-tests (Depends-on): Add pclose.
11194         * modules/popen-safer-tests (Depends-on): Likewise.
11195         * doc/posix-functions/pclose.texi: Mention the new module.
11196
11197 2011-09-17  Bruno Haible  <bruno@clisp.org>
11198
11199         popen: Support for MSVC.
11200         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
11201         * lib/popen.c (popen): Provide alternate definition for native Windows.
11202         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
11203         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
11204         * modules/popen (Depends-on, configure.ac): Update condition.
11205         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
11206         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
11207         fixed.
11208
11209 2011-09-17  Bruno Haible  <bruno@clisp.org>
11210
11211         isnanl, isnand, isnanf: Work around MSVC bug.
11212         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
11213
11214 2011-09-17  Bruno Haible  <bruno@clisp.org>
11215
11216         sys_socket tests: Fix recent mistake.
11217         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
11218
11219 2011-09-17  Bruno Haible  <bruno@clisp.org>
11220
11221         putenv: Support for MSVC.
11222         * modules/putenv (Depends-on): Add environ.
11223         * lib/putenv.c (environ): Disable declaration.
11224         * lib/unistd.in.h: Update comment.
11225
11226 2011-09-17  Bruno Haible  <bruno@clisp.org>
11227
11228         math: Avoid macro redefinition warnings on MSVC.
11229         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
11230         Undefine before redefining.
11231
11232 2011-09-17  Bruno Haible  <bruno@clisp.org>
11233
11234         doc: Mention functions which are declared as macros.
11235         * doc/posix-functions/*[fl].texi: Mention that some functions are
11236         defined as macros with arguments only.
11237
11238 2011-09-17  Bruno Haible  <bruno@clisp.org>
11239
11240         Add dependencies to new dirent related modules.
11241         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
11242         * modules/fts (Depends-on): Likewise.
11243         * modules/glob (Depends-on): Likewise.
11244         * modules/savedir (Depends-on): Likewise.
11245         * modules/scandir (Depends-on): Likewise.
11246         * modules/dirent-safer (Depends-on): Add opendir, closedir.
11247         * modules/fdopendir (Depends-on): Add opendir.
11248
11249 2011-09-17  Bruno Haible  <bruno@clisp.org>
11250
11251         inet_pton: Support for MSVC on Windows Vista or newer.
11252         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
11253         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
11254         HAVE_DECL_INET_PTON is defined.
11255         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11256         On platforms with <winsock2.h>, test whether inet_pton is declared in
11257         <ws2tcpip.h>. If so, arrange to replace it.
11258         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11259         REPLACE_INET_PTON.
11260         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
11261         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
11262         (Depends-on, configure.ac): Update condition.
11263         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
11264
11265 2011-09-17  Bruno Haible  <bruno@clisp.org>
11266
11267         inet_ntop: Support for MSVC on Windows Vista or newer.
11268         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
11269         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
11270         HAVE_DECL_INET_NTOP is defined.
11271         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
11272         On platforms with <winsock2.h>, test whether inet_ntop is declared in
11273         <ws2tcpip.h>. If so, arrange to replace it.
11274         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
11275         REPLACE_INET_NTOP.
11276         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
11277         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
11278         (Depends-on, configure.ac): Update condition.
11279         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
11280
11281 2011-09-16  Eric Blake  <eblake@redhat.com>
11282
11283         test-fsync: yet another enhancement
11284         * tests/test-fsync.c (main): Also test behavior on read-only text
11285         file.
11286
11287 2011-09-16  Bruno Haible  <bruno@clisp.org>
11288
11289         Enhance fsync, fdatasync tests.
11290         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
11291         * tests/test-fdatasync.c (main): Likewise.
11292
11293 2011-09-16  Bruno Haible  <bruno@clisp.org>
11294
11295         Support for MSVC compiler: Ensure mode_t gets defined.
11296         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
11297         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11298         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11299         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
11300         * tests/test-fcntl-h.c: Check that mode_t is defined.
11301         * tests/test-sys_stat.c: Likewise.
11302         * tests/test-sys_types.c: Likewise.
11303         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
11304         * doc/posix-headers/sys_stat.texi: Likewise.
11305         * doc/posix-headers/sys_types.texi: Likewise.
11306
11307 2011-09-16  Bruno Haible  <bruno@clisp.org>
11308
11309         sys_stat: Support for MSVC.
11310         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
11311         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
11312         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
11313         MSVC.
11314
11315 2011-09-16  Bruno Haible  <bruno@clisp.org>
11316
11317         Support for MSVC compiler: Ensure off_t gets defined.
11318         * lib/unistd.in.h: Include <sys/types.h>.
11319         * tests/test-fcntl-h.c: Check that off_t is defined.
11320         * tests/test-sys_stat.c: Likewise.
11321         * tests/test-sys_types.c: Likewise.
11322
11323 2011-09-16  Eric Blake  <eblake@redhat.com>
11324
11325         fdatasync: port to Solaris
11326         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
11327         * modules/fdatasync (Link): Document it.
11328         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
11329
11330         fdatasync: port to MacOS X 10.7
11331         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
11332         declared.
11333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
11334         * modules/unistd (Makefile.am): Substitute it.
11335         * lib/unistd.in.h (fdatasync): Declare on MacOS.
11336         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
11337
11338         fdatasync: minor improvements
11339         * modules/fdatasync (Depends-on): Add condition for fsync.
11340         * lib/fdatasync.c (fdatasync): Add comment.
11341         * tests/test-unistd-c++.cc: Test fdatasync.
11342
11343         unistd: update refs to newer POSIX
11344         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
11345         Suggested by Bruno Haible.
11346
11347         fdatasync: new module
11348         * modules/fsync (Description): Document difference to fdatasync.
11349         * modules/fdatasync: New module.
11350         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
11351         * lib/fdatasync.c (fdatasync): Likewise.
11352         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
11353         defaults.
11354         * modules/unistd (Makefile.am): Set witnesses.
11355         * lib/unistd.in.h (fdatasync): Declare.
11356         * MODULES.html.sh: Document it.
11357         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
11358         * modules/fdatasync-tests: New test.
11359         * tests/test-fdatasync.c: Likewise.
11360
11361 2011-09-16  Eric Blake  <eblake@redhat.com>
11362
11363         test-fsync: enhance tests
11364         * modules/fsync-tests (Depends-on): Add errno, for mingw.
11365         * tests/test-fsync.c (main): Enhance test.
11366
11367 2011-09-15  Bruno Haible  <bruno@clisp.org>
11368
11369         Support for MSVC compiler: Ensure ssize_t gets defined.
11370         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
11371         * doc/posix-headers/stdio.texi: Likewise.
11372         * modules/stdio (Depends-on): Add ssize_t.
11373         * modules/sys_socket (Depends-on): Likewise.
11374         * modules/sys_types (Depends-on): Likewise.
11375         * modules/sys_uio (Depends-on): Likewise.
11376         * modules/unistd (Depends-on): Likewise.
11377         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
11378         * tests/test-sys_types.c: Check that ssize_t is defined.
11379
11380 2011-09-14  Bruno Haible  <bruno@clisp.org>
11381
11382         Avoid using #, the m4 comment starter character, near brackets.
11383         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
11384         delimiter character in sed expressions.
11385         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11386         Suggested by Eric Blake.
11387
11388         Properly quote AC_CHECK_DECLS' 4th argument.
11389         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
11390         argument.
11391         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
11392         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
11393         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
11394         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
11395         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
11396         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
11397         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
11398         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
11399         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
11400         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
11401         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
11402         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11403         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
11404         * m4/isinf.m4 (gl_ISINF): Likewise.
11405         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
11406         * m4/readutmp.m4 (gl_READUTMP): Likewise.
11407         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
11408         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
11409         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
11410         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
11411         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
11412         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
11413         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
11414         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11415         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11416         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11417         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
11418         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
11419         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
11420         Reported by Eric Blake.
11421
11422         Properly quote AC_CHECK_DECL's 4th argument.
11423         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
11424         argument.
11425         * m4/argp.m4 (gl_ARGP): Likewise.
11426         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
11427         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11428         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
11429         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
11430         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
11431         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
11432         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
11433         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
11434         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11435         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
11436         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
11437         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
11438         Reported by Eric Blake.
11439
11440 2011-09-14  Eric Blake  <eblake@redhat.com>
11441
11442         opendir: avoid compile warning
11443         * lib/opendir.c (includes): Always include errno.h.
11444         Reported by Tatsuro MATSUOKA.
11445
11446 2011-09-14  Jim Meyering  <meyering@redhat.com>
11447
11448         maint.mk: sc_tight_scope: propagate failure from sub-make
11449         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
11450         Reported by Martin von Gagern.
11451
11452 2011-09-13  Bruno Haible  <bruno@clisp.org>
11453
11454         tempname: Support for MSVC.
11455         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
11456         MSVC.
11457         * modules/tempname (Depends-on): Add fcntl-h.
11458
11459 2011-09-13  Bruno Haible  <bruno@clisp.org>
11460
11461         sys_time: Support for MSVC.
11462         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
11463         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
11464         include <winsock2.h>.
11465         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
11466         function declarations that collide with POSIX.
11467         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
11468         (Makefile.am): Substitute HAVE_WINSOCK2_H.
11469
11470 2011-09-13  Bruno Haible  <bruno@clisp.org>
11471
11472         stat: Support for MSVC.
11473         * lib/stat.c: Include pathmax.h.
11474         * modules/stat (Depends-on): Add pathmax.
11475
11476         pathmax: Support for native Windows.
11477         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
11478
11479 2011-09-12  Bruno Haible  <bruno@clisp.org>
11480
11481         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
11482         * lib/dirent.in.h (struct dirent): New type.
11483         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
11484         DT_WHT): New macros.
11485         (DIR): New type.
11486         (opendir, closedir): Declare only if the module 'opendir' is enabled.
11487         (readdir, rewinddir): New declarations.
11488         * lib/dirent-private.h: New file.
11489         * lib/opendir.c: New file.
11490         * lib/readdir.c: New file.
11491         * lib/rewinddir.c: New file.
11492         * lib/closedir.c: New file.
11493         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
11494         * m4/opendir.m4: New file.
11495         * m4/readdir.m4: New file.
11496         * m4/rewinddir.m4: New file.
11497         * m4/closedir.m4: New file.
11498         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
11499         REPLACE_CLOSEDIR here.
11500         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
11501         readdir, rewinddir are declared.
11502         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
11503         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
11504         HAVE_REWINDDIR, HAVE_CLOSEDIR.
11505         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
11506         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
11507         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
11508         * modules/opendir: New file.
11509         * modules/readdir: New file.
11510         * modules/rewinddir: New file.
11511         * modules/closedir: New file.
11512         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
11513         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
11514         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
11515         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
11516         * NEWS: Mention the 'fchdir' change.
11517
11518 2011-09-11  Bruno Haible  <bruno@clisp.org>
11519
11520         asm-underscore.m4: Support for MSVC.
11521         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
11522         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
11523
11524 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
11525
11526         Doc about crypt functions.
11527         * doc/posix-functions/crypt.texi: Expand range of glibc versions
11528         needing for _GNU_SOURCE to get crypt.
11529         * doc/posix-functions/encrypt.texi: Likewise.
11530         * doc/posix-functions/setkey.texi: Likewise.
11531
11532 2011-09-11  Bruno Haible  <bruno@clisp.org>
11533
11534         doc: Update regarding MSVC 9.
11535         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
11536         tested".
11537         * doc/posix-functions/*.texi: Update with info about MSVC 9.
11538         * doc/posix-headers/*.texi: Likewise.
11539         * doc/pastposix-functions/*.texi: Likewise.
11540         * doc/glibc-functions/*.texi: Likewise.
11541         * doc/glibc-headers/*.texi: Likewise.
11542
11543 2011-09-11  Bruno Haible  <bruno@clisp.org>
11544
11545         unistd et al.: Don't assume <unistd.h> exists.
11546         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
11547         does not exist.
11548         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
11549         exist. But include <stdlib.h>.
11550         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
11551         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
11552         symlink() does not exist.
11553         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
11554         include <io.h> instead.
11555         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
11556         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
11557         include <direct.h> instead.
11558         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11559         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11560         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
11561         <io.h> instead.
11562         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
11563         correctly if the system does not have hard links.
11564         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
11565         <direct.h> instead.
11566         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
11567         it when looking for function declarations.
11568         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
11569         <direct.h> and <io.h> instead.
11570         * doc/posix-headers/unistd.texi: More details about MSVC problem.
11571
11572 2011-09-11  Bruno Haible  <bruno@clisp.org>
11573
11574         strcase: Support for MSVC.
11575         * modules/strcase (Status, Notice): Remove obsoletion mark.
11576         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
11577         * doc/posix-functions/strncasecmp.texi: Likewise.
11578
11579         strings: Don't assume <strings.h> exists.
11580         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
11581         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
11582         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
11583         * doc/posix-headers/strings.texi: Mention the MSVC problem.
11584
11585 2011-09-11  Bruno Haible  <bruno@clisp.org>
11586
11587         dirent: Don't assume <dirent.h> exists.
11588         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
11589         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
11590         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
11591         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
11592
11593 2011-09-11  Bruno Haible  <bruno@clisp.org>
11594
11595         Fix wint_t on MSVC.
11596         * lib/wchar.in.h (wint_t): On MSVC, override it.
11597         * lib/wctype.in.h (wint_t): Likewise.
11598         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
11599         MSVC.
11600         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
11601         * doc/posix-headers/wctype.texi: Likewise.
11602
11603 2011-09-11  Bruno Haible  <bruno@clisp.org>
11604
11605         sys_types: Fix typo.
11606         * lib/sys_types.in.h: Fix typo in comment.
11607         Reported by Paul Eggert.
11608
11609         Support for MSVC compiler: Ensure size_t gets defined.
11610         * modules/strings (Depends-on): Add 'sys_types'.
11611         * modules/sys_uio (Depends-on): Likewise.
11612         * lib/sys_uio.in.h: Update comment.
11613
11614         C++ tests for module 'sys_types'.
11615         * modules/sys_types-c++-tests: New file.
11616         * tests/test-sys_types-c++.cc: New file.
11617
11618         Tests for module 'sys_types'.
11619         * modules/sys_types-tests: New file.
11620         * tests/test-sys_types.c: New file.
11621
11622         New module 'sys_types'.
11623         * lib/sys_types.in.h: New file.
11624         * m4/sys_types_h.m4: New file.
11625         * modules/sys_types: New file.
11626         * doc/posix-headers/sys_types.texi: Mention the new module and the
11627         size_t problem on MSVC 9.
11628
11629 2011-09-11  Bruno Haible  <bruno@clisp.org>
11630
11631         Support for MSVC compiler: Avoid division by a literal 0.
11632         * lib/math.in.h (NAN): Define through a function call also on MSVC.
11633         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
11634         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
11635         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
11636         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
11637         * tests/infinity.h: New file.
11638         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
11639         on MSVC.
11640         * tests/test-ceilf1.c: Include infinity.h.
11641         (main): Use Infinityf.
11642         * tests/test-ceil1.c: Include infinity.h.
11643         (main): Use Infinityd.
11644         * tests/test-ceill.c: Include infinity.h.
11645         (main): Use Infinityl.
11646         * tests/test-dprintf-posix.c: Include infinity.h.
11647         (test_function): Use Infinityd.
11648         * tests/test-floorf1.c: Include infinity.h.
11649         (main): Use Infinityf.
11650         * tests/test-floor1.c: Include infinity.h.
11651         (main): Use Infinityd.
11652         * tests/test-floorl.c: Include infinity.h.
11653         (main): Use Infinityl.
11654         * tests/test-fprintf-posix.c: Include infinity.h.
11655         (test_function): Use Infinityd.
11656         * tests/test-frexp.c: Include infinity.h.
11657         (main): Use Infinityd.
11658         * tests/test-frexpl.c: Include infinity.h.
11659         (main): Use Infinityl.
11660         * tests/test-isfinite.c: Include infinity.h.
11661         (test_isfinitef): Use Infinityf.
11662         (test_isfinited): Use Infinityd.
11663         (test_isfinitel): Use Infinityl.
11664         * tests/test-isinf.c: Include infinity.h.
11665         (test_isinff): Use Infinityf.
11666         (test_isinfd): Use Infinityd.
11667         (test_isinfl): Use Infinityl.
11668         * tests/test-isnan.c: Include infinity.h.
11669         (test_float): Use Infinityf.
11670         (test_double): Use Infinityd.
11671         (test_long_double): Use Infinityl.
11672         * tests/test-isnanf.h: Include infinity.h.
11673         (main): Use Infinityf.
11674         * tests/test-isnand.h: Include infinity.h.
11675         (main): Use Infinityd.
11676         * tests/test-isnanl.h: Include infinity.h.
11677         (main): Use Infinityl.
11678         * tests/test-ldexpl.c: Include infinity.h.
11679         (main): Use Infinityl.
11680         * tests/test-printf-posix.h: Include infinity.h.
11681         (test_function): Use Infinityd.
11682         * tests/test-roundf1.c: Include infinity.h.
11683         (main): Use Infinityf.
11684         * tests/test-round1.c: Include infinity.h.
11685         (main): Use Infinityd.
11686         * tests/test-roundl.c: Include infinity.h.
11687         (main): Use Infinityl.
11688         * tests/test-signbit.c: Include infinity.h.
11689         (test_signbitf): Use Infinityf.
11690         (test_signbitd): Use Infinityd.
11691         (test_signbitl): Use Infinityl.
11692         * tests/test-snprintf-posix.h: Include infinity.h.
11693         (test_function): Use Infinityd, Infinityl.
11694         * tests/test-sprintf-posix.h: Include infinity.h.
11695         (test_function): Use Infinityd, Infinityl.
11696         * tests/test-truncf1.c: Include infinity.h.
11697         (main): Use Infinityf.
11698         * tests/test-trunc1.c: Include infinity.h.
11699         (main): Use Infinityd.
11700         * tests/test-truncl.c: Include infinity.h.
11701         (main): Use Infinityl.
11702         * tests/test-vasnprintf-posix.c: Include infinity.h.
11703         (test_function): Use Infinityd, Infinityl.
11704         * tests/test-vasprintf-posix.c: Include infinity.h.
11705         (test_function): Use Infinityd, Infinityl.
11706         * modules/ceilf-tests (Files): Add tests/infinity.h.
11707         * modules/ceil-tests (Files): Likewise.
11708         * modules/ceill-tests (Files): Likewise.
11709         * modules/dprintf-posix-tests (Files): Likewise.
11710         * modules/floorf-tests (Files): Likewise.
11711         * modules/floor-tests (Files): Likewise.
11712         * modules/floorl-tests (Files): Likewise.
11713         * modules/fprintf-posix-tests (Files): Likewise.
11714         * modules/frexp-tests (Files): Likewise.
11715         * modules/frexp-nolibm-tests (Files): Likewise.
11716         * modules/frexpl-tests (Files): Likewise.
11717         * modules/frexpl-nolibm-tests (Files): Likewise.
11718         * modules/isfinite-tests (Files): Likewise.
11719         * modules/isinf-tests (Files): Likewise.
11720         * modules/isnan-tests (Files): Likewise.
11721         * modules/isnanf-tests (Files): Likewise.
11722         * modules/isnanf-nolibm-tests (Files): Likewise.
11723         * modules/isnand-tests (Files): Likewise.
11724         * modules/isnand-nolibm-tests (Files): Likewise.
11725         * modules/isnanl-tests (Files): Likewise.
11726         * modules/isnanl-nolibm-tests (Files): Likewise.
11727         * modules/ldexpl-tests (Files): Likewise.
11728         * modules/printf-posix-tests (Files): Likewise.
11729         * modules/roundf-tests (Files): Likewise.
11730         * modules/round-tests (Files): Likewise.
11731         * modules/roundl-tests (Files): Likewise.
11732         * modules/signbit-tests (Files): Likewise.
11733         * modules/snprintf-posix-tests (Files): Likewise.
11734         * modules/sprintf-posix-tests (Files): Likewise.
11735         * modules/truncf-tests (Files): Likewise.
11736         * modules/trunc-tests (Files): Likewise.
11737         * modules/truncl-tests (Files): Likewise.
11738         * modules/vasnprintf-posix-tests (Files): Likewise.
11739         * modules/vasprintf-posix-tests (Files): Likewise.
11740         * modules/vdprintf-posix-tests (Files): Likewise.
11741         * modules/vfprintf-posix-tests (Files): Likewise.
11742         * modules/vprintf-posix-tests (Files): Likewise.
11743         * modules/vsnprintf-posix-tests (Files): Likewise.
11744         * modules/vsprintf-posix-tests (Files): Likewise.
11745         * modules/xprintf-posix-tests (Files): Likewise.
11746
11747 2011-09-11  Bruno Haible  <bruno@clisp.org>
11748
11749         Ensure pid_t gets defined.
11750         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
11751         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
11752         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11753         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11754         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
11755         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
11756         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
11757         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11758         * tests/test-fcntl-h.c: Check that pid_t is defined.
11759         * tests/test-sched.c: Likewise.
11760         * tests/test-termios.c: Likewise.
11761         * tests/test-time.c: Likewise.
11762         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
11763         * doc/posix-headers/signal.texi: Likewise.
11764         * doc/posix-headers/sys_types.texi: Likewise.
11765         * doc/posix-headers/time.texi: Likewise.
11766
11767 2011-09-11  Bruno Haible  <bruno@clisp.org>
11768
11769         acl: Fix compilation on Solaris 10 (older version).
11770         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
11771         of ACE_EVERYONE.
11772         * lib/set-mode-acl.c (qset_acl): Likewise.
11773         Reported by Christian Jullien <eligis@orange.fr>.
11774
11775 2011-09-10  Bruno Haible  <bruno@clisp.org>
11776
11777         iconv, unsetenv: Add support for MSVC compiler.
11778         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
11779         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
11780
11781 2011-09-10  Bruno Haible  <bruno@clisp.org>
11782
11783         *printf: Add support for MSVC compiler.
11784         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
11785         handles the exception caused by the %n directive. When cross-compiling,
11786         guess no on native Windows.
11787         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
11788         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
11789         emulate it through vsnprintf.
11790         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
11791         * doc/posix-functions/dprintf.texi: Update documentation regarding
11792         MSVC 9.
11793         * doc/posix-functions/fprintf.texi: Likewise.
11794         * doc/posix-functions/printf.texi: Likewise.
11795         * doc/posix-functions/snprintf.texi: Likewise.
11796         * doc/posix-functions/sprintf.texi: Likewise.
11797         * doc/posix-functions/swprintf.texi: Likewise.
11798         * doc/posix-functions/vdprintf.texi: Likewise.
11799         * doc/posix-functions/vfprintf.texi: Likewise.
11800         * doc/posix-functions/vprintf.texi: Likewise.
11801         * doc/posix-functions/vsnprintf.texi: Likewise.
11802         * doc/posix-functions/vsprintf.texi: Likewise.
11803         * doc/glibc-functions/asprintf.texi: Likewise.
11804         * doc/glibc-functions/obstack_printf.texi: Likewise.
11805         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
11806         * doc/glibc-functions/vasprintf.texi: Likewise.
11807
11808 2011-09-10  Bruno Haible  <bruno@clisp.org>
11809
11810         nocrash: Add support for native Windows.
11811         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
11812
11813 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
11814             Bruno Haible  <bruno@clisp.org>
11815
11816         absolute-header, include-next: Add support for MSVC compiler.
11817         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
11818         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
11819         directory separator in #line directives.
11820         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
11821         recognize also backslash as directory separator in #line directives.
11822
11823 2011-09-08  Jim Meyering  <meyering@redhat.com>
11824
11825         maint.mk: mark the post-release commit log with "maint: " prefix
11826         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
11827         one-line commit-log summary.
11828
11829 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
11830             Bruno Haible  <bruno@clisp.org>
11831
11832         Doc about crypt functions.
11833         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
11834         systems.
11835         * doc/posix-functions/encrypt.texi: Likewise.
11836         * doc/posix-functions/setkey.texi: Likewise.
11837
11838 2011-09-08  Simon Josefsson  <simon@josefsson.org>
11839
11840         * lib/gc.h: Fix copyright header.
11841
11842 2011-09-07  Bruno Haible  <bruno@clisp.org>
11843
11844         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
11845         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
11846         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
11847
11848 2011-09-07  Bruno Haible  <bruno@clisp.org>
11849
11850         openat: Work around compilation error with OSF/1 5.1 DTK cc.
11851         * lib/fopen.c: Use different syntax for include of <stdio.h>.
11852         * lib/freopen.c: Likewise.
11853         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
11854         * lib/lstat.c: Likewise.
11855         * lib/stat.c: Likewise.
11856         * lib/open.c: Use different syntax for include of <fcntl.h>.
11857         * lib/openat.c: Include fcntl.h again, explicitly.
11858
11859 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
11860
11861         parse-datetime: document the newly accepted format
11862         * doc/parse-datetime.texi (Combined date and time of day items):
11863         New section.
11864
11865 2011-09-06  Bruno Haible  <bruno@clisp.org>
11866
11867         acl: Fix a test failure on newer Solaris 10 with ZFS.
11868         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
11869         ENOSYS as no ACL.
11870         Reported by Jim Meyering.
11871
11872 2011-09-06  Bruno Haible  <bruno@clisp.org>
11873
11874         acl: Update for AIX >= 5.3 with NFS.
11875         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
11876         ENOSYS as no ACL.
11877
11878         acl: Fix a test failure on AIX >= 5.3 with NFS.
11879         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
11880         as no ACL.
11881
11882 2011-09-06  Bruno Haible  <bruno@clisp.org>
11883
11884         acl: Fix a test failure on IRIX 6.5 with NFS.
11885         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
11886         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
11887         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
11888         * lib/copy-acl.c (qcopy_acl): Likewise.
11889
11890 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
11891
11892         openat: port to AIX 7.1 with large files
11893         AIX 7.1 does a "#define openat open64at" if large files are in use,
11894         so we can't simply #undef openat.  Use the orig_openat trick (similar
11895         to orig_open in lib/open.c) to work around the problem.  Problem
11896         reported by Kevin Brott for GNU tar, in the thread containing
11897         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
11898         * lib/openat.c (__need_system_fcntl_h): Define first.
11899         Include <fcntl.h> and <sys/types.h> before undefining.
11900         (orig_openat) [HAVE_OPENAT]: New inline function.
11901         (openat) [HAVE_OPENAT]: Do not undef.
11902         (rpl_openat): Use orig_openat, not openat.
11903
11904 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
11905             Bruno Haible  <bruno@clisp.org>
11906
11907         acl: Avoid errors on NonStop Kernel.
11908         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
11909         ENOTSUP errors.
11910
11911 2011-09-05  Bruno Haible  <bruno@clisp.org>
11912
11913         acl: Clean up Solaris code.
11914         * lib/acl-internal.h: Remove no-op #if.
11915         * lib/file-has-acl.c: Likewise.
11916         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
11917         * lib/copy-acl.c (qcopy_acl): Likewise.
11918
11919 2011-09-05  Bruno Haible  <bruno@clisp.org>
11920
11921         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
11922         binaries built on the original Solaris 10.
11923         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
11924         trivial.
11925
11926 2011-09-05  Bruno Haible  <bruno@clisp.org>
11927
11928         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11929         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
11930         10.
11931         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
11932         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
11933         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
11934         instead of acl_get, facl_get, acl_set, facl_set.
11935
11936 2011-09-05  Bruno Haible  <bruno@clisp.org>
11937
11938         copy-file: Try unit tests on more file systems.
11939         * tests/test-copy-file-1.sh: New file.
11940         * tests/test-copy-file-2.sh: New file.
11941         * modules/copy-file-tests (Files): Add them.
11942         (Makefile.am): Add them to TESTS.
11943
11944         acl: Try unit tests on more file systems.
11945         * tests/test-file-has-acl-1.sh: New file.
11946         * tests/test-file-has-acl-2.sh: New file.
11947         * tests/test-set-mode-acl-1.sh: New file.
11948         * tests/test-set-mode-acl-2.sh: New file.
11949         * tests/test-copy-acl-1.sh: New file.
11950         * tests/test-copy-acl-2.sh: New file.
11951         * modules/acl-tests (Files): Add them.
11952         (Makefile.am): Add them to TESTS.
11953
11954 2011-09-04  Bruno Haible  <bruno@clisp.org>
11955
11956         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
11957         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
11958         10.
11959         (OLD_ALLOW, OLD_DENY): New macros.
11960         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
11961         ACE_ACCESS_ALLOWED_ACE_TYPE.
11962         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
11963         ACE_ACCESS_DENIED_ACE_TYPE.
11964         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
11965         (NEW_ACE_EXECUTE): Fix value.
11966         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
11967         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
11968         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
11969         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
11970         NEW_ACE_SYNCHRONIZE): New macros.
11971         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
11972         instead of acl_fromtext, acl_set, facl_set.
11973         Fixes a coreutils/tests/cp/perm failure.
11974
11975 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
11976
11977         openat: test for fstatat (..., 0) bug
11978         Further testing with tar suggests that fstatat (..., 0)
11979         does not work in general, on AIX 7.1; see
11980         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
11981         So, give up entirely on AIX 7.1's fstatat, and fall back on our
11982         replacement fstatat (which is what older AIX releases were using
11983         anyway).
11984         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
11985         use is now changed to orig_fstatat.  This was probably the right
11986         thing to do anyway.
11987         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
11988         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
11989         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
11990         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
11991         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
11992         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
11993         if the bug is found.
11994
11995         openat: test for fstatat (AT_FDCWD, ..., 0) bug
11996         This tests for another fstatat bug on AIX 7.1:
11997         fstatat (AT_FDCWD, ..., 0) does not work.  See
11998         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
11999         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
12000         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
12001         (rpl_fstatat): Adjust so that it works around either (or both)
12002         bugs if present.
12003         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
12004
12005 2011-09-03  Karl Berry  <karl@gnu.org>
12006
12007         * doc/regex.texi (Character Class Operators): Avoid literal ":"
12008         in index entries.
12009
12010 2011-09-02  Bruno Haible  <bruno@clisp.org>
12011
12012         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
12013         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
12014         values of AR, ARFLAGS, RANLIB.
12015         Reported by John W. Eaton <jwe@gnu.org> for Octave.
12016
12017 2011-09-02  Bruno Haible  <bruno@clisp.org>
12018
12019         Find 'ar' program that fits with --host argument.
12020         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
12021
12022 2011-09-02  Bruno Haible  <bruno@clisp.org>
12023
12024         tests: init.sh: Support any non-GNU diff.
12025         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
12026         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
12027         Solaris 8.
12028
12029 2011-09-02  Bruno Haible  <bruno@clisp.org>
12030
12031         tests: init.sh: work also with any non-GNU diff that supports -u
12032         * tests/init.sh: Relax check for diff -u support.
12033         Rather than checking for GNU diff via --version, simply check
12034         for support for -u itself.  Useful at least on OpenBSD 4.9,
12035         AIX 7.1, IRIX 6.5, and Solaris 10.
12036
12037 2011-09-01  Bruno Haible  <bruno@clisp.org>
12038
12039         strtoimax, strtoumax: Document problem on HP-UX 11.
12040         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
12041         * doc/posix-functions/strtoumax.texi: Likewise.
12042
12043 2011-09-01  Bruno Haible  <bruno@clisp.org>
12044
12045         strtoumax: Avoid link error on OSF/1 with DTK cc.
12046         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
12047         defined as a function.
12048         * modules/strtoumax (Depends-on, configure.ac): Test only whether
12049         strtoumax is defined, not whether it is declared.
12050
12051 2011-09-01  Bruno Haible  <bruno@clisp.org>
12052
12053         strtoimax: Avoid link error on OSF/1 with DTK cc.
12054         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
12055         defined as a function.
12056         * modules/strtoimax (Depends-on, configure.ac): Test only whether
12057         strtoimax is defined, not whether it is declared.
12058
12059 2011-09-01  Bruno Haible  <bruno@clisp.org>
12060
12061         imaxdiv: Avoid link error on OSF/1 with DTK cc.
12062         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
12063         as a function.
12064         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
12065         whether it is declared.
12066
12067 2011-09-01  Bruno Haible  <bruno@clisp.org>
12068
12069         imaxabs: Avoid link error on OSF/1 with DTK cc.
12070         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
12071         as a function.
12072         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
12073         whether it is declared.
12074
12075 2011-09-01  Bruno Haible  <bruno@clisp.org>
12076
12077         Tests for module 'strtoumax'.
12078         * modules/strtoumax-tests: New file.
12079         * tests/test-strtoumax.c: New file.
12080
12081         Tests for module 'strtoimax'.
12082         * modules/strtoimax-tests: New file.
12083         * tests/test-strtoimax.c: New file.
12084
12085         Tests for module 'imaxdiv'.
12086         * modules/imaxdiv-tests: New file.
12087         * tests/test-imaxdiv.c: New file.
12088
12089         Tests for module 'imaxabs'.
12090         * modules/imaxabs-tests: New file.
12091         * tests/test-imaxabs.c: New file.
12092
12093 2011-09-01  Bruno Haible  <bruno@clisp.org>
12094
12095         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
12096         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
12097         pthread_create.
12098
12099 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
12100
12101         openat: work around AIX 7.1 fstatat issue
12102         This should fix the problem that was not properly fixed
12103         in the previous change, dated 2011-08-30.
12104         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
12105         __need_system_stat_h defined.
12106         (orig_fstatat) [HAVE_FSTATAT]: New function.
12107         (rpl_fstatat): Go back to the old way of doing things,
12108         except call orig_fstatat instead of fstatat.
12109         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
12110         Remove unnecessary check whether fstatat fills in st_size etc.
12111
12112 2011-09-01  Bruno Haible  <bruno@clisp.org>
12113
12114         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
12115         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
12116         just include the system's header.
12117
12118 2011-08-31  Jim Meyering  <meyering@redhat.com>
12119
12120         tests: avoid spurious assertion failure in test-float.c on ppc64
12121         * tests/test-float.c (test_long_double): Comment out an assertion,
12122         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
12123         with gcc-4.4.4.
12124
12125         maint: indent with spaces, not TABs
12126         I need to get in the habit of running gnulib's "make check".
12127         Both of these would have been caught.
12128         * m4/largefile.m4: Indent with spaces, not TABs.
12129         * lib/parse-datetime.y (iso_8601_time): Likewise.
12130         Spotted by Pádraig Brady.
12131
12132         test-parse-datetime.c: accommodate a relatively strict gcc warning
12133         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
12134         to avoid a warning from gcc's -Werror=missing-declarations.
12135         Insert a few spaces-before-funcall-parenthesis.
12136
12137 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
12138
12139         parse-datetime: accept ISO 8601 date and time rep with "T" separator
12140         The parser now accepts ISO 8601 date-time strings with "T" as the
12141         separator.  It has long parsed dates like "2004-02-29 16:21:42"
12142         with a space between the date and time strings.  Now it also parses
12143         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
12144         variants like "2004-02-29T16:21:42.333-07:00"
12145         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
12146         of day representation using the 'T' separator character.
12147         * doc/parse-datetime.texi (General date syntax): replace use of
12148         deprecated --iso-8601 option with --rfc-3339 in example of date
12149         command output formats that can be parsed.
12150         * tests/test-parse-datetime.c (tm_diff): New function, taken from
12151         lib/parse-datetime.y.
12152         (gmt_offset): New function.
12153         (main): Add additional test cases to validate ISO8601 extended
12154         date and time of day parsing.
12155
12156 2011-08-31  Bruno Haible  <bruno@clisp.org>
12157
12158         freopen: Documentation.
12159         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
12160         name.
12161         Reported by Claudio Bley <claudio.bley@gmail.com>.
12162
12163 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
12164
12165         freopen: Don't crash if the filename argument is NULL.
12166         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
12167         NULL.
12168
12169 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
12170
12171         openat: work around AIX 7.1 fstatat bug
12172         Problem reported by Kevin Brott for GNU tar, in the thread containing
12173         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
12174         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
12175         FSTATAT_ST_SIZE_ETC_BROKEN.
12176         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
12177         rpl_fstatat.
12178         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
12179         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
12180         AC_CHECK_FUNCS_ONCE for fstatat.
12181         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
12182         fchmodat, mkdirat, openat and unlinkat.
12183
12184 2011-08-30  Bruno Haible  <bruno@clisp.org>
12185
12186         Avoid endless recursions if config.h includes some header files.
12187         * lib/fopen.c (__need_FILE): Define already before including config.h.
12188         * lib/freopen.c (__need_FILE): Likewise.
12189         * lib/open.c (__need_system_fcntl_h): Likewise.
12190         * lib/stat.c (__need_system_sys_stat_h): Likewise.
12191         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
12192         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
12193
12194 2011-08-25  Karl Berry  <karl@gnu.org>
12195
12196         * config/srclist.txt (ylwrap): new try.
12197         * build-aux/ylwrap: new file.
12198
12199 2011-08-23  Bruno Haible  <bruno@clisp.org>
12200
12201         tmpdir: Use a good default directory on native Windows.
12202         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
12203         (P_tmpdir): Default to _P_tmpdir on native Windows.
12204         (path_search): On native Windows, try the value returned by GetTempPath
12205         before trying P_tmpdir.
12206         * modules/tmpdir (Depends-on): Add pathmax.
12207         Suggested by John Darrington <john@darrington.wattle.id.au>.
12208
12209 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
12210
12211         doc: fix typo in README-release
12212         * top/README-release: Capitalize first word of a sentence.
12213
12214 2011-08-19  Jim Meyering  <meyering@redhat.com>
12215
12216         fts: do not exhaust memory when processing million-entry directories
12217         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
12218         directory would require about 256*N bytes of memory.  Thus, it was
12219         easy to construct a directory too large to be processed by any of
12220         those tools.  With this change, fts' maximum memory utilization is
12221         now limited to around 30MB.
12222         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
12223         (fts_read): When we've processed the final entry (i.e., when
12224         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
12225         using the parent entry to read any remaining entries.  Dispatch
12226         depending on what fts_build returns:
12227         - NULL+stop, aka failure: stop
12228         - NULL otherwise: move up in the dir hierarchy
12229         - non-NULL: handle this new entry
12230         (fts_build): Declare and use new local, continue_readdir.
12231         Prepare to be called from fts_read, when the entries
12232         from a partially-read directory have just been exhausted.
12233         In that case, we'll skip the opendir and instead use the parent's
12234         fts_dirp and derive dir_fd from that.
12235         Finally, in the readdir loop, if we read max_entries entries,
12236         exit the loop ensuring *not* to call closedir.  This is required
12237         so that fts_dirp can be reused on a subsequent call.
12238         Prompted by Ben England's report of memory exhaustion in find
12239         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
12240
12241         maint: fts: move decl of `dp' down into while loop; split a long line
12242         * lib/fts.c (fts_build): No semantic change.
12243
12244         fts: add/use new struct member, fts_dirp
12245         We are about to use this to manage any directory with
12246         too many entries to read all of them into memory at once.
12247         To do that, we'll need to save the DIR* pointer in each
12248         affected FTSENT struct.
12249         * lib/fts_.h: Include <dirent.h>.
12250         (struct FTSENT) [fts_dirp]: New member.
12251         * lib/fts.c (closedir_and_clear): Define.
12252         Use it in place of closedir so that we are sure to
12253         clear the new fts_dirp member when done with it.
12254         (fts_alloc): Initialize the new member.
12255         (fts_lfree): Free, if needed.
12256
12257         maint: fts: give __opendir2 a new parameter and rename
12258         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
12259         than surreptitiously using sole caller's "dir_fd".
12260         (fts_opendir): Rename from __opendir2.
12261
12262         maint: fts.c: remove __opendir2's now-unused parameter, oflag
12263         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
12264
12265         maint: fts.c: correct off-by-one indentation
12266         * lib/fts.c (fts_build): Correct indentation, change style
12267         of a couple of block comments, and bracing style.
12268
12269         maint: fts.c: move __opendir2 #define "up" out of function body
12270         * lib/fts.c (__opendir2): Move "up".  No semantic change.
12271
12272         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
12273         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
12274         out for a long time and besides was useful only on BSD systems.
12275
12276 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
12277
12278         regex: port to Stratus OpenVOS
12279         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
12280         define to empty, rather than attempting nonportable optimizations.
12281         Problem reported by Paul Green in:
12282         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
12283         and fix suggested by Eric Blake in:
12284         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
12285
12286 2011-08-17  Eric Blake  <eblake@redhat.com>
12287
12288         getcwd: fix test failures on mingw
12289         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
12290         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
12291         test if long directory cannot be created, and allow mingw errno.
12292
12293         getcwd-lgpl: fix m4 to match relaxed test for BSD
12294         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
12295         (gl_FUNC_GETCWD_SIGNATURE): New macro.
12296         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
12297         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
12298         signature problem.
12299
12300         getcwd: fix compilation on mingw64
12301         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
12302         getcwd.
12303         Reported by Marc-André Lureau.
12304
12305         pipe2: silence compiler warning
12306         * lib/pipe2.c (pipe2): Hide label if it is not used.
12307
12308 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
12309
12310         relocatable-prog: fix link error
12311         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
12312         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
12313         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
12314         into modules/relocatable-lib without noticing that
12315         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
12316         also needs to build relocatable.c.
12317
12318 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12319
12320         getaddrinfo: fix sh typo in gai_strerrorA decl checking
12321         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
12322         shell code: it contained a 'break' that was not in a loop.
12323         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
12324         via a shell-language loop; this may have been true in old Autoconf
12325         versions, but it's not true in Autoconf 2.68.  I found this bug
12326         when testing coreutils git on Solaris 8, whose shell complains
12327         about the syntax error.
12328
12329 2011-08-12  Simon Josefsson  <simon@josefsson.org>
12330
12331         * lib/base64.c: Fix comment to reference RFC 4648.
12332         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
12333         <gvtulder@gmail.com>.
12334
12335 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
12336
12337         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
12338
12339         po/Makefile.in.in: fix make -q problem
12340         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
12341         rule, since there's no file named 'check-macro-version' and its
12342         use as a file breaks make -q.
12343         (all): Don't depend on check-macro-version.
12344         (CHECK_MACRO_VERSION): New macro.
12345         (stamp-po): Use it.
12346
12347         configmake: fix make -q problem
12348         * modules/configmake (configmake.h): Update configmake.h's time stamp
12349         even if the file does not change.  Otherwise, 'make -q' fails.
12350         Problem reported by Simon Josefsson in
12351         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
12352
12353 2011-08-11  Jim Meyering  <meyering@redhat.com>
12354
12355         git-version-gen: correct the advice in a comment
12356         * build-aux/git-version-gen: Correct comment.
12357         Don't recommend to list .tarball-version in .gitignore.
12358
12359 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
12360
12361         base64: fix off-by-one buffer size bug
12362         Problem and (trivial) fix reported by Gijs van Tulder in
12363         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
12364         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
12365         * tests/test-base64.c (main): Catch the bug.
12366
12367 2011-08-10  Eric Blake  <eblake@redhat.com>
12368
12369         closein: correct comments
12370         * lib/closein.c (close_stdin): Improve comments.
12371
12372 2011-08-09  Bruno Haible  <bruno@clisp.org>
12373
12374         More tests for 'fseeko'.
12375         * tests/test-fseeko3.c: New file, from Eric Blake.
12376         * tests/test-fseeko3.sh: New file.
12377         * modules/fseeko-tests (Files): Add them.
12378         (TESTS): Add test-fseeko3.sh.
12379         (check_PROGRAMS): Add test-fseeko3.
12380
12381 2011-08-09  Eric Blake  <eblake@redhat.com>
12382
12383         fseeko: remove unneeded hack
12384         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
12385
12386         fseeko: fix bug on glibc
12387         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
12388         Reported by John W. Eaton.
12389
12390 2011-08-08  Bruno Haible  <bruno@clisp.org>
12391
12392         unictype/base: Fix interoperability with preinstalled libunistring.
12393         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
12394         Reported by Simon Josefsson.
12395
12396 2011-08-08  Bruno Haible  <bruno@clisp.org>
12397
12398         iswblank: Detect declaration correctly.
12399         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
12400         AC_CHECK_DECLS invocation.
12401
12402 2011-08-08  Bruno Haible  <bruno@clisp.org>
12403
12404         tcgetsid: Detect declaration correctly.
12405         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
12406         AC_CHECK_DECLS invocation.
12407         Reported by Simon Josefsson.
12408
12409 2011-08-08  Eric Blake  <eblake@redhat.com>
12410
12411         largefile: fix typo that regressed large file support
12412         * modules/largefile (configure.ac-early): Fix section name.
12413
12414 2011-08-06  Karl Berry  <karl@gnu.org>
12415
12416         * MODULES.html.sh (func_all_files): _Noreturn is no longer
12417         a separate module.
12418
12419 2011-08-05  Simon Josefsson  <simon@josefsson.org>
12420
12421         openat: Fix warnings and commens when building unlinkat.c on Hurd.
12422         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
12423         get prototype for free.
12424
12425 2011-08-04  Bruno Haible  <bruno@clisp.org>
12426
12427         Tests for module 'pathmax'.
12428         * modules/pathmax-tests: New file.
12429         * tests/test-pathmax.c: New file.
12430
12431         canonicalize-lgpl: Support larger filenames on the Hurd.
12432         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
12433         Reported by Paul Eggert.
12434
12435         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
12436         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
12437         * lib/chdir-long.h: Include pathmax.h.
12438         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
12439         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
12440         (PATH_MAX): Remove code that is done by pathmax.h.
12441         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
12442         * lib/tmpfile.c: Add a comment.
12443         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
12444         * modules/chdir-long (Depends-on): Add pathmax.
12445         * modules/getcwd (Depends-on): Add pathmax.
12446         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
12447         is not defined.
12448         * doc/posix-headers/limits.texi: Mention the pathmax module.
12449         * NEWS: Mention the change.
12450
12451 2011-08-02  Bruno Haible  <bruno@clisp.org>
12452
12453         pthread_sigmask: Actually use results of gl_THREADLIB.
12454         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
12455         gl_THREADLIB, not gl_[]THREADLIB.
12456         Reported by Eric Blake.
12457
12458 2011-08-02  Jim Meyering  <meyering@redhat.com>
12459
12460         maint.mk: relax the default _gl_TS_function_match regexp
12461         * top/maint.mk (_gl_TS_function_match): Don't require at least one
12462         space between function name and "(" in an "extern" declaration.
12463         That would fail to match a decl with no space there: extern void foo();
12464
12465 2011-07-31  Iain Nicol  <iain@thenicols.net>
12466
12467         git-version-gen: document that EXTRA_DIST must include .version
12468         * build-aux/git-version-gen: In the how-to-use comment, document
12469         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
12470         will fail when run from an unpacked distribution tarball.
12471
12472 2011-08-01  Bruno Haible  <bruno@clisp.org>
12473
12474         wctype-h: Fix last change.
12475         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
12476         REPLACE_TOWLOWER to 0.
12477         Reported by Sam Steingold <sds@gnu.org>.
12478
12479 2011-07-31  Bruno Haible  <bruno@clisp.org>
12480
12481         frexpl: Update autoconf test.
12482         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
12483         according to changes of 2011-06-20.
12484
12485 2011-07-31  Bruno Haible  <bruno@clisp.org>
12486
12487         sys_utsname: Add support for Minix.
12488         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
12489         <sys/utsname.h>.
12490         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
12491         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
12492
12493 2011-07-31  Bruno Haible  <bruno@clisp.org>
12494
12495         strings: Add support for Minix.
12496         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
12497         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
12498         * doc/posix-headers/strings.texi: Document the Minix problem.
12499
12500 2011-07-31  Bruno Haible  <bruno@clisp.org>
12501
12502         wctype-h: Add support for Minix.
12503         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
12504         REPLACE_TOWLOWER.
12505         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
12506         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
12507         REPLACE_ISWCNTRL.
12508
12509 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12510
12511         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
12512         This is a performance improvement for 64-bit hosts: it causes the
12513         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
12514
12515 2011-07-31  Bruno Haible  <bruno@clisp.org>
12516
12517         stdioext: Add support for Minix.
12518         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
12519         * lib/fpurge.c (fpurge): Likewise.
12520         * lib/freadahead.c (freadahead): Likewise.
12521         * lib/freadable.c (freadable): Likewise.
12522         * lib/freading.c (freading): Likewise.
12523         * lib/freadptr.c (freadptr): Likewise.
12524         * lib/freadseek.c (freadptrinc): Likewise.
12525         * lib/fseeko.c (rpl_fseeko): Likewise.
12526         * lib/fseterr.c (fseterr): Likewise.
12527         * lib/fwritable.c (fwritable): Likewise.
12528         * lib/fwriting.c (fwriting): Likewise.
12529         * lib/fflush.c (clear_ungetc_buffer): Update comment.
12530         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
12531
12532 2011-07-31  Bruno Haible  <bruno@clisp.org>
12533
12534         errno: Port to Minix.
12535         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
12536         ECONNABORTED are defined.
12537         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
12538         GNULIB_defined_ECONNABORTED): New macros.
12539         * lib/strerror-override.h (strerror_override): Test also
12540         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
12541         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
12542         ECONNABORTED.
12543         * doc/posix-headers/errno.texi: Mention the Minix problem.
12544
12545 2011-07-31  Bruno Haible  <bruno@clisp.org>
12546
12547         Work around declaration collisions on Minix.
12548         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
12549         defined, set REPLACE_MBSINIT.
12550         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
12551         defined, set REPLACE_MBRTOWC.
12552         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
12553         set REPLACE_MBRLEN.
12554         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
12555         defined, set REPLACE_MBSRTOWCS.
12556         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
12557         defined, set REPLACE_WCRTOMB.
12558         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
12559         defined, set REPLACE_WCSRTOMBS.
12560
12561 2011-07-31  Bruno Haible  <bruno@clisp.org>
12562
12563         Add support for Minix with ACK compiler.
12564         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
12565         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
12566         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
12567
12568 2011-07-31  Bruno Haible  <bruno@clisp.org>
12569
12570         Documentation about Minix.
12571         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
12572         * doc/glibc-headers/*.texi: Likewise.
12573         * doc/posix-functions/*.texi: Likewise.
12574         * doc/glibc-functions/*.texi: Likewise.
12575
12576 2011-07-31  Bruno Haible  <bruno@clisp.org>
12577
12578         snippet/warn-on-use: Fix indentation.
12579         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
12580
12581 2011-07-25  Jim Meyering  <meyering@redhat.com>
12582
12583         tests: test-update-copyright.sh: remove unnecessary "rm" commands
12584         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
12585         commands.
12586
12587 2011-07-27  Jim Meyering  <meyering@redhat.com>
12588
12589         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
12590         * top/maint.mk (gl_extract_significant_defines_): Now that
12591         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
12592         gnulib/lib/signal.in.h, and now that we recommend to
12593         define-if-undefined those two symbols in application code,
12594         we must filter them out of the "significant" list.
12595         This avoids a "make syntax-check" failure in coreutils.
12596
12597 2011-07-26  Eric Blake  <eblake@redhat.com>
12598
12599         warnings: add comments about previous patch
12600         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
12601         * m4/include_next.m4: Likewise.
12602         * m4/warn-on-use.m4: Likewise.
12603         * m4/warnings.m4: Likewise, and simplify use.
12604         Suggested by Stefano Lattarini.
12605
12606         include-next, warnings: support older autoconf
12607         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
12608         AS_VAR_PUSHDEF in a way that works with older autoconf.
12609         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
12610         Reported by Daniel P. Berrange.
12611
12612 2011-07-25  Bruno Haible  <bruno@clisp.org>
12613
12614         fseek, ftell: Fix doc.
12615         * doc/posix-functions/fseek.texi: Reword statement about
12616         AC_SYS_LARGEFILE.
12617         * doc/posix-functions/ftell.texi: Likewise.
12618
12619 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12620             Bruno Haible  <bruno@clisp.org>
12621
12622         Add dependencies to the 'largefile' module.
12623         * modules/fopen (Depends-on): Add 'largefile'.
12624         * modules/freopen (Depends-on): Likewise.
12625         * modules/fseeko (Depends-on): Likewise.
12626         * modules/ftello (Depends-on): Likewise.
12627         * modules/glob (Depends-on): Likewise.
12628         * modules/lseek (Depends-on): Likewise.
12629         * modules/lstat (Depends-on): Likewise.
12630         * modules/mkostemp (Depends-on): Likewise.
12631         * modules/mkostemps (Depends-on): Likewise.
12632         * modules/mkstemp (Depends-on): Likewise.
12633         * modules/mkstemps (Depends-on): Likewise.
12634         * modules/open (Depends-on): Likewise.
12635         * modules/openat (Depends-on): Likewise.
12636         * modules/pread (Depends-on): Likewise.
12637         * modules/pwrite (Depends-on): Likewise.
12638         * modules/scandir (Depends-on): Likewise.
12639         * modules/stat (Depends-on): Likewise.
12640         * modules/tmpfile (Depends-on): Likewise.
12641         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
12642         since the containing module now depends on the largefile module.
12643         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
12644         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
12645         off_t is fixed by gnulib.
12646         * doc/posix-functions/freopen.texi: Likewise.
12647         * doc/posix-functions/fseeko.texi: Likewise.
12648         * doc/posix-functions/fstatat.texi: Likewise.
12649         * doc/posix-functions/ftello.texi: Likewise.
12650         * doc/posix-functions/glob.texi: Likewise.
12651         * doc/posix-functions/lseek.texi: Likewise.
12652         * doc/posix-functions/lstat.texi: Likewise.
12653         * doc/posix-functions/mkstemp.texi: Likewise.
12654         * doc/posix-functions/open.texi: Likewise.
12655         * doc/posix-functions/openat.texi: Likewise.
12656         * doc/posix-functions/pread.texi: Likewise.
12657         * doc/posix-functions/pwrite.texi: Likewise.
12658         * doc/posix-functions/scandir.texi: Likewise.
12659         * doc/posix-functions/stat.texi: Likewise.
12660         * doc/posix-functions/tmpfile.texi: Likewise.
12661         * doc/glibc-functions/mkostemp.texi: Likewise.
12662         * doc/glibc-functions/mkostemps.texi: Likewise.
12663         * doc/glibc-functions/mkstemps.texi: Likewise.
12664
12665 2011-07-25  Bruno Haible  <bruno@clisp.org>
12666
12667         fcntl: Move AC_LIBOBJ invocation to module description.
12668         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
12669         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
12670
12671         fcntl: Remove call-in from fchdir.m4.
12672         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
12673         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
12674
12675         dup3: Remove potential call-in from fchdir.m4.
12676         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
12677         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
12678
12679         dup2: Move AC_LIBOBJ invocation to module description.
12680         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
12681         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
12682         Don't invoke AC_LIBOBJ.
12683         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
12684
12685         dup2: Remove call-in from fchdir.m4.
12686         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
12687         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
12688
12689         fclose: Move AC_LIBOBJ invocation to module description.
12690         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
12691         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
12692         to 1.
12693         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
12694
12695         fclose: Remove call-in from close.m4.
12696         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
12697         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
12698
12699         close: Move AC_LIBOBJ invocation to module description.
12700         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
12701         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
12702         1.
12703         * modules/close (configure.ac): Invoke AC_LIBOBJ.
12704
12705         close: Remove call-in from fchdir.m4.
12706         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
12707         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
12708
12709         open: Move AC_LIBOBJ invocation to module description.
12710         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
12711         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
12712         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
12713
12714         open: Remove call-in from fchdir.m4.
12715         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
12716         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
12717
12718         fchdir: Start to remove gl_REPLACE_* idiom.
12719         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
12720         (gl_FUNC_FCHDIR): Invoke it.
12721
12722 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12723
12724         * lib/ftell.c (ftell): Comment out cast.
12725
12726         close: use gl_REPLACE_FCLOSE only if defined
12727         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
12728         is defined.  The close module doesn't depend on the fclose module
12729         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
12730         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
12731         I reproduced the problem with "./gnulib-tool --test close sys_socket".
12732
12733 2011-07-24  Jim Meyering  <meyering@redhat.com>
12734
12735         test-select.h: avoid warning when using gcc's -Wmissing-declarations
12736         * tests/test-select.h (test_function): Declare as "static".
12737
12738 2011-07-24  Bruno Haible  <bruno@clisp.org>
12739
12740         doc: Mention the effects of AC_SYS_LARGEFILE.
12741         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
12742         on this function.
12743         * doc/posix-functions/aio_error.texi: Likewise.
12744         * doc/posix-functions/aio_fsync.texi: Likewise.
12745         * doc/posix-functions/aio_read.texi: Likewise.
12746         * doc/posix-functions/aio_return.texi: Likewise.
12747         * doc/posix-functions/aio_suspend.texi: Likewise.
12748         * doc/posix-functions/aio_write.texi: Likewise.
12749         * doc/posix-functions/fgetpos.texi: Likewise.
12750         * doc/posix-functions/fopen.texi: Likewise.
12751         * doc/posix-functions/freopen.texi: Likewise.
12752         * doc/posix-functions/fsetpos.texi: Likewise.
12753         * doc/posix-functions/fstatvfs.texi: Likewise.
12754         * doc/posix-functions/ftruncate.texi: Likewise.
12755         * doc/posix-functions/ftw.texi: Likewise.
12756         * doc/posix-functions/getrlimit.texi: Likewise.
12757         * doc/posix-functions/glob.texi: Likewise.
12758         * doc/posix-functions/lio_listio.texi: Likewise.
12759         * doc/posix-functions/lockf.texi: Likewise.
12760         * doc/posix-functions/mkstemp.texi: Likewise.
12761         * doc/posix-functions/mmap.texi: Likewise.
12762         * doc/posix-functions/nftw.texi: Likewise.
12763         * doc/posix-functions/openat.texi: Likewise.
12764         * doc/posix-functions/opendir.texi: Likewise.
12765         * doc/posix-functions/posix_fadvise.texi: Likewise.
12766         * doc/posix-functions/posix_fallocate.texi: Likewise.
12767         * doc/posix-functions/pread.texi: Likewise.
12768         * doc/posix-functions/pwrite.texi: Likewise.
12769         * doc/posix-functions/readdir.texi: Likewise.
12770         * doc/posix-functions/readdir_r.texi: Likewise.
12771         * doc/posix-functions/rewinddir.texi: Likewise.
12772         * doc/posix-functions/scandir.texi: Likewise.
12773         * doc/posix-functions/seekdir.texi: Likewise.
12774         * doc/posix-functions/setrlimit.texi: Likewise.
12775         * doc/posix-functions/statvfs.texi: Likewise.
12776         * doc/posix-functions/telldir.texi: Likewise.
12777         * doc/posix-functions/tmpfile.texi: Likewise.
12778         * doc/posix-functions/truncate.texi: Likewise.
12779         * doc/glibc-functions/fallocate.texi: Likewise.
12780         * doc/glibc-functions/fstatfs.texi: Likewise.
12781         * doc/glibc-functions/fts_children.texi: Likewise.
12782         * doc/glibc-functions/fts_read.texi: Likewise.
12783         * doc/glibc-functions/getdirentries.texi: Likewise.
12784         * doc/glibc-functions/mkostemp.texi: Likewise.
12785         * doc/glibc-functions/mkostemps.texi: Likewise.
12786         * doc/glibc-functions/mkstemps.texi: Likewise.
12787         * doc/glibc-functions/preadv.texi: Likewise.
12788         * doc/glibc-functions/pwritev.texi: Likewise.
12789         * doc/glibc-functions/sendfile.texi: Likewise.
12790         * doc/glibc-functions/statfs.texi: Likewise.
12791
12792 2011-07-24  Bruno Haible  <bruno@clisp.org>
12793
12794         doc: Fix typo.
12795         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
12796
12797 2011-07-24  Bruno Haible  <bruno@clisp.org>
12798
12799         doc: Mention fsusage.
12800         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
12801
12802 2011-07-24  Bruno Haible  <bruno@clisp.org>
12803
12804         doc: Mention new glibc headers and functions.
12805         * doc/glibc-headers/gshadow.texi: New file.
12806         * doc/glibc-functions/endsgent.texi: New file.
12807         * doc/glibc-functions/fgetsgent.texi: New file.
12808         * doc/glibc-functions/fgetsgent_r.texi: New file.
12809         * doc/glibc-functions/getsgent.texi: New file.
12810         * doc/glibc-functions/getsgent_r.texi: New file.
12811         * doc/glibc-functions/getsgnam.texi: New file.
12812         * doc/glibc-functions/getsgnam_r.texi: New file.
12813         * doc/glibc-functions/putsgent.texi: New file.
12814         * doc/glibc-functions/setsgent.texi: New file.
12815         * doc/glibc-functions/sgetsgent.texi: New file.
12816         * doc/glibc-functions/sgetsgent_r.texi: New file.
12817         * doc/glibc-functions/malloc_info.texi: New file.
12818         * doc/glibc-functions/preadv.texi: New file.
12819         * doc/glibc-functions/pwritev.texi: New file.
12820         * doc/glibc-functions/register_printf_modifier.texi: New file.
12821         * doc/glibc-functions/register_printf_specifier.texi: New file.
12822         * doc/glibc-functions/register_printf_type.texi: New file.
12823         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
12824         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
12825         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
12826         * doc/glibc-functions/pthread_getname_np.texi: New file.
12827         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
12828         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
12829         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
12830         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
12831         * doc/glibc-functions/pthread_setname_np.texi: New file.
12832         * doc/glibc-functions/pthread_sigqueue.texi: New file.
12833         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
12834         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
12835         * doc/glibc-functions/qsort_r.texi: New file.
12836         * doc/glibc-functions/quick_exit.texi: New file.
12837         * doc/glibc-functions/syncfs.texi: New file.
12838         * doc/gnulib.texi: Include them.
12839         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
12840         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
12841         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
12842         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12843         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12844         * doc/glibc-functions/execvpe.texi: Likewise.
12845
12846 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12847
12848         ftell: don't include <unistd.h>
12849         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
12850         guaranteed to define off_t, and the ftell module depends on the
12851         stdio module.
12852
12853         ftell: do not assume wraparound signed arithmetic
12854         * lib/ftell.c: Include <limits.h>.
12855         (ftell): Don't assume wraparound signed arithmetic.
12856
12857 2011-07-24  Bruno Haible  <bruno@clisp.org>
12858
12859         close: No longer depend on module 'fclose'.
12860         * modules/close (Depends-on): Remove fclose.
12861         * NEWS: Mention the change.
12862         Suggested by Sam Steingold <sds@gnu.org>.
12863
12864 2011-07-24  Bruno Haible  <bruno@clisp.org>
12865
12866         fsusage: Enable large volume support on AIX >= 5.2.
12867         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
12868         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
12869         instead of STAT_STATVFS.
12870         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
12871
12872         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
12873         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
12874         f_blocks field only on MacOS X.
12875
12876         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
12877         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
12878         * modules/fsusage (Depends-on): Add largefile.
12879
12880 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12881
12882         * README: Modernize discussion of signed integers.
12883         Assuming overflow wraparound is no longer safe.
12884         Mention ones' complement and signed magnitude.
12885
12886 2011-07-22  Bruno Haible  <bruno@clisp.org>
12887
12888         select tests, pselect tests: Refactor.
12889         * tests/test-select.h: New file, extracted from tests/test-select.c.
12890         (select_fn): New type.
12891         (test, do_select, do_select_nowait, do_select_wait, test_tty,
12892         test_connect_first, test_accept_first, test_pair, test_socket_pair,
12893         test_pipe): Add my_select argument.
12894         (test_function): Renamed from main. Add my_select argument.
12895         * tests/test-select.c: Move most code to tests/test-select.h. Include
12896         test-select.h.
12897         * modules/select-tests (Files): Add tests/test-select.h.
12898         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
12899         (my_select, main): New functions.
12900         * modules/pselect-tests (Files): Add tests/test-select.h,
12901         tests/macros.h, tests/signature.h.
12902         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
12903         (configure.ac): Check for <sys/wait.h>.
12904
12905 2011-07-22  Bruno Haible  <bruno@clisp.org>
12906
12907         sys_select tests: Check the signature of FD_*.
12908         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
12909         signature tests from here...
12910         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
12911         here.
12912         * modules/sys_select-tests (Files): Add tests/signature.h.
12913
12914 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
12915
12916         largefile: new module, replacing large-inode
12917         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
12918         * MODULES.html.sh: Add largefile, remove large-inode.
12919         * modules/largefile, m4/largefile.m4: New files.
12920         * modules/large-inode, m4/large-inode.m4: Remove.
12921
12922         fsusage: port to MacOS X 10.7 with 4 TiB file systems
12923         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
12924         implementations that use only 32 bits to count blocks.
12925         On typical hosts with 1024-byte blocks, this fails with file
12926         systems as small as 4 TiB.  Problem reported by Herb Wartens
12927         <http://debbugs.gnu.org/9140> and this should also fix a similar
12928         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
12929
12930         large-inode: New module
12931         * MODULES.html.sh: Add it.
12932         * modules/large-inode, m4/large-inode.m4: New files.
12933
12934         extensions: Enable extensions on MacOS X 10.5 and later.
12935         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
12936
12937 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
12938
12939         file-has-acl: use acl_extended_file_nofollow if available
12940         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
12941         (acl_extended_file): New macro.
12942         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
12943         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
12944
12945 2011-07-21  Bruno Haible  <bruno@clisp.org>
12946
12947         Declare system functions in a way that works with C++.
12948         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
12949         declare fdopendir as extern "C".
12950         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
12951         declare frexpl as extern "C".
12952         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
12953         declare gai_strerror as extern "C".
12954         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
12955         programs, declare gai_strerror as extern "C".
12956         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
12957         declare getlogin_r as extern "C".
12958         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
12959         as extern "C".
12960         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
12961         declare ldexpl as extern "C".
12962         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
12963         as extern "C".
12964         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
12965         program, declare getmntinfo as extern "C".
12966         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
12967         stpncpy as extern "C".
12968         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
12969         program, declare __xpg_strerror_r as extern "C".
12970         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
12971         strndup as extern "C".
12972         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
12973         declare memset and bzero as extern "C".
12974         Reported by Sam Steingold <sds@gnu.org>.
12975
12976 2011-07-12  Jim Meyering  <meyering@redhat.com>
12977
12978         maint.mk: prohibit inclusion of "verify.h" without use
12979         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
12980
12981 2011-07-19  Pádraig Brady  <P@draigBrady.com>
12982
12983         timer-time: A new module to check for timer_settime()
12984         * m4/timer_time.m4: Check for the posix function.
12985         * modules/timer-time: Add the new module.
12986         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
12987         Mention it.
12988
12989 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
12990             Bruno Haible  <bruno@clisp.org>
12991
12992         pthread_sigmask: assume POSIX threads if --avoid=threadlib
12993         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
12994         not defined, assume POSIX threads and look for pthread_sigmask in
12995         $LIBS, without changing $CPPFLAGS.
12996
12997 2011-07-19  Bruno Haible  <bruno@clisp.org>
12998
12999         strstr: Update cross-compilation guess.
13000         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
13001         CPUs, guess no, in view of glibc
13002         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
13003         Suggested by Eric Blake. Reported by Reuben Thomas.
13004
13005 2011-07-19  Pádraig Brady  <P@draigBrady.com>
13006
13007         getopt-gnu: suppress core dumps from detection code
13008         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
13009         to suppress core dumps that may well occur on glibc systems.
13010         * modules/getopt-gnu: Depend on nocrash.
13011
13012 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
13013
13014         pthread_sigmask: ensure usleep is declared
13015         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
13016         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
13017
13018 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13019
13020         doc: Document NonStop portability issues.
13021         * doc/posix-functions/sigaction.texi (sigaction):
13022         * doc/posix-headers/signal.texi (signal.h):
13023         Document NonStop.  See Joachim Schmitz in
13024         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
13025
13026 2011-07-15  Bruno Haible  <bruno@clisp.org>
13027
13028         ffsl, ffsll: Avoid unportable behaviour.
13029         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
13030
13031 2011-07-15  Bruno Haible  <bruno@clisp.org>
13032
13033         ffs: More tests.
13034         * tests/test-ffs.c (NBITS): New macro.
13035         (main): Add more tests.
13036         * tests/test-ffsl.c (NBITS): New macro.
13037         (main): Add more tests.
13038         * tests/test-ffsll.c (NBITS): New macro.
13039         (main): Add more tests.
13040
13041 2011-07-15  Eric Blake  <eblake@redhat.com>
13042
13043         ffsl, ffsll: new modules
13044         * modules/ffsl: New file.
13045         * modules/ffsll: Likewise.
13046         * m4/ffsl.m4: Likewise.
13047         * m4/ffsll.m4: Likewise.
13048         * lib/ffsl.c: Likewise.
13049         * lib/ffsl.h: Likewise.
13050         * lib/ffsll.c: Likewise.
13051         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
13052         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
13053         * modules/string (Makefile.am): Substitute witnesses.
13054         * lib/strings.in.h (ffsl, ffsll): Declare.
13055         * modules/ffsl-tests: New test file.
13056         * modules/ffsll-tests: Likewise.
13057         * tests/test-ffsl.c: Likewise.
13058         * tests/test-ffsll.c: Likewise.
13059         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13060         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
13061         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
13062
13063         ffs: fix m4 prerequisite
13064         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
13065
13066         ffs: avoid undefined behavior
13067         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
13068         * tests/test-ffs.c (naive, main): Avoid signed shifts.
13069         Reported by Bruno Haible.
13070
13071 2011-07-12  Bruno Haible  <bruno@clisp.org>
13072
13073         pthread_sigmask: Rely on module 'threadlib'.
13074         * modules/pthread_sigmask (Depends-on): Add threadlib.
13075         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
13076         is defined.
13077
13078 2011-07-12  Bruno Haible  <bruno@clisp.org>
13079
13080         regex: Depend on module 'strcase'.
13081         * modules/regex (Depends-on): Add strcase, for strcasecmp().
13082
13083 2011-07-12  Jim Meyering  <meyering@redhat.com>
13084
13085         warn-on-use: fix typo in file name
13086         * modules/snippet/warn-on-use (Files): Correct file name:
13087         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
13088
13089 2011-07-12  Bruno Haible  <bruno@clisp.org>
13090
13091         strings: Document module.
13092         * doc/posix-headers/strings.texi: Mention module 'strings'.
13093
13094 2011-07-12  Bruno Haible  <bruno@clisp.org>
13095
13096         Rename module '_Noreturn' to 'snippet/_Noreturn'.
13097         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
13098         (Files, Makefile.am): Update.
13099         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
13100         * modules/stdlib (Depends-on): Update.
13101
13102 2011-07-12  Bruno Haible  <bruno@clisp.org>
13103
13104         * NEWS: Mention the changes.
13105
13106         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
13107         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
13108         (Files, Makefile.am): Update.
13109         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
13110         * modules/arpa_inet (Depends-on): Update.
13111         * modules/ctype (Depends-on): Update.
13112         * modules/dirent (Depends-on): Update.
13113         * modules/fcntl-h (Depends-on): Update.
13114         * modules/glob (Depends-on): Update.
13115         * modules/iconv-h (Depends-on): Update.
13116         * modules/inttypes-incomplete (Depends-on): Update.
13117         * modules/langinfo (Depends-on): Update.
13118         * modules/locale (Depends-on): Update.
13119         * modules/math (Depends-on): Update.
13120         * modules/netdb (Depends-on): Update.
13121         * modules/poll-h (Depends-on): Update.
13122         * modules/pty (Depends-on): Update.
13123         * modules/search (Depends-on): Update.
13124         * modules/signal (Depends-on): Update.
13125         * modules/spawn (Depends-on): Update.
13126         * modules/stdio (Depends-on): Update.
13127         * modules/stdlib (Depends-on): Update.
13128         * modules/string (Depends-on): Update.
13129         * modules/strings (Depends-on): Update.
13130         * modules/sys_file (Depends-on): Update.
13131         * modules/sys_ioctl (Depends-on): Update.
13132         * modules/sys_select (Depends-on): Update.
13133         * modules/sys_socket (Depends-on): Update.
13134         * modules/sys_stat (Depends-on): Update.
13135         * modules/sys_time (Depends-on): Update.
13136         * modules/sys_times (Depends-on): Update.
13137         * modules/sys_utsname (Depends-on): Update.
13138         * modules/sys_wait (Depends-on): Update.
13139         * modules/termios (Depends-on): Update.
13140         * modules/time (Depends-on): Update.
13141         * modules/unistd (Depends-on): Update.
13142         * modules/wchar (Depends-on): Update.
13143         * modules/wctype-h (Depends-on): Update.
13144         * MODULES.html.sh (Support for building libraries and executables):
13145         Update.
13146
13147         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
13148         * modules/snippet/unused-parameter: Renamed from
13149         modules/unused-parameter.
13150         (Files, Makefile.am): Update.
13151         * build-aux/snippet/unused-parameter.h: Renamed from
13152         build-aux/unused-parameter.h.
13153         * modules/selinux-h (Depends-on): Update.
13154         * modules/unistr/base (Depends-on): Update.
13155         * MODULES.html.sh (Core language properties): Update.
13156
13157         Rename module 'link-warning' to 'snippet/link-warning'.
13158         * modules/snippet/link-warning: Renamed from modules/link-warning.
13159         (Files, Makefile.am): Update.
13160         * build-aux/snippet/link-warning.h: Renamed from
13161         build-aux/link-warning.h.
13162         * MODULES.html.sh (Support for building libraries and executables):
13163         Update.
13164
13165         Rename module 'c++defs' to 'snippet/c++defs'.
13166         * modules/snippet/c++defs: Renamed from modules/c++defs.
13167         (Files, Makefile.am): Update.
13168         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.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/langinfo (Depends-on): Update.
13176         * modules/locale (Depends-on): Update.
13177         * modules/math (Depends-on): Update.
13178         * modules/netdb (Depends-on): Update.
13179         * modules/poll-h (Depends-on): Update.
13180         * modules/pty (Depends-on): Update.
13181         * modules/search (Depends-on): Update.
13182         * modules/signal (Depends-on): Update.
13183         * modules/spawn (Depends-on): Update.
13184         * modules/stdio (Depends-on): Update.
13185         * modules/stdlib (Depends-on): Update.
13186         * modules/string (Depends-on): Update.
13187         * modules/strings (Depends-on): Update.
13188         * modules/sys_ioctl (Depends-on): Update.
13189         * modules/sys_select (Depends-on): Update.
13190         * modules/sys_socket (Depends-on): Update.
13191         * modules/sys_stat (Depends-on): Update.
13192         * modules/sys_time (Depends-on): Update.
13193         * modules/sys_wait (Depends-on): Update.
13194         * modules/termios (Depends-on): Update.
13195         * modules/time (Depends-on): Update.
13196         * modules/unistd (Depends-on): Update.
13197         * modules/wchar (Depends-on): Update.
13198         * modules/wctype-h (Depends-on): Update.
13199
13200         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
13201         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
13202         (Files, Makefile.am): Update.
13203         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
13204         * modules/argv-iter (Depends-on): Update.
13205         * modules/arpa_inet (Depends-on): Update.
13206         * modules/dirent (Depends-on): Update.
13207         * modules/fcntl-h (Depends-on): Update.
13208         * modules/fnmatch (Depends-on): Update.
13209         * modules/getopt-posix (Depends-on): Update.
13210         * modules/glob (Depends-on): Update.
13211         * modules/iconv-h (Depends-on): Update.
13212         * modules/inttypes-incomplete (Depends-on): Update.
13213         * modules/locale (Depends-on): Update.
13214         * modules/math (Depends-on): Update.
13215         * modules/netdb (Depends-on): Update.
13216         * modules/search (Depends-on): Update.
13217         * modules/signal (Depends-on): Update.
13218         * modules/spawn (Depends-on): Update.
13219         * modules/stdio (Depends-on): Update.
13220         * modules/stdlib (Depends-on): Update.
13221         * modules/string (Depends-on): Update.
13222         * modules/strings (Depends-on): Update.
13223         * modules/sys_socket (Depends-on): Update.
13224         * modules/sys_stat (Depends-on): Update.
13225         * modules/sys_time (Depends-on): Update.
13226         * modules/sys_times (Depends-on): Update.
13227         * modules/sys_utsname (Depends-on): Update.
13228         * modules/time (Depends-on): Update.
13229         * modules/unistd (Depends-on): Update.
13230         * modules/wchar (Depends-on): Update.
13231         * MODULES.html.sh (Support for building libraries and executables):
13232         Update.
13233
13234 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13235
13236         Improvements on _Noreturn and related modules.
13237
13238         modules/_Exit-tests: test _Noreturn too
13239         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
13240         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
13241         (main): Use them.
13242
13243         stdnoreturn, stdnoreturn-tests: remove modules
13244         They're not needed here and a bit premature for use elsewhere.  See
13245         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
13246         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
13247         * tests/test-stdnoreturn.c: Remove files.
13248         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
13249         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
13250         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
13251         and using noreturn.
13252         * modules/openat, modules/sigpipe-die, modules/xalloc:
13253         * modules/xmemdup0, modules/xstrtol:
13254         Remove dependency on stdnoreturn.
13255
13256         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
13257         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
13258         Reparenthesize to avoid GCC warning.
13259         Support Microsoft's syntax.
13260         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
13261
13262         _Noreturn-tests: remove module
13263         * modules/_Noreturn-tests: Remove.
13264         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
13265         * tests/test-_Noreturn.c: Remove.
13266         * tests/test-stdnoreturn.c: Merge from the old
13267         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
13268
13269 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
13270
13271         _Noreturn, stdnoreturn, and related modules.
13272
13273         * top/maint.mk: Adjust to new noreturn support.
13274         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
13275         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
13276
13277         xalloc: use stdnoreturn.h
13278         * lib/xalloc.h: Include <stdnoreturn.h>.
13279         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13280         * modules/xalloc (Depends-on): Add stdnoreturn.
13281
13282         xstrtol: use stdnoreturn.h
13283         * lib/xstrtol.h: Include <stdnoreturn.h>.
13284         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13285         * modules/xstrtol (Depends-on): Add stdnoreturn.
13286
13287         xmemdup0: use stdnoreturn.h
13288         * lib/xmemdup0.h: Include <stdnoreturn.h>.
13289         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13290         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
13291
13292         sigpipe-die: use stdnoreturn.h
13293         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
13294         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13295         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
13296
13297         openat: use stdnoreturn.h
13298         * lib/openat.h: Include <stdnoreturn.h>.
13299         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
13300         * modules/openat (Depends-on): Add stdnoreturn.
13301
13302         * lib/openat-die.c (openat_save_fail): Modernize comment.
13303
13304         * lib/xalloc-die.c (xalloc_die): Modernize comment.
13305
13306         * lib/glthread/thread.h: Modernize comment.
13307
13308         obstack: use _Noreturn
13309         * lib/obstack.c (__attribute__): Remove macro.
13310         (print_and_abort): Use _Noreturn.
13311
13312         c-stack: use _Noreturn
13313         * lib/c-stack.c (die, overflow_handler, segv_handler):
13314         Use _Noreturn rather than __attribute__((noreturn)).
13315
13316         argmatch-tests, exclude_tests: use _Noreturn
13317         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
13318         Remove.
13319         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
13320
13321         stdlib: use _Noreturn
13322         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
13323         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
13324         * modules/stdlib (Depends-on): Add _Noreturn.
13325         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
13326
13327         stdnoreturn-tests: new module
13328         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
13329
13330         stdnoreturn: new module
13331         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
13332         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
13333
13334         _Noreturn-tests: new module
13335         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
13336
13337         _Noreturn: new module
13338         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
13339         New section, mentioning it.
13340         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
13341
13342         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
13343
13344 2011-07-11  Eric Blake  <eblake@redhat.com>
13345
13346         ffs: new module
13347         * modules/ffs: New file.
13348         * m4/ffs.m4: Likewise.
13349         * lib/ffs.c: Likewise.
13350         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
13351         * modules/strings (Makefile.am): Substitute witness.
13352         (Depends-on): Add c++defs.
13353         * lib/strings.in.h (ffs): Declare.
13354         * modules/ffs-tests: New test file.
13355         * tests/test-ffs.c: Test new module.
13356         * MODULES.html.sh (Integer arithmetic functions): Mention it.
13357         * doc/posix-functions/ffs.texi (ffs): Likewise.
13358
13359         regex: avoid compiler warning
13360         * lib/regex.c (includes): Include <strings.h>, for use of
13361         strcasecmp in regcomp.c.
13362         Reported by Joachim Schmitz.
13363
13364 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
13365
13366         stdint: respect system's intmax_t if INTMAX_MAX
13367         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
13368         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
13369         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
13370         long but int64_t is long long, and where we will clash with the
13371         system intmax_t if we override it.  See
13372         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
13373         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
13374         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
13375         similarly for UINTMAX_C.
13376
13377 2011-07-08  Bruno Haible  <bruno@clisp.org>
13378
13379         pthread_sigmask tests: Avoid a compiler warning.
13380         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
13381         non-zero.
13382
13383         sigprocmask tests: A better way to avoid a compiler warning.
13384         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
13385         (main): Complain if system() returns non-zero.
13386         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
13387
13388 2011-07-08  Bruno Haible  <bruno@clisp.org>
13389
13390         pthread_sigmask: Work around IRIX bug.
13391         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
13392         bug.
13393         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
13394         there may be unblocked pending signals.
13395         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
13396
13397 2011-07-08  Bruno Haible  <bruno@clisp.org>
13398
13399         pthread_sigmask: Work around Cygwin bug.
13400         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
13401         bug.
13402         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
13403         the system's pthread_sigmask function.
13404         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
13405
13406 2011-07-08  Bruno Haible  <bruno@clisp.org>
13407
13408         pthread_sigmask: Work around bug in single-threaded implementation.
13409         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
13410         FreeBSD, HP-UX, Solaris bug.
13411         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
13412         * lib/pthread_sigmask.c: Include <stddef.h>.
13413         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
13414         the system's pthread_sigmask function.
13415         * modules/pthread_sigmask (configure.ac): Invoke
13416         gl_PREREQ_PTHREAD_SIGMASK.
13417         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
13418         HP-UX, Solaris.
13419
13420 2011-07-08  Eric Blake  <eblake@redhat.com>
13421
13422         test-sigprocmask: avoid compiler warning
13423         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
13424         * tests/test-sigprocmask.c (main): Use it to silence warning.
13425         Reported by Jim Meyering.
13426
13427         test-snprintf: avoid compiler warning
13428         * tests/test-snprintf.c (main): Avoid shadowed declaration.
13429         * tests/test-vsnprintf.c (main): Likewise.
13430         Reported by Jim Meyering.
13431
13432 2011-07-08  Bruno Haible  <bruno@clisp.org>
13433
13434         Tests for module 'pthread_sigmask'.
13435         * modules/pthread_sigmask-tests: New file.
13436         * tests/test-pthread_sigmask1.c: New file, based on
13437         tests/test-sigprocmask.c.
13438         * tests/test-pthread_sigmask2.c: New file.
13439
13440 2011-07-08  Jim Meyering  <meyering@redhat.com>
13441
13442         test-getopt.h: avoid warning about an unused variable
13443         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
13444
13445 2011-07-07  Jim Meyering  <meyering@redhat.com>
13446
13447         maint: reduce list of files exempt from sc_prohibit_leading_TABs
13448         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
13449         now that it no longer contains leading TABs.
13450         Remove unused "url=FIXME" statement.
13451
13452 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13453
13454         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
13455         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13456         When gl_THREADLIB is not in use, assume that the POSIX sematics
13457         are desired.  This is better for Emacs, which uses POSIX semantics
13458         on GNUish and/or POSIXish platforms, and does not use threads at
13459         all otherwise.
13460
13461         pthread_sigmask: fix typo when testing for libraries
13462         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
13463         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
13464
13465 2011-07-08  Eric Blake  <eblake@redhat.com>
13466
13467         fts: introduce FTS_NOATIME
13468         * lib/fts_.h (FTS_NOATIME): New bit flag.
13469         (FTS_OPTIONMASK): Adjust.
13470         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
13471         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
13472
13473 2011-07-08  Bruno Haible  <bruno@clisp.org>
13474
13475         Tests for module 'thread'.
13476         * modules/thread-tests: New file.
13477         * tests/test-thread_self.c: New file.
13478         * tests/test-thread_create.cc: New file.
13479
13480 2011-07-08  Bruno Haible  <bruno@clisp.org>
13481
13482         thread: Avoid gcc warnings when using gl_thread_self().
13483         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
13484         'void *'.
13485         (gl_thread_self_pointer): Update.
13486
13487 2011-07-07  Bruno Haible  <bruno@clisp.org>
13488
13489         signal-c++-tests: Check declaration of pthread_sigmask.
13490         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
13491         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
13492         $(LIB_PTHREAD_SIGMASK).
13493
13494 2011-07-07  Bruno Haible  <bruno@clisp.org>
13495
13496         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
13497         * lib/signal.in.h (pthread_sigmask): Override if
13498         REPLACE_PTHREAD_SIGMASK is 1.
13499         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13500         REPLACE_PTHREAD_SIGMASK.
13501         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
13502         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
13503         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
13504         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13505         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
13506
13507 2011-07-07  Bruno Haible  <bruno@clisp.org>
13508
13509         pthread_sigmask: Ensure declaration in <signal.h>.
13510         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
13511         include <pthread.h>.
13512         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
13513         problem.
13514
13515 2011-07-07  Bruno Haible  <bruno@clisp.org>
13516
13517         pthread_sigmask: Document the module.
13518         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
13519
13520 2011-07-07  Bruno Haible  <bruno@clisp.org>
13521
13522         pthread_sigmask: Follow gnulib conventions.
13523         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
13524         gl_PTHREAD_SIGMASK.
13525         * modules/pthread_sigmask (configure.ac): Update.
13526
13527 2011-07-07  Bruno Haible  <bruno@clisp.org>
13528
13529         pthread_sigmask: Make declaration C++ safe.
13530         * lib/signal.in.h: In two special conditions, just do an #include_next.
13531         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13532         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
13533         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
13534         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
13535         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
13536         not REPLACE_PTHREAD_MASK.
13537         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
13538         not REPLACE_PTHREAD_MASK.
13539         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
13540
13541 2011-07-07  Bruno Haible  <bruno@clisp.org>
13542
13543         pthread_sigmask: Fix return value.
13544         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
13545         * lib/pthread_sigmask.c: New file.
13546         * modules/pthread_sigmask (Files): Add it.
13547         (configure.ac): Invoke AC_LIBOBJ.
13548
13549 2011-07-07  Eric Blake  <eblake@redhat.com>
13550
13551         getopt: more portable argv creation
13552         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
13553         const, use char arrays rather than strings.
13554         Suggested by Paul Eggert.
13555
13556 2011-07-07  Bruno Haible  <bruno@clisp.org>
13557
13558         Tests for module 'sigprocmask'.
13559         * modules/sigprocmask-tests: New file.
13560         * tests/test-sigprocmask.c: New file.
13561
13562 2011-07-07  Bruno Haible  <bruno@clisp.org>
13563
13564         float tests: Tweak.
13565         * tests/test-float.c (main): Tweak skip message.
13566
13567 2011-07-07  Eric Blake  <eblake@redhat.com>
13568
13569         getopt: avoid compiler warning during configure
13570         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
13571         assigning string literals to non-const pointer.
13572
13573         getopt-gnu: avoid crash in glibc getopt
13574         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
13575         * tests/test-getopt.h (test_getopt): Enhance test.
13576         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13577         * doc/posix-functions/getopt.texi (getopt): Document it.
13578         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
13579         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13580         Likewise.
13581
13582 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
13583
13584         getopt: handle W; without long options in getopt [BZ #12922]
13585         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
13586         but no long options are defined, just return 'W'.
13587
13588 2011-07-07  Bruno Haible  <bruno@clisp.org>
13589
13590         Avoid literal tabs.
13591         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
13592         variable containing a tab instead of a literal tab.
13593         Reported by Jim Meyering.
13594
13595 2011-07-07  Bruno Haible  <bruno@clisp.org>
13596
13597         Comments.
13598         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
13599
13600 2011-07-06  Bruno Haible  <bruno@clisp.org>
13601
13602         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
13603         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
13604         <winsock2.h>.
13605         (rpl_fd_isset, FD_ISSET): New definitions, copied from
13606         lib/sys_socket.in.h.
13607         (close, gethostname): Hide declarations from <winsock2.h>.
13608         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13609         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
13610         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
13611         (select): Don't override if gnulib's <sys/select.h> was already
13612         included.
13613         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
13614         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
13615         setsockopt, shutdown, select): Tweak indentation.
13616
13617 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13618
13619         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
13620         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
13621         in an application that does not use the sys_select module.
13622
13623 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
13624
13625         poll: do not return 0 on timeout=-1
13626         * lib/poll.c: Loop with yield if no events occured
13627
13628 2011-07-06  Eric Blake  <eblake@redhat.com>
13629
13630         pthread_sigmask: always replace when not using pthread
13631         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
13632         replacement when using some threading other than pthread.  Fix
13633         logic bug.
13634
13635 2011-07-06  Bruno Haible  <bruno@clisp.org>
13636
13637         Comments.
13638         * m4/printf.m4: Update comments about mingw.
13639
13640 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
13641
13642         sys_select: define sigset_t more portably
13643         * lib/sys_select.in.h: Always include <sys/types.h>, since
13644         we now need sigset_t and mingw defines it there.
13645         Include <signal.h> before split inclusion guard, to avoid
13646         mishaps on Solaris, whose <signal.h> eventually includes us.
13647         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
13648         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
13649         which come from ...
13650         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
13651         gl_CHECK_TYPE_SIGSET_T.
13652         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
13653         does the real work.
13654         * modules/sys_select (Depends-on): Add 'signal'.
13655
13656         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
13657         Suggested by Bruno Haible.
13658
13659         pselect: Use pthread_sigmask, not sigprocmask.
13660         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
13661         multithreaded apps better than sigprocmask does.
13662         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
13663         sigprocmask directly.
13664
13665 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
13666
13667         * lib/pselect.c (pselect): Use plain name, without "rpl_".
13668         Don't #undef,  since we don't need any underlying pselect.
13669         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
13670         (Depends-on): Add select.
13671         (Link): Add $(LIBSOCKET).
13672         These changes suggested by Bruno Haible.
13673
13674         pselect: document better
13675         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13676         * doc/posix-functions/pselect.texi (pselect): Document new module.
13677
13678         pthread_sigmask: new module
13679         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
13680         * doc/posix-functions/pthread_sigmask.texi: Document new module.
13681         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
13682         This is done only as a macro; I don't know how well that'll
13683         work for C++.  Move <sys/types.h> include before the include_next,
13684         to avoid mishap on Solaris.
13685         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
13686         * modules/signal (Makefile.am): Substitute the check's results.
13687         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
13688
13689         test-pselect: new module
13690         * modules/pselect-tests, tests/test-pselect.c: New files.
13691         * tests/test-select.c, tests/test-sys_select-c++.cc:
13692         If TEST_PSELECT is defined, test pselect instead of testing select.
13693
13694         * tests/test-sys_select.c (sigset_t): Test for it, too.
13695         Suggested by Bruno Haible.
13696
13697 2011-07-05  Eric Blake  <eblake@redhat.com>
13698
13699         snprintf: guarantee %1$d, for libintl
13700         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
13701         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
13702         * doc/posix-functions/snprintf.texi (snprintf): Update.
13703         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
13704         * tests/test-snprintf.c (main): Enhance test.
13705         * tests/test-vsnprintf.c (main): Likewise.
13706
13707 2011-07-05  Jim Meyering  <meyering@redhat.com>
13708
13709         maint: exempt stdio-read.c and stdio-write.c from the cppi check
13710         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
13711         per Bruno's request, to accommodate this idiom (no space after "#")
13712         even when the function is inside an #if block:
13713         char *
13714         gets (char *s)
13715         #undef gets
13716         {
13717           ...
13718         }
13719
13720 2011-07-04  Jim Meyering  <meyering@redhat.com>
13721
13722         maint: indent with spaces, not TABs, and add a rule to check this
13723         * tests/test-userspec.c: Indent with spaces, not TABs.
13724         * tests/test-argp.c: Likewise.
13725         * tests/test-c-stack2.sh: Likewise.
13726         * tests/test-parse-duration.sh: Likewise
13727         * m4/strtod.m4: Likewise.
13728         * m4/alloca.m4: Likewise.
13729         * m4/pselect.m4: Likewise.
13730         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
13731
13732 2011-07-03  Jim Meyering  <meyering@redhat.com>
13733
13734         maint.mk: correct omissions in prohibit_argmatch_without_use check
13735         This rule would mistakenly report that argmatch.h is included without
13736         use even when both the argmatch and invalid_arg macro were used.
13737         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
13738         of argmatch and invalid_arg.
13739
13740 2011-07-03  Bruno Haible  <bruno@clisp.org>
13741
13742         Comments about EINTR.
13743         * lib/safe-read.h: Explain the purpose of this module.
13744         * lib/safe-write.h: Likewise.
13745         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
13746         module.
13747         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
13748         module.
13749         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
13750
13751 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
13752
13753         xnanosleep: Rewrite to use new dtotimespec module.
13754         It has the conversion code that used to be in xnanosleep.
13755         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
13756         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
13757         (TIME_T_MAX): Remove.
13758         (xnanosleep): Rewrite in terms of dtotimespec.
13759         * modules/xnanosleep (Depends-on): Add dtotimespec.
13760         Remove intprops, stdbool.
13761
13762         timespec-add, timespec-sub: new modules
13763         * lib/timespec.h (timespec_add, timespec_sub): New decls.
13764         * lib/timespec-add.c, lib/timespec-sub.c:
13765         * modules/timespec-add, modules/timespec-sub: New files.
13766
13767         dtotimespec: new module
13768         * lib/timespec.h (dtotimespec): New decl.
13769         * lib/dtotimespec.c, modules/dtotimespec: New files.
13770
13771         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
13772
13773         pselect: new module
13774         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
13775         (pselect): New decls.
13776         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
13777         since the standard pselect decl uses 'restrict'.
13778         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
13779         HAVE_PSELECT, REPLACE_PSELECT.
13780         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
13781         HAVE_PSELECT, REPLACE_PSELECT.
13782         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
13783
13784         sys_select: don't depend on sys_socket
13785         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
13786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
13787         This fix works on GNU and GNU-like platforms, but has not been tested
13788         on native Windows.
13789         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
13790         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
13791         gl_HEADER_SYS_SOCKET.
13792         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
13793         gl_PREREQ_SYS_H_WINSOCK2.
13794
13795 2011-06-29  Eric Blake  <eblake@redhat.com>
13796
13797         pipe2: fix C89 compile problem
13798         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
13799         Reported by Bruno Haible.
13800
13801         pipe, pipe2: don't corrupt fd on error
13802         * lib/pipe.c (pipe): Leave fd unchanged on error.
13803         * lib/pipe2.c (pipe2): Likewise.
13804         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
13805         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13806
13807 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
13808
13809         mmap-anon: do not use regular expressions inadvertently
13810         * m4/mmap-anon.m4: Remove trailing period from strings sought
13811         in the output.
13812
13813 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
13814
13815         nanosleep: fix integer overflow problem
13816         * lib/nanosleep.c (my_usleep): Don't assume signed integer
13817         arithmetic wraps around on overflow.
13818
13819         nanosleep: simplify carrying
13820         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
13821         first call to the underyling nanosleep, not for the last one.
13822         This doesn't fix any bugs, but it simplifies the computation of
13823         the remaining delay.  Found while auditing integer overflow issues.
13824
13825         dup2: remove test for existence of fcntl
13826         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
13827         "#if HAVE_FCNTL", in the configure-time test program.
13828         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
13829         and therefore speeds up "configure" a bit.  Found while
13830         adding the dup2 module to Emacs.
13831
13832 2011-06-24  Eric Blake  <eblake@redhat.com>
13833
13834         maint.mk: enhance useless header checks
13835         * top/maint.mk (_sc_header_without_use): Check both include
13836         styles.
13837         (sc_prohibit_assert_without_use)
13838         (sc_prohibit_close_stream_without_use)
13839         (sc_prohibit_getopt_without_use)
13840         (sc_prohibit_quotearg_without_use)
13841         (sc_prohibit_quote_without_use)
13842         (sc_prohibit_long_options_without_use)
13843         (sc_prohibit_inttostr_without_use)
13844         (sc_prohibit_ignore_value_without_use)
13845         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
13846         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
13847         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
13848         (sc_prohibit_hash_pjw_without_use)
13849         (sc_prohibit_safe_read_without_use)
13850         (sc_prohibit_argmatch_without_use)
13851         (sc_prohibit_canonicalize_without_use)
13852         (sc_prohibit_root_dev_ino_without_use)
13853         (sc_prohibit_openat_without_use)
13854         (sc_prohibit_c_ctype_without_use)
13855         (sc_prohibit_signal_without_use)
13856         (sc_prohibit_stdio--_without_use)
13857         (sc_prohibit_stdio-safer_without_use)
13858         (sc_prohibit_strings_without_use)
13859         (sc_prohibit_intprops_without_use)
13860         (sc_prohibit_stddef_without_use)
13861         (sc_prohibit_xfreopen_without_use): Update clients.
13862
13863 2011-06-24  Jim Meyering  <meyering@redhat.com>
13864
13865         syntax-check: keep one maint.mk rule in sync with its header
13866         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
13867         of the bug Eric has just fixed, with today's commit 25e4c2ec.
13868         I prefer to avoid temporary files here, so use <(...), but that
13869         is not supported by /bin/sh, so...
13870         (SHELL): Define to /bin/bash.
13871
13872 2011-06-24  Eric Blake  <eblake@redhat.com>
13873
13874         maint.mk: update sc_prohibit_intprops_without_use
13875         * top/maint.mk (_intprops_names): Match recent changes.
13876
13877 2011-06-24  Bruno Haible  <bruno@clisp.org>
13878
13879         strerror-override: No-op tweak.
13880         * lib/strerror-override.h (strerror_override): Reorder conditions,
13881         for consistency with lib/strerror-override.c.
13882
13883 2011-06-23  Eric Blake  <eblake@redhat.com>
13884
13885         maint.mk: test further PATH_MAX issues
13886         * top/maint.mk (sc_prohibit_path_max_array): Rename...
13887         (sc_prohibit_path_max_allocation): ...and also test alloca.
13888         Suggested by Jim Meyering.
13889
13890 2011-06-22  Eric Blake  <eblake@redhat.com>
13891
13892         maint.mk: add syntax-check to avoid char[PATH_MAX]
13893         * top/maint.mk (sc_prohibit_path_max_array): New rule.
13894
13895         stat: be robust to PATH_MAX definition
13896         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
13897         * modules/stat (Depends-on): Add verify.
13898
13899         link: work around IRIX bug
13900         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
13901         * lib/link.c (rpl_link): Work around it.
13902         * tests/test-link.h (test_link): Enhance test.
13903         * doc/posix-functions/link.texi (link): Document the bug.
13904
13905         getopt: silence clang warning
13906         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
13907         dereference.
13908         Reported by Gustavo Martin Domato.
13909
13910 2011-06-22  Jim Meyering  <meyering@redhat.com>
13911
13912         bootstrap: do not insert a blank line into each .gitignore file
13913         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
13914
13915 2011-06-21  Eric Blake  <eblake@redhat.com>
13916
13917         perror: test for output mismatch
13918         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
13919         perror on IRIX.
13920
13921         strerror_r: fix OpenBSD behavior on out-of-range
13922         * lib/strerror_r.c (strerror_r): Always use maximal string.
13923         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
13924
13925         strerror_r: fix OpenBSD behavior on 0
13926         * lib/strerror-override.c (strerror_override): Also override 0
13927         when needed.
13928         * lib/strerror-override.h (strerror_override): Likewise.
13929         * lib/strerror.c (strerror): Simplify, now that 0 override is done
13930         earlier.
13931         * lib/strerror_r.c (strerror_r): Likewise.
13932         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
13933         behavior...
13934         (gl_FUNC_STRERROR_0): ...into new macro.
13935         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
13936         is overridden.
13937         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
13938         * modules/strerror-override (Files): Add strerror.m4.
13939         (configure.ac): Also provide override for 0 when needed.
13940         * doc/posix-functions/strerror.texi (strerror): Document this.
13941         * doc/posix-functions/perror.texi (perror): Likewise.
13942
13943         perror: adjust array size
13944         * modules/perror (Depends-on): Add strerror-override.
13945         * lib/perror.c (perror): Use it to avoid magic number.
13946
13947         strerror-override: reduce size
13948         * lib/strerror-override.c (strerror_override): Use fewer lines.
13949
13950 2011-06-20  Bruno Haible  <bruno@clisp.org>
13951
13952         pathmax: Ensure correct value for PATH_MAX on HP-UX.
13953         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
13954
13955 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
13956
13957         alloca: port to compilers that can optimize like GCC 4.6.0
13958         * lib/alloca.c (find_stack_direction): New signature, taken from
13959         Autoconf git.  This works with GCC 4.6.0.  This code should never
13960         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
13961         be used with other compilers that optimize as well as GCC 4.6.0 does.
13962         (alloca): Adjust to new signature.
13963         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
13964         New macro, which patches Autoconf in a similar way.
13965
13966         c-stack: stop worrying about stack direction
13967         * lib/c-stack.c (find_stack_direction): Remove.
13968         (segv_handler): Don't worry about stack direction growth, as it's
13969         too much of a pain to configure this correctly, given how compilers
13970         are optimizing-away our stack-growth detection code.  Instead, assume
13971         that any access to just before or just after the stack is OK.
13972         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
13973         Don't require AC_FUNC_ALLOCA; no longer needed.
13974
13975 2011-06-20  Eric Blake  <eblake@redhat.com>
13976
13977         test-stat: don't allocate PATH_MAX bytes
13978         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
13979         PATH_MAX-sized buffer.
13980         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
13981         * modules/stat-tests (Depends-on): Likewise.
13982         * tests/test-fstatat.c (includes): Drop pathmax.h.
13983         * tests/test-stat.c (includes): Likewise.
13984         Reported by Bruno Haible.
13985
13986 2011-06-20  Bruno Haible  <bruno@clisp.org>
13987
13988         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
13989         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
13990         * lib/float.c: New file.
13991         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
13992         REPLACE_FLOAT_LDBL.
13993         * modules/float (Files): Add lib/float.c.
13994         (configure.ac): Invoke AC_LIBOBJ.
13995         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
13996
13997 2011-06-20  Bruno Haible  <bruno@clisp.org>
13998
13999         Tests for module 'float'.
14000         * modules/float-tests: New file.
14001         * tests/test-float.c: New file.
14002
14003 2011-06-19  Bruno Haible  <bruno@clisp.org>
14004
14005         isinf: Coding style.
14006         * lib/isinf.c: Use GNU coding style.
14007
14008 2011-06-19  Bruno Haible  <bruno@clisp.org>
14009
14010         linkat test: Avoid test failure on AIX 7.1.
14011         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
14012         * tests/test-link.h (test_link): Likewise.
14013
14014 2011-06-19  Bruno Haible  <bruno@clisp.org>
14015
14016         pread test: Avoid test failure on OpenBSD 4.9.
14017         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
14018
14019 2011-06-19  Bruno Haible  <bruno@clisp.org>
14020
14021         sprintf-posix: Fix test failure on AIX 7.1.
14022         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
14023         * doc/posix-functions/dprintf.texi: Mention limited precision problem
14024         on AIX.
14025         * doc/posix-functions/fprintf.texi: Likewise.
14026         * doc/posix-functions/printf.texi: Likewise.
14027         * doc/posix-functions/snprintf.texi: Likewise.
14028         * doc/posix-functions/sprintf.texi: Likewise.
14029         * doc/posix-functions/vdprintf.texi: Likewise.
14030         * doc/posix-functions/vfprintf.texi: Likewise.
14031         * doc/posix-functions/vprintf.texi: Likewise.
14032         * doc/posix-functions/vsnprintf.texi: Likewise.
14033         * doc/posix-functions/vsprintf.texi: Likewise.
14034
14035 2011-06-19  Bruno Haible  <bruno@clisp.org>
14036
14037         roundl-ieee: Fix test failure on AIX 7.1.
14038         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
14039         * doc/posix-functions/roundl.texi: Mention problem with negative
14040         arguments.
14041
14042 2011-06-19  Bruno Haible  <bruno@clisp.org>
14043
14044         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14045         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
14046         * doc/posix-functions/round.texi: Mention problem with negative
14047         arguments.
14048         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
14049
14050 2011-06-19  Bruno Haible  <bruno@clisp.org>
14051
14052         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
14053         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
14054         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
14055         * doc/posix-functions/roundf.texi: Mention problem with negative
14056         arguments.
14057         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
14058
14059 2011-06-19  Bruno Haible  <bruno@clisp.org>
14060
14061         ceilf-ieee: Work around bug on MacOS X 10.5.
14062         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
14063
14064         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
14065         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
14066         IEEE compliant, avoid compiler optimizations.
14067         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14068         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14069         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14070         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14071         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14072         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14073         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14074         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14075         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14076         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14077
14078 2011-06-19  Bruno Haible  <bruno@clisp.org>
14079
14080         ceilf-ieee: Work around bug on AIX 7.1.
14081         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
14082         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
14083
14084 2011-06-19  Bruno Haible  <bruno@clisp.org>
14085
14086         ceil-ieee: Work around bug on AIX 7.1.
14087         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
14088         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
14089
14090 2011-06-18  Bruno Haible  <bruno@clisp.org>
14091
14092         fsync test: Avoid test failure on MacOS X and AIX.
14093         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
14094         EINVAL.
14095
14096 2011-06-18  Bruno Haible  <bruno@clisp.org>
14097
14098         openat, fdopendir tests: Fix link errors.
14099         * modules/openat-tests (Depends-on): Add progname.
14100         * modules/fdopendir-tests (Depends-on): Likewise.
14101         * tests/test-fchownat.c: Include progname.h.
14102         (main): Call set_program_name.
14103         * tests/test-fstatat.c: Include progname.h.
14104         (main): Call set_program_name.
14105         * tests/test-mkdirat.c: Include progname.h.
14106         (main): Call set_program_name.
14107         * tests/test-openat.c: Include progname.h.
14108         (main): Call set_program_name.
14109         * tests/test-unlinkat.c: Include progname.h.
14110         (main): Call set_program_name.
14111         * tests/test-fdopendir.c: Include progname.h.
14112         (main): Call set_program_name.
14113
14114 2011-06-18  Bruno Haible  <bruno@clisp.org>
14115
14116         Doc update.
14117         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
14118         HP-UX.
14119         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
14120
14121 2011-06-18  Bruno Haible  <bruno@clisp.org>
14122
14123         getcwd tests: Avoid compilation error on HP-UX 11.31.
14124         * modules/getcwd-tests (Depends-on): Add pathmax.
14125         * tests/test-getcwd.c: Include pathmax.h.
14126
14127 2011-06-18  Bruno Haible  <bruno@clisp.org>
14128
14129         isfinite, isinf: Fix link error on AIX 6 and 7.
14130         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
14131         needed, also test the macro with a 'float' argument.
14132         * m4/isinf.m4 (gl_ISINF): Likewise.
14133
14134 2011-06-18  Bruno Haible  <bruno@clisp.org>
14135
14136         getloadavg: Don't clobber LIBS. Regression from previous commit.
14137         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
14138         AC_CHECK_LIB from here...
14139         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
14140         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
14141         gl_func_getloadavg_done.
14142         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14143
14144 2011-06-18  Bruno Haible  <bruno@clisp.org>
14145
14146         clean-temp: Improve documentation.
14147         * lib/clean-temp.h: Explain better how to use this module.
14148         Reported by John Darrington <john@darrington.wattle.id.au>.
14149
14150 2011-06-17  Bruno Haible  <bruno@clisp.org>
14151
14152         pread, pwrite: Avoid cc warning on AIX.
14153         * lib/unistd.in.h (pread): Undefine before defining as a macro.
14154         (pwrite): Likewise.
14155
14156 2011-06-17  Bruno Haible  <bruno@clisp.org>
14157
14158         spawn-pipe tests: Fix link error.
14159         * tests/test-spawn-pipe-child.c: Undefine fprintf.
14160         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14161
14162 2011-06-17  Bruno Haible  <bruno@clisp.org>
14163
14164         Tests: Remove unnecessary dependency.
14165         * modules/canonicalize-tests (Depends-on): Remove progname.
14166         * modules/chown-tests (Depends-on): Likewise.
14167         * modules/dirname-tests (Depends-on): Likewise.
14168         * modules/fdopendir-tests (Depends-on): Likewise.
14169         * modules/fdutimensat-tests (Depends-on): Likewise.
14170         * modules/hash-tests (Depends-on): Likewise.
14171         * modules/lchown-tests (Depends-on): Likewise.
14172         * modules/linkat-tests (Depends-on): Likewise.
14173         * modules/renameat-tests (Depends-on): Likewise.
14174         * modules/spawn-pipe-tests (Depends-on): Likewise.
14175         * modules/utimensat-tests (Depends-on): Likewise.
14176
14177 2011-06-17  Bruno Haible  <bruno@clisp.org>
14178
14179         spawn-pipe tests: Fix link error.
14180         * tests/test-spawn-pipe-child.c: Undefine fflush.
14181
14182 2011-06-17  Bruno Haible  <bruno@clisp.org>
14183
14184         Fix tests link errors.
14185         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
14186         * modules/chown-tests (Makefile.am): Don't link test-chown with
14187         LIBINTL.
14188         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
14189         LIBINTL.
14190         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
14191         LIBINTL.
14192         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
14193         LIBINTL.
14194
14195 2011-06-16  Bruno Haible  <bruno@clisp.org>
14196
14197         crypto/gc-sha1: Fix recent regression.
14198         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
14199         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
14200
14201         crypto/gc-md5: Fix recent regression.
14202         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
14203
14204         crypto/gc-md4: Fix recent regression.
14205         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
14206         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
14207
14208         crypto/gc-arctwo: Fix recent regression.
14209         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
14210         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
14211
14212         crypto/gc-rijndael: Fix recent regression.
14213         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
14214         (configure.ac): Invoke AC_LIBOBJ here.
14215         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
14216         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14217
14218         crypto/gc-hmac-sha1: Fix recent regression.
14219         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
14220         (configure.ac): Invoke AC_LIBOBJ here.
14221         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
14222         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14223
14224         crypto/gc-hmac-md5: Fix recent regression.
14225         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
14226         (configure.ac): Invoke AC_LIBOBJ here.
14227         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
14228         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14229
14230         crypto/gc-des: Fix recent regression.
14231         * modules/crypto/gc-des (Files): Remove m4/des.m4.
14232         (configure.ac): Invoke AC_LIBOBJ here.
14233         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
14234         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14235
14236         crypto/gc-arcfour: Fix recent regression.
14237         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
14238         (configure.ac): Invoke AC_LIBOBJ here.
14239         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
14240         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14241
14242 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
14243
14244         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
14245         After the 2011-05-21 change, this macro requires
14246         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
14247         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
14248
14249 2011-06-16  Bruno Haible  <bruno@clisp.org>
14250
14251         fprintftime: Move AC_LIBOBJ invocations to module description.
14252         * m4/fprintftime.m4: Remove file.
14253         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
14254         (configure.ac): Remove gl_FPRINTFTIME call.
14255         (Makefile.am): Augment lib_SOURCES.
14256         Reported by Jim Meyering.
14257
14258 2011-06-16  Bruno Haible  <bruno@clisp.org>
14259
14260         tmpfile-safer: Finish 2011-05-23 commit.
14261         * m4/stdio-safer.m4: Really remove file.
14262         Reported by Jim Meyering.
14263
14264 2011-06-16  Bruno Haible  <bruno@clisp.org>
14265
14266         syntax-check: Fix typo.
14267         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
14268         printf-posix.m4.
14269         Reported by Jim Meyering.
14270
14271 2011-06-13  Jim Meyering  <meyering@redhat.com>
14272
14273         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
14274         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
14275
14276 2011-05-23  Bruno Haible  <bruno@clisp.org>
14277
14278         yesno: Move AC_LIBOBJ invocations to module description.
14279         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
14280         * modules/yesno (Makefile.am): Augment lib_SOURCES.
14281
14282 2011-05-23  Bruno Haible  <bruno@clisp.org>
14283
14284         xstrtol: Move AC_LIBOBJ invocations to module description.
14285         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
14286         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
14287
14288 2011-05-23  Bruno Haible  <bruno@clisp.org>
14289
14290         xstrtold: Move AC_LIBOBJ invocations to module description.
14291         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
14292         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
14293
14294 2011-05-23  Bruno Haible  <bruno@clisp.org>
14295
14296         xstrtod: Move AC_LIBOBJ invocations to module description.
14297         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
14298         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
14299
14300 2011-05-23  Bruno Haible  <bruno@clisp.org>
14301
14302         xnanosleep: Move AC_LIBOBJ invocations to module description.
14303         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
14304         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
14305
14306 2011-05-23  Bruno Haible  <bruno@clisp.org>
14307
14308         xgetcwd: Move AC_LIBOBJ invocations to module description.
14309         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
14310         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
14311
14312 2011-05-23  Bruno Haible  <bruno@clisp.org>
14313
14314         xalloc: Move AC_LIBOBJ invocations to module description.
14315         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
14316         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
14317
14318 2011-05-23  Bruno Haible  <bruno@clisp.org>
14319
14320         write-any-file: Move AC_LIBOBJ invocations to module description.
14321         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
14322         invocation.
14323         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
14324
14325 2011-05-23  Bruno Haible  <bruno@clisp.org>
14326
14327         utimens: Move AC_LIBOBJ invocations to module description.
14328         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
14329         * modules/utimens (Makefile.am): Augment lib_SOURCES.
14330
14331 2011-05-23  Bruno Haible  <bruno@clisp.org>
14332
14333         utimecmp: Move AC_LIBOBJ invocations to module description.
14334         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
14335         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
14336
14337 2011-05-23  Bruno Haible  <bruno@clisp.org>
14338
14339         userspec: Move AC_LIBOBJ invocations to module description.
14340         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
14341         * modules/userspec (Makefile.am): Augment lib_SOURCES.
14342
14343 2011-05-23  Bruno Haible  <bruno@clisp.org>
14344
14345         unlinkdir: Move AC_LIBOBJ invocations to module description.
14346         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
14347         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
14348
14349 2011-05-23  Bruno Haible  <bruno@clisp.org>
14350
14351         unistd-safer: Move AC_LIBOBJ invocations to module description.
14352         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
14353         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
14354
14355 2011-05-23  Bruno Haible  <bruno@clisp.org>
14356
14357         tempname: Move AC_LIBOBJ invocations to module description.
14358         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
14359         * modules/tempname (Makefile.am): Augment lib_SOURCES.
14360
14361 2011-05-23  Bruno Haible  <bruno@clisp.org>
14362
14363         strftime: Move AC_LIBOBJ invocations to module description.
14364         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
14365         * modules/strftime (Makefile.am): Augment lib_SOURCES.
14366
14367 2011-05-23  Bruno Haible  <bruno@clisp.org>
14368
14369         stdlib-safer: Move AC_LIBOBJ invocations to module description.
14370         * m4/stdlib-safer.m4: Remove file.
14371         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
14372         (configure.ac): Remove gl_STDLIB_SAFER call.
14373         (Makefile.am): Augment lib_SOURCES.
14374
14375 2011-05-23  Bruno Haible  <bruno@clisp.org>
14376
14377         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
14378         * m4/stdio-safer.m4: Remove file.
14379         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
14380         (configure.ac): Remove gl_TMPFILE_SAFER call.
14381         (Makefile.am): Augment lib_SOURCES.
14382
14383 2011-05-23  Bruno Haible  <bruno@clisp.org>
14384
14385         popen-safer: Move AC_LIBOBJ invocations to module description.
14386         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
14387         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
14388         (configure.ac): Remove gl_POPEN_SAFER call.
14389         (Makefile.am): Augment lib_SOURCES.
14390
14391 2011-05-23  Bruno Haible  <bruno@clisp.org>
14392
14393         freopen-safer: Move AC_LIBOBJ invocations to module description.
14394         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
14395         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
14396         (configure.ac): Remove gl_FREOPEN_SAFER call.
14397         (Makefile.am): Augment lib_SOURCES.
14398
14399 2011-05-23  Bruno Haible  <bruno@clisp.org>
14400
14401         fopen-safer: Move AC_LIBOBJ invocations to module description.
14402         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
14403         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
14404         (configure.ac): Remove gl_FOPEN_SAFER call.
14405         (Makefile.am): Augment lib_SOURCES.
14406
14407 2011-05-23  Bruno Haible  <bruno@clisp.org>
14408
14409         crypto/sha512: Move AC_LIBOBJ invocations to module description.
14410         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
14411         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
14412
14413 2011-05-23  Bruno Haible  <bruno@clisp.org>
14414
14415         crypto/sha256: Move AC_LIBOBJ invocations to module description.
14416         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
14417         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
14418
14419 2011-05-23  Bruno Haible  <bruno@clisp.org>
14420
14421         crypto/sha1: Move AC_LIBOBJ invocations to module description.
14422         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
14423         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
14424
14425 2011-05-23  Bruno Haible  <bruno@clisp.org>
14426
14427         settime: Move AC_LIBOBJ invocations to module description.
14428         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
14429         * modules/settime (Makefile.am): Augment lib_SOURCES.
14430
14431 2011-05-23  Bruno Haible  <bruno@clisp.org>
14432
14433         savedir: Move AC_LIBOBJ invocations to module description.
14434         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
14435         * modules/savedir (Makefile.am): Augment lib_SOURCES.
14436
14437 2011-05-23  Bruno Haible  <bruno@clisp.org>
14438
14439         save-cwd: Move AC_LIBOBJ invocations to module description.
14440         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
14441         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
14442
14443 2011-05-23  Bruno Haible  <bruno@clisp.org>
14444
14445         same: Move AC_LIBOBJ invocations to module description.
14446         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
14447         * modules/same (Makefile.am): Augment lib_SOURCES.
14448
14449 2011-05-23  Bruno Haible  <bruno@clisp.org>
14450
14451         safe-write: Move AC_LIBOBJ invocations to module description.
14452         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
14453         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
14454         instead of gl_SAFE_WRITE.
14455         (Makefile.am): Augment lib_SOURCES.
14456
14457 2011-05-23  Bruno Haible  <bruno@clisp.org>
14458
14459         safe-read: Move AC_LIBOBJ invocations to module description.
14460         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
14461         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
14462         of gl_SAFE_READ.
14463         (Makefile.am): Augment lib_SOURCES.
14464
14465 2011-05-23  Bruno Haible  <bruno@clisp.org>
14466
14467         safe-alloc: Move AC_LIBOBJ invocations to module description.
14468         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
14469         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
14470
14471 2011-05-23  Bruno Haible  <bruno@clisp.org>
14472
14473         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
14474         * m4/rijndael.m4: Remove file.
14475         * modules/crypto/rijndael (Files): Remove it.
14476         (configure.ac): Remove gl_RIJNDAEL call.
14477         (Makefile.am): Augment lib_SOURCES.
14478
14479 2011-05-23  Bruno Haible  <bruno@clisp.org>
14480
14481         readtokens: Move AC_LIBOBJ invocations to module description.
14482         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
14483         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
14484
14485 2011-05-23  Bruno Haible  <bruno@clisp.org>
14486
14487         read-file: Move AC_LIBOBJ invocations to module description.
14488         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
14489         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
14490         of gl_FUNC_READ_FILE.
14491         (Makefile.am): Augment lib_SOURCES.
14492
14493 2011-05-23  Bruno Haible  <bruno@clisp.org>
14494
14495         quotearg: Move AC_LIBOBJ invocations to module description.
14496         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
14497         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
14498
14499 2011-05-23  Bruno Haible  <bruno@clisp.org>
14500
14501         quote: Move AC_LIBOBJ invocations to module description.
14502         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
14503         * modules/quote (Makefile.am): Augment lib_SOURCES.
14504
14505 2011-05-23  Bruno Haible  <bruno@clisp.org>
14506
14507         posixver: Move AC_LIBOBJ invocations to module description.
14508         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
14509         * modules/posixver (Makefile.am): Augment lib_SOURCES.
14510
14511 2011-05-23  Bruno Haible  <bruno@clisp.org>
14512
14513         posixtm: Move AC_LIBOBJ invocations to module description.
14514         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
14515         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
14516
14517 2011-05-23  Bruno Haible  <bruno@clisp.org>
14518
14519         physmem: Move AC_LIBOBJ invocations to module description.
14520         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
14521         * modules/physmem (Makefile.am): Augment lib_SOURCES.
14522
14523 2011-05-23  Bruno Haible  <bruno@clisp.org>
14524
14525         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
14526         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
14527         invocation.
14528         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
14529
14530 2011-05-23  Bruno Haible  <bruno@clisp.org>
14531
14532         mpsort: Move AC_LIBOBJ invocations to module description.
14533         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
14534         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
14535
14536 2011-05-23  Bruno Haible  <bruno@clisp.org>
14537
14538         modechange: Move AC_LIBOBJ invocations to module description.
14539         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
14540         * modules/modechange (Makefile.am): Augment lib_SOURCES.
14541
14542 2011-05-23  Bruno Haible  <bruno@clisp.org>
14543
14544         mkdir-p: Move AC_LIBOBJ invocations to module description.
14545         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
14546         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
14547
14548 2011-05-23  Bruno Haible  <bruno@clisp.org>
14549
14550         mkancesdirs: Move AC_LIBOBJ invocations to module description.
14551         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
14552         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
14553
14554 2011-05-23  Bruno Haible  <bruno@clisp.org>
14555
14556         mgetgroups: Move AC_LIBOBJ invocations to module description.
14557         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
14558         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
14559
14560 2011-05-23  Bruno Haible  <bruno@clisp.org>
14561
14562         memxor: Move AC_LIBOBJ invocations to module description.
14563         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
14564         * modules/memxor (Makefile.am): Augment lib_SOURCES.
14565
14566 2011-05-23  Bruno Haible  <bruno@clisp.org>
14567
14568         memcoll: Move AC_LIBOBJ invocations to module description.
14569         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
14570         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
14571
14572 2011-05-23  Bruno Haible  <bruno@clisp.org>
14573
14574         memcasecmp: Move AC_LIBOBJ invocations to module description.
14575         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
14576         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
14577
14578 2011-05-23  Bruno Haible  <bruno@clisp.org>
14579
14580         crypto/md5: Move AC_LIBOBJ invocations to module description.
14581         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
14582         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
14583
14584 2011-05-23  Bruno Haible  <bruno@clisp.org>
14585
14586         crypto/md4: Move AC_LIBOBJ invocations to module description.
14587         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
14588         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
14589
14590 2011-05-23  Bruno Haible  <bruno@clisp.org>
14591
14592         crypto/md2: Move AC_LIBOBJ invocations to module description.
14593         * m4/md2.m4: Remove file.
14594         * modules/crypto/md2 (Files): Remove it.
14595         (configure.ac): Remove gl_MD2 call.
14596         (Makefile.am): Augment lib_SOURCES.
14597
14598 2011-05-23  Bruno Haible  <bruno@clisp.org>
14599
14600         long-options: Move AC_LIBOBJ invocations to module description.
14601         * m4/long-options.m4: Remove file.
14602         * modules/long-options (Files): Remove it.
14603         (configure.ac): Remove gl_LONG_OPTIONS call.
14604         (Makefile.am): Augment lib_SOURCES.
14605
14606 2011-05-23  Bruno Haible  <bruno@clisp.org>
14607
14608         i-ring: Move AC_LIBOBJ invocations to module description.
14609         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
14610         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
14611
14612 2011-05-23  Bruno Haible  <bruno@clisp.org>
14613
14614         idcache: Move AC_LIBOBJ invocations to module description.
14615         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
14616         * modules/idcache (Makefile.am): Augment lib_SOURCES.
14617
14618 2011-05-23  Bruno Haible  <bruno@clisp.org>
14619
14620         human: Move AC_LIBOBJ invocations to module description.
14621         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
14622         * modules/human (Makefile.am): Augment lib_SOURCES.
14623
14624 2011-05-23  Bruno Haible  <bruno@clisp.org>
14625
14626         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
14627         * m4/hmac-sha1.m4: Remove file.
14628         * modules/crypto/hmac-sha1 (Files): Remove it.
14629         (configure.ac): Remove gl_HMAC_SHA1 call.
14630         (Makefile.am): Augment lib_SOURCES.
14631
14632 2011-05-23  Bruno Haible  <bruno@clisp.org>
14633
14634         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
14635         * m4/hmac-md5.m4: Remove file.
14636         * modules/crypto/hmac-md5 (Files): Remove it.
14637         (configure.ac): Remove gl_HMAC_MD5 call.
14638         (Makefile.am): Augment lib_SOURCES.
14639
14640 2011-05-23  Bruno Haible  <bruno@clisp.org>
14641
14642         hash: Move AC_LIBOBJ invocations to module description.
14643         * m4/hash.m4: Remove file.
14644         * modules/hash (Files): Remove it.
14645         (configure.ac): Remove gl_HASH call.
14646         (Makefile.am): Augment lib_SOURCES.
14647
14648 2011-05-23  Bruno Haible  <bruno@clisp.org>
14649
14650         hard-locale: Move AC_LIBOBJ invocations to module description.
14651         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
14652         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
14653
14654 2011-05-23  Bruno Haible  <bruno@clisp.org>
14655
14656         getugroups: Move AC_LIBOBJ invocations to module description.
14657         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
14658         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
14659
14660 2011-05-23  Bruno Haible  <bruno@clisp.org>
14661
14662         gettime: Move AC_LIBOBJ invocations to module description.
14663         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
14664         * modules/gettime (Makefile.am): Augment lib_SOURCES.
14665
14666 2011-05-23  Bruno Haible  <bruno@clisp.org>
14667
14668         getndelim2: Move AC_LIBOBJ invocations to module description.
14669         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
14670         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
14671
14672 2011-05-23  Bruno Haible  <bruno@clisp.org>
14673
14674         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
14675         * m4/gc-pbkdf2-sha1.m4: Remove file.
14676         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
14677         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
14678         (Makefile.am): Augment lib_SOURCES.
14679
14680 2011-05-23  Bruno Haible  <bruno@clisp.org>
14681
14682         fts: Move AC_LIBOBJ invocations to module description.
14683         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
14684         * modules/fts (configure.ac): ... to here.
14685
14686 2011-05-23  Bruno Haible  <bruno@clisp.org>
14687
14688         file-type: Move AC_LIBOBJ invocations to module description.
14689         * m4/file-type.m4: Remove file.
14690         * modules/file-type (Files): Remove it.
14691         (configure.ac): Remove gl_FILE_TYPE call.
14692         (Makefile.am): Augment lib_SOURCES.
14693
14694 2011-05-23  Bruno Haible  <bruno@clisp.org>
14695
14696         filenamecat*: Respect rules for use of AC_LIBOBJ.
14697         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
14698         Remove AC_LIBOBJ invocation.
14699         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
14700         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
14701
14702 2011-05-23  Bruno Haible  <bruno@clisp.org>
14703
14704         filemode: Move AC_LIBOBJ invocations to module description.
14705         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
14706         * modules/filemode (Makefile.am): Augment lib_SOURCES.
14707
14708 2011-05-23  Bruno Haible  <bruno@clisp.org>
14709
14710         openat-safer: Move AC_LIBOBJ invocations to module description.
14711         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
14712         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
14713
14714 2011-05-23  Bruno Haible  <bruno@clisp.org>
14715
14716         fcntl-safer: Move AC_LIBOBJ invocations to module description.
14717         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
14718         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
14719
14720 2011-05-23  Bruno Haible  <bruno@clisp.org>
14721
14722         exclude: Move AC_LIBOBJ invocations to module description.
14723         * m4/exclude.m4: Remove file.
14724         * modules/exclude (Files): Remove it.
14725         (configure.ac): Remove gl_EXCLUDE call.
14726         (Makefile.am): Augment lib_SOURCES.
14727
14728 2011-05-23  Bruno Haible  <bruno@clisp.org>
14729
14730         dirname*: Respect rules for use of AC_LIBOBJ.
14731         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
14732         invocations.
14733         * modules/dirname (Makefile.am): Augment lib_SOURCES.
14734         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
14735
14736 2011-05-23  Bruno Haible  <bruno@clisp.org>
14737
14738         dirent-safer: Move AC_LIBOBJ invocations to module description.
14739         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
14740         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
14741
14742 2011-05-23  Bruno Haible  <bruno@clisp.org>
14743
14744         crypto/des: Move AC_LIBOBJ invocations to module description.
14745         * m4/des.m4: Remove file.
14746         * modules/crypto/des (Files): Remove it.
14747         (configure.ac): Remove gl_DES call.
14748         (Makefile.am): Augment lib_SOURCES.
14749
14750 2011-05-23  Bruno Haible  <bruno@clisp.org>
14751
14752         cycle-check: Move AC_LIBOBJ invocations to module description.
14753         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
14754         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
14755
14756 2011-05-23  Bruno Haible  <bruno@clisp.org>
14757
14758         c-strtold: Move AC_LIBOBJ invocations to module description.
14759         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
14760         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
14761
14762 2011-05-23  Bruno Haible  <bruno@clisp.org>
14763
14764         c-strtod: Move AC_LIBOBJ invocations to module description.
14765         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
14766         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
14767
14768 2011-05-23  Bruno Haible  <bruno@clisp.org>
14769
14770         crc: Move AC_LIBOBJ invocations to module description.
14771         * m4/crc.m4: Remove file.
14772         * modules/crc (Files): Remove it.
14773         (configure.ac): Remove gl_CRC call.
14774         (Makefile.am): Augment lib_SOURCES.
14775
14776 2011-05-23  Bruno Haible  <bruno@clisp.org>
14777
14778         close-stream: Move AC_LIBOBJ invocations to module description.
14779         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
14780         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
14781
14782 2011-05-23  Bruno Haible  <bruno@clisp.org>
14783
14784         closeout: Move AC_LIBOBJ invocations to module description.
14785         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
14786         * modules/closeout (Makefile.am): Augment lib_SOURCES.
14787
14788 2011-05-23  Bruno Haible  <bruno@clisp.org>
14789
14790         closein: Move AC_LIBOBJ invocations to module description.
14791         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
14792         * modules/closein (Makefile.am): Augment lib_SOURCES.
14793
14794 2011-05-23  Bruno Haible  <bruno@clisp.org>
14795
14796         cloexec: Move AC_LIBOBJ invocations to module description.
14797         * m4/cloexec.m4: Remove file.
14798         * modules/cloexec (Files): Remove it.
14799         (configure.ac): Remove gl_CLOEXEC call.
14800         (Makefile.am): Augment lib_SOURCES.
14801
14802 2011-05-23  Bruno Haible  <bruno@clisp.org>
14803
14804         check-version: Move AC_LIBOBJ invocations to module description.
14805         * m4/check-version.m4: Remove file.
14806         * modules/check-version (Files): Remove it.
14807         (configure.ac): Remove gl_CHECK_VERSION call.
14808         (Makefile.am): Augment lib_SOURCES.
14809
14810 2011-05-23  Bruno Haible  <bruno@clisp.org>
14811
14812         chdir-safer: Move AC_LIBOBJ invocations to module description.
14813         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
14814         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
14815
14816 2011-05-23  Bruno Haible  <bruno@clisp.org>
14817
14818         canonicalize: Move AC_LIBOBJ invocations to module description.
14819         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
14820         AC_LIBOBJ invocation.
14821         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
14822
14823 2011-05-23  Bruno Haible  <bruno@clisp.org>
14824
14825         canon-host: Move AC_LIBOBJ invocations to module description.
14826         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
14827         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
14828         instead of gl_CANON_HOST.
14829         (Makefile.am): Augment lib_SOURCES.
14830
14831 2011-05-23  Bruno Haible  <bruno@clisp.org>
14832
14833         backupfile: Move AC_LIBOBJ invocations to module description.
14834         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
14835         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
14836
14837 2011-05-23  Bruno Haible  <bruno@clisp.org>
14838
14839         argmatch: Move AC_LIBOBJ invocations to module description.
14840         * m4/argmatch.m4: Remove file.
14841         * modules/argmatch (Files): Remove it.
14842         (configure.ac): Remove gl_ARGMATCH call.
14843         (Makefile.am): Augment lib_SOURCES.
14844
14845 2011-05-23  Bruno Haible  <bruno@clisp.org>
14846
14847         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
14848         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
14849         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
14850
14851 2011-05-23  Bruno Haible  <bruno@clisp.org>
14852
14853         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
14854         * m4/arcfour.m4: Remove file.
14855         * modules/crypto/arcfour (Files): Remove it.
14856         (configure.ac): Remove gl_ARCFOUR call.
14857         (Makefile.am): Augment lib_SOURCES.
14858
14859 2011-05-22  Bruno Haible  <bruno@clisp.org>
14860
14861         write: Move AC_LIBOBJ invocations to module description.
14862         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
14863         * modules/write (configure.ac): ... to here.
14864
14865 2011-05-22  Bruno Haible  <bruno@clisp.org>
14866
14867         wmemset: Move AC_LIBOBJ invocations to module description.
14868         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
14869         here...
14870         * modules/wmemset (configure.ac): ... to here.
14871
14872 2011-05-22  Bruno Haible  <bruno@clisp.org>
14873
14874         wmemmove: Move AC_LIBOBJ invocations to module description.
14875         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
14876         here...
14877         * modules/wmemmove (configure.ac): ... to here.
14878
14879 2011-05-22  Bruno Haible  <bruno@clisp.org>
14880
14881         wmemcpy: Move AC_LIBOBJ invocations to module description.
14882         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
14883         here...
14884         * modules/wmemcpy (configure.ac): ... to here.
14885
14886 2011-05-22  Bruno Haible  <bruno@clisp.org>
14887
14888         wmemcmp: Move AC_LIBOBJ invocations to module description.
14889         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
14890         here...
14891         * modules/wmemcmp (configure.ac): ... to here.
14892
14893 2011-05-22  Bruno Haible  <bruno@clisp.org>
14894
14895         wmemchr: Move AC_LIBOBJ invocations to module description.
14896         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
14897         here...
14898         * modules/wmemchr (configure.ac): ... to here.
14899
14900 2011-05-22  Bruno Haible  <bruno@clisp.org>
14901
14902         wcswidth: Move AC_LIBOBJ invocations to module description.
14903         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
14904         here...
14905         * modules/wcswidth (configure.ac): ... to here.
14906
14907 2011-05-22  Bruno Haible  <bruno@clisp.org>
14908
14909         wcwidth: Respect rules for use of AC_LIBOBJ.
14910         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
14911         invocation from here...
14912         * modules/wcwidth (configure.ac): ... to here.
14913         (Depends-on): Update conditions.
14914
14915 2011-05-22  Bruno Haible  <bruno@clisp.org>
14916
14917         wctype: Move AC_LIBOBJ invocations to module description.
14918         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
14919         invocation from here...
14920         * modules/wctype (configure.ac): ... to here.
14921         (Depends-on): Update conditions.
14922
14923 2011-05-22  Bruno Haible  <bruno@clisp.org>
14924
14925         wctrans: Move AC_LIBOBJ invocations to module description.
14926         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
14927         invocation from here...
14928         * modules/wctrans (configure.ac): ... to here.
14929
14930 2011-05-22  Bruno Haible  <bruno@clisp.org>
14931
14932         wctomb: Move AC_LIBOBJ invocations to module description.
14933         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
14934         invocations from here...
14935         * modules/wctomb (configure.ac): ... to here.
14936
14937 2011-05-22  Bruno Haible  <bruno@clisp.org>
14938
14939         wctob: Move AC_LIBOBJ invocations to module description.
14940         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
14941         gl_PREREQ_WCTOB invocations from here...
14942         * modules/wctob (configure.ac): ... to here.
14943         (Depends-on): Update conditions.
14944
14945 2011-05-22  Bruno Haible  <bruno@clisp.org>
14946
14947         wcsxfrm: Move AC_LIBOBJ invocations to module description.
14948         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
14949         here...
14950         * modules/wcsxfrm (configure.ac): ... to here.
14951
14952 2011-05-22  Bruno Haible  <bruno@clisp.org>
14953
14954         wcstok: Move AC_LIBOBJ invocations to module description.
14955         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
14956         * modules/wcstok (configure.ac): ... to here.
14957
14958 2011-05-22  Bruno Haible  <bruno@clisp.org>
14959
14960         wcsstr: Move AC_LIBOBJ invocations to module description.
14961         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
14962         * modules/wcsstr (configure.ac): ... to here.
14963
14964 2011-05-22  Bruno Haible  <bruno@clisp.org>
14965
14966         wcsspn: Move AC_LIBOBJ invocations to module description.
14967         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
14968         * modules/wcsspn (configure.ac): ... to here.
14969
14970 2011-05-22  Bruno Haible  <bruno@clisp.org>
14971
14972         wcsrtombs: Move AC_LIBOBJ invocations to module description.
14973         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
14974         gl_PREREQ_WCSRTOMBS invocations from here...
14975         * modules/wcsrtombs (configure.ac): ... to here.
14976
14977 2011-05-22  Bruno Haible  <bruno@clisp.org>
14978
14979         wcsrchr: Move AC_LIBOBJ invocations to module description.
14980         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
14981         here...
14982         * modules/wcsrchr (configure.ac): ... to here.
14983
14984 2011-05-22  Bruno Haible  <bruno@clisp.org>
14985
14986         wcspbrk: Move AC_LIBOBJ invocations to module description.
14987         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
14988         here...
14989         * modules/wcspbrk (configure.ac): ... to here.
14990
14991 2011-05-22  Bruno Haible  <bruno@clisp.org>
14992
14993         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
14994         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
14995         gl_PREREQ_WCSNRTOMBS invocations from here...
14996         * modules/wcsnrtombs (configure.ac): ... to here.
14997
14998 2011-05-22  Bruno Haible  <bruno@clisp.org>
14999
15000         wcsnlen: Move AC_LIBOBJ invocations to module description.
15001         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
15002         here...
15003         * modules/wcsnlen (configure.ac): ... to here.
15004
15005 2011-05-22  Bruno Haible  <bruno@clisp.org>
15006
15007         wcsncpy: Move AC_LIBOBJ invocations to module description.
15008         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
15009         here...
15010         * modules/wcsncpy (configure.ac): ... to here.
15011
15012 2011-05-22  Bruno Haible  <bruno@clisp.org>
15013
15014         wcsncmp: Move AC_LIBOBJ invocations to module description.
15015         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
15016         here...
15017         * modules/wcsncmp (configure.ac): ... to here.
15018
15019 2011-05-22  Bruno Haible  <bruno@clisp.org>
15020
15021         wcsncat: Move AC_LIBOBJ invocations to module description.
15022         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
15023         here...
15024         * modules/wcsncat (configure.ac): ... to here.
15025
15026 2011-05-22  Bruno Haible  <bruno@clisp.org>
15027
15028         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
15029         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
15030         from here...
15031         * modules/wcsncasecmp (configure.ac): ... to here.
15032
15033 2011-05-22  Bruno Haible  <bruno@clisp.org>
15034
15035         wcslen: Move AC_LIBOBJ invocations to module description.
15036         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
15037         * modules/wcslen (configure.ac): ... to here.
15038
15039 2011-05-22  Bruno Haible  <bruno@clisp.org>
15040
15041         wcsdup: Move AC_LIBOBJ invocations to module description.
15042         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
15043         * modules/wcsdup (configure.ac): ... to here.
15044
15045 2011-05-22  Bruno Haible  <bruno@clisp.org>
15046
15047         wcscspn: Move AC_LIBOBJ invocations to module description.
15048         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
15049         here...
15050         * modules/wcscspn (configure.ac): ... to here.
15051
15052 2011-05-22  Bruno Haible  <bruno@clisp.org>
15053
15054         wcscpy: Move AC_LIBOBJ invocations to module description.
15055         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
15056         * modules/wcscpy (configure.ac): ... to here.
15057
15058 2011-05-22  Bruno Haible  <bruno@clisp.org>
15059
15060         wcscoll: Move AC_LIBOBJ invocations to module description.
15061         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
15062         here...
15063         * modules/wcscoll (configure.ac): ... to here.
15064
15065 2011-05-22  Bruno Haible  <bruno@clisp.org>
15066
15067         wcscmp: Move AC_LIBOBJ invocations to module description.
15068         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
15069         * modules/wcscmp (configure.ac): ... to here.
15070
15071 2011-05-22  Bruno Haible  <bruno@clisp.org>
15072
15073         wcschr: Move AC_LIBOBJ invocations to module description.
15074         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
15075         * modules/wcschr (configure.ac): ... to here.
15076
15077 2011-05-22  Bruno Haible  <bruno@clisp.org>
15078
15079         wcscat: Move AC_LIBOBJ invocations to module description.
15080         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
15081         * modules/wcscat (configure.ac): ... to here.
15082
15083 2011-05-22  Bruno Haible  <bruno@clisp.org>
15084
15085         wcscasecmp: Move AC_LIBOBJ invocations to module description.
15086         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
15087         here...
15088         * modules/wcscasecmp (configure.ac): ... to here.
15089
15090 2011-05-22  Bruno Haible  <bruno@clisp.org>
15091
15092         wcrtomb: Move AC_LIBOBJ invocations to module description.
15093         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
15094         invocations from here...
15095         * modules/wcrtomb (configure.ac): ... to here.
15096
15097 2011-05-22  Bruno Haible  <bruno@clisp.org>
15098
15099         wcpncpy: Move AC_LIBOBJ invocations to module description.
15100         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
15101         here...
15102         * modules/wcpncpy (configure.ac): ... to here.
15103
15104 2011-05-22  Bruno Haible  <bruno@clisp.org>
15105
15106         wcpcpy: Move AC_LIBOBJ invocations to module description.
15107         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
15108         * modules/wcpcpy (configure.ac): ... to here.
15109
15110 2011-05-22  Bruno Haible  <bruno@clisp.org>
15111
15112         waitpid: Move AC_LIBOBJ invocations to module description.
15113         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
15114         invocation from here...
15115         * modules/waitpid (configure.ac): ... to here.
15116
15117 2011-05-22  Bruno Haible  <bruno@clisp.org>
15118
15119         utimensat: Move AC_LIBOBJ invocations to module description.
15120         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
15121         here...
15122         * modules/utimensat (configure.ac): ... to here.
15123
15124 2011-05-22  Bruno Haible  <bruno@clisp.org>
15125
15126         usleep: Move AC_LIBOBJ invocations to module description.
15127         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
15128         here...
15129         * modules/usleep (configure.ac): ... to here.
15130
15131 2011-05-22  Bruno Haible  <bruno@clisp.org>
15132
15133         unlockpt: Move AC_LIBOBJ invocations to module description.
15134         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
15135         gl_PREREQ_UNLOCKPT invocations from here...
15136         * modules/unlockpt (configure.ac): ... to here.
15137
15138 2011-05-22  Bruno Haible  <bruno@clisp.org>
15139
15140         unlink: Respect rules for use of AC_LIBOBJ.
15141         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
15142         * modules/unlink (configure.ac): ... to here.
15143
15144 2011-05-22  Bruno Haible  <bruno@clisp.org>
15145
15146         uname: Move AC_LIBOBJ invocations to module description.
15147         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
15148         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
15149         here...
15150         * modules/uname (configure.ac): ... to here.
15151
15152 2011-05-22  Bruno Haible  <bruno@clisp.org>
15153
15154         ttyname_r: Move AC_LIBOBJ invocations to module description.
15155         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
15156         gl_PREREQ_TTYNAME_R invocations from here...
15157         * modules/ttyname_r (configure.ac): ... to here.
15158
15159 2011-05-22  Bruno Haible  <bruno@clisp.org>
15160
15161         tsearch: Move AC_LIBOBJ invocations to module description.
15162         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
15163         invocations from here...
15164         * modules/tsearch (configure.ac): ... to here.
15165
15166 2011-05-22  Bruno Haible  <bruno@clisp.org>
15167
15168         towctrans: Move AC_LIBOBJ invocations to module description.
15169         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
15170         AC_LIBOBJ invocation from here...
15171         * modules/towctrans (configure.ac): ... to here.
15172
15173 2011-05-22  Bruno Haible  <bruno@clisp.org>
15174
15175         tmpfile: Move AC_LIBOBJ invocations to module description.
15176         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
15177         invocations from here...
15178         * modules/tmpfile (configure.ac): ... to here.
15179
15180 2011-05-22  Bruno Haible  <bruno@clisp.org>
15181
15182         times: Move AC_LIBOBJ invocations to module description.
15183         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
15184         * modules/times (configure.ac): ... to here.
15185
15186 2011-05-22  Bruno Haible  <bruno@clisp.org>
15187
15188         time_r: Move AC_LIBOBJ invocations to module description.
15189         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
15190         invocations from here...
15191         * modules/time_r (configure.ac): ... to here.
15192
15193 2011-05-22  Bruno Haible  <bruno@clisp.org>
15194
15195         timegm: Move AC_LIBOBJ invocations to module description.
15196         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
15197         invocations from here...
15198         * modules/timegm (configure.ac): ... to here.
15199
15200 2011-05-22  Bruno Haible  <bruno@clisp.org>
15201
15202         tcgetsid: Move AC_LIBOBJ invocations to module description.
15203         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
15204         and gl_PREREQ_TCGETSID invocations from here...
15205         * modules/tcgetsid (configure.ac): ... to here.
15206         (Depends-on): Update conditions.
15207
15208 2011-05-22  Bruno Haible  <bruno@clisp.org>
15209
15210         symlinkat: Move AC_LIBOBJ invocations to module description.
15211         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
15212         here...
15213         * modules/symlinkat (configure.ac): ... to here.
15214
15215 2011-05-22  Bruno Haible  <bruno@clisp.org>
15216
15217         symlink: Move AC_LIBOBJ invocations to module description.
15218         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
15219         here...
15220         * modules/symlink (configure.ac): ... to here.
15221
15222 2011-05-22  Bruno Haible  <bruno@clisp.org>
15223
15224         strverscmp: Move AC_LIBOBJ invocations to module description.
15225         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
15226         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
15227         from here...
15228         * modules/strverscmp (configure.ac): ... to here.
15229
15230 2011-05-22  Bruno Haible  <bruno@clisp.org>
15231
15232         strtok_r: Move AC_LIBOBJ invocations to module description.
15233         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
15234         and gl_PREREQ_STRTOK_R invocations from here...
15235         * modules/strtok_r (configure.ac): ... to here.
15236         (Depends-on): Update conditions.
15237
15238 2011-05-22  Bruno Haible  <bruno@clisp.org>
15239
15240         strtoumax: Move AC_LIBOBJ invocations to module description.
15241         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
15242         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
15243         from here...
15244         * modules/strtoumax (configure.ac): ... to here.
15245
15246 2011-05-22  Bruno Haible  <bruno@clisp.org>
15247
15248         strtoimax: Move AC_LIBOBJ invocations to module description.
15249         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
15250         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
15251         from here...
15252         * modules/strtoimax (configure.ac): ... to here.
15253
15254 2011-05-22  Bruno Haible  <bruno@clisp.org>
15255
15256         strtoull: Move AC_LIBOBJ invocations to module description.
15257         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
15258         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
15259         from here...
15260         * modules/strtoull (configure.ac): ... to here.
15261
15262 2011-05-22  Bruno Haible  <bruno@clisp.org>
15263
15264         strtoll: Move AC_LIBOBJ invocations to module description.
15265         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
15266         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
15267         here...
15268         * modules/strtoll (configure.ac): ... to here.
15269
15270 2011-05-22  Bruno Haible  <bruno@clisp.org>
15271
15272         strtoul: Move AC_LIBOBJ invocations to module description.
15273         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
15274         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15275         * modules/strtoul (configure.ac): ... to here.
15276
15277 2011-05-22  Bruno Haible  <bruno@clisp.org>
15278
15279         strtol: Move AC_LIBOBJ invocations to module description.
15280         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
15281         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
15282         * modules/strtol (configure.ac): ... to here.
15283
15284 2011-05-22  Bruno Haible  <bruno@clisp.org>
15285
15286         strtod: Move AC_LIBOBJ invocations to module description.
15287         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
15288         invocations from here...
15289         * modules/strtod (configure.ac): ... to here.
15290
15291 2011-05-22  Bruno Haible  <bruno@clisp.org>
15292
15293         strstr*: Move AC_LIBOBJ invocations to module description.
15294         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
15295         invocations from here...
15296         * modules/strstr-simple (configure.ac): ... to here.
15297         * modules/strstr (configure.ac): ... and here.
15298
15299 2011-05-22  Bruno Haible  <bruno@clisp.org>
15300
15301         strsignal: Move AC_LIBOBJ invocations to module description.
15302         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
15303         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
15304         * modules/strsignal (configure.ac): ... to here.
15305         (Depends-on): Update conditions.
15306
15307 2011-05-22  Bruno Haible  <bruno@clisp.org>
15308
15309         strsep: Move AC_LIBOBJ invocations to module description.
15310         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
15311         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
15312         here...
15313         * modules/strsep (configure.ac): ... to here.
15314
15315 2011-05-22  Bruno Haible  <bruno@clisp.org>
15316
15317         strptime: Move AC_LIBOBJ invocations to module description.
15318         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
15319         gl_PREREQ_STRPTIME invocations from here...
15320         * modules/strptime (configure.ac): ... to here.
15321
15322 2011-05-22  Bruno Haible  <bruno@clisp.org>
15323
15324         strpbrk: Move AC_LIBOBJ invocations to module description.
15325         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
15326         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
15327         here...
15328         * modules/strpbrk (configure.ac): ... to here.
15329
15330 2011-05-22  Bruno Haible  <bruno@clisp.org>
15331
15332         strnlen: Move AC_LIBOBJ invocations to module description.
15333         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
15334         invocations from here...
15335         * modules/strnlen (configure.ac): ... to here.
15336
15337 2011-05-22  Bruno Haible  <bruno@clisp.org>
15338
15339         strndup: Move AC_LIBOBJ invocations to module description.
15340         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
15341         invocations from here...
15342         * modules/strndup (configure.ac): ... to here.
15343         (Depends-on): Update conditions.
15344
15345 2011-05-22  Bruno Haible  <bruno@clisp.org>
15346
15347         strncat: Move AC_LIBOBJ invocations to module description.
15348         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
15349         invocations from here...
15350         * modules/strncat (configure.ac): ... to here.
15351
15352 2011-05-22  Bruno Haible  <bruno@clisp.org>
15353
15354         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
15355         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
15356         invocations from here...
15357         * modules/strdup (configure.ac): ... to here.
15358         * modules/strdup-posix (configure.ac): ... and here.
15359
15360 2011-05-22  Bruno Haible  <bruno@clisp.org>
15361
15362         strcspn: Move AC_LIBOBJ invocations to module description.
15363         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
15364         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
15365         here...
15366         * modules/strcspn (configure.ac): ... to here.
15367
15368 2011-05-22  Bruno Haible  <bruno@clisp.org>
15369
15370         strchrnul: Move AC_LIBOBJ invocations to module description.
15371         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
15372         gl_PREREQ_STRCHRNUL invocations from here...
15373         * modules/strchrnul (configure.ac): ... to here.
15374
15375 2011-05-22  Bruno Haible  <bruno@clisp.org>
15376
15377         strcasestr*: Move AC_LIBOBJ invocations to module description.
15378         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
15379         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
15380         * modules/strcasestr-simple (configure.ac): ... to here.
15381         * modules/strcasestr (configure.ac): ... and here.
15382
15383 2011-05-22  Bruno Haible  <bruno@clisp.org>
15384
15385         strcase: Move AC_LIBOBJ invocations to module description.
15386         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
15387         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
15388         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
15389         gl_PREREQ_STRNCASECMP invocations from here...
15390         * modules/strcase (configure.ac): ... to here.
15391
15392 2011-05-22  Bruno Haible  <bruno@clisp.org>
15393
15394         stpncpy: Move AC_LIBOBJ invocations to module description.
15395         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
15396         here...
15397         * modules/stpncpy (configure.ac): ... to here.
15398
15399 2011-05-22  Bruno Haible  <bruno@clisp.org>
15400
15401         stpcpy: Move AC_LIBOBJ invocations to module description.
15402         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
15403         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
15404         here...
15405         * modules/stpcpy (configure.ac): ... to here.
15406
15407 2011-05-21  Bruno Haible  <bruno@clisp.org>
15408
15409         stat: Move AC_LIBOBJ invocations to module description.
15410         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
15411         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
15412         here...
15413         * modules/stat (configure.ac): ... to here.
15414
15415 2011-05-21  Bruno Haible  <bruno@clisp.org>
15416
15417         sleep: Move AC_LIBOBJ invocations to module description.
15418         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
15419         * modules/sleep (configure.ac): ... to here.
15420
15421 2011-05-21  Bruno Haible  <bruno@clisp.org>
15422
15423         signbit: Move AC_LIBOBJ invocations to module description.
15424         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
15425         * modules/signbit (configure.ac): ... to here.
15426
15427 2011-05-21  Bruno Haible  <bruno@clisp.org>
15428
15429         sigprocmask: Move AC_LIBOBJ invocations to module description.
15430         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
15431         gl_PREREQ_SIGPROMASK invocations from here...
15432         * modules/sigprocmask (configure.ac): ... to here.
15433
15434 2011-05-21  Bruno Haible  <bruno@clisp.org>
15435
15436         sigaction: Move AC_LIBOBJ invocations to module description.
15437         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
15438         gl_PREREQ_SIGACTION invocations from here...
15439         * modules/sigaction (configure.ac): ... to here.
15440
15441 2011-05-21  Bruno Haible  <bruno@clisp.org>
15442
15443         sig2str: Move AC_LIBOBJ invocations to module description.
15444         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
15445         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
15446         here...
15447         * modules/sig2str (configure.ac): ... to here.
15448
15449 2011-05-21  Bruno Haible  <bruno@clisp.org>
15450
15451         setlocale: Move AC_LIBOBJ invocations to module description.
15452         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
15453         gl_PREREQ_SETLOCALE invocations from here...
15454         * modules/setlocale (configure.ac): ... to here.
15455
15456 2011-05-21  Bruno Haible  <bruno@clisp.org>
15457
15458         unsetenv: Move AC_LIBOBJ invocations to module description.
15459         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
15460         and gl_PREREQ_UNSETENV invocations from here...
15461         * modules/unsetenv (configure.ac): ... to here.
15462         (Depends-on): Update.
15463
15464 2011-05-21  Bruno Haible  <bruno@clisp.org>
15465
15466         setenv: Move AC_LIBOBJ invocations to module description.
15467         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
15468         here...
15469         * modules/setenv (configure.ac): ... to here.
15470
15471 2011-05-21  Bruno Haible  <bruno@clisp.org>
15472
15473         selinux-h: Move AC_LIBOBJ invocations to module description.
15474         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
15475         AC_LIBOBJ invocation from here...
15476         * modules/selinux-h (configure.ac): ... to here.
15477
15478 2011-05-21  Bruno Haible  <bruno@clisp.org>
15479
15480         select: Respect rules for use of AC_LIBOBJ.
15481         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
15482         here...
15483         * modules/select (configure.ac): ... to here.
15484
15485 2011-05-21  Bruno Haible  <bruno@clisp.org>
15486
15487         scandir: Move AC_LIBOBJ invocations to module description.
15488         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
15489         invocations from here...
15490         * modules/scandir (configure.ac): ... to here.
15491
15492 2011-05-21  Bruno Haible  <bruno@clisp.org>
15493
15494         rpmatch: Move AC_LIBOBJ invocations to module description.
15495         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
15496         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
15497         here...
15498         * modules/rpmatch (configure.ac): ... to here.
15499
15500 2011-05-21  Bruno Haible  <bruno@clisp.org>
15501
15502         rmdir: Respect rules for use of AC_LIBOBJ.
15503         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
15504         * modules/rmdir (configure.ac): ... to here.
15505
15506 2011-05-21  Bruno Haible  <bruno@clisp.org>
15507
15508         renameat: Move AC_LIBOBJ invocations to module description.
15509         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
15510         here...
15511         * modules/renameat (configure.ac): ... to here.
15512
15513 2011-05-21  Bruno Haible  <bruno@clisp.org>
15514
15515         rename: Respect rules for use of AC_LIBOBJ.
15516         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
15517         here...
15518         * modules/rename (configure.ac): ... to here.
15519
15520 2011-05-21  Bruno Haible  <bruno@clisp.org>
15521
15522         remove: Move AC_LIBOBJ invocations to module description.
15523         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
15524         here...
15525         * modules/remove (configure.ac): ... to here.
15526
15527 2011-05-21  Bruno Haible  <bruno@clisp.org>
15528
15529         relocatable-lib: Move AC_LIBOBJ invocations to module description.
15530         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
15531         macro.
15532         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
15533         * modules/relocatable-lib (configure.ac): ... to here.
15534         * modules/relocatable-prog-wrapper (configure.ac): Invoke
15535         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
15536
15537 2011-05-21  Bruno Haible  <bruno@clisp.org>
15538
15539         relocatable-prog: Move AC_LIBOBJ invocations to module description.
15540         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
15541         here...
15542         * modules/relocatable-prog (configure.ac): ... to here.
15543
15544 2011-05-21  Bruno Haible  <bruno@clisp.org>
15545
15546         regex: Move AC_LIBOBJ invocations to module description.
15547         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
15548         invocations from here...
15549         * modules/regex (configure.ac): ... to here.
15550
15551 2011-05-21  Bruno Haible  <bruno@clisp.org>
15552
15553         realloc-*: Move AC_LIBOBJ invocations to module description.
15554         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
15555         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
15556         AC_LIBOBJ invocations from here...
15557         * modules/realloc-gnu (configure.ac): ... to here.
15558         * modules/realloc-posix (configure.ac): ... and here.
15559
15560 2011-05-21  Bruno Haible  <bruno@clisp.org>
15561
15562         readutmp: Move AC_LIBOBJ invocations to module description.
15563         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
15564         * modules/readutmp (configure.ac): ... to here.
15565
15566 2011-05-21  Bruno Haible  <bruno@clisp.org>
15567
15568         readlinkat: Move AC_LIBOBJ invocations to module description.
15569         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
15570         here...
15571         * modules/readlinkat (configure.ac): ... to here.
15572
15573 2011-05-21  Bruno Haible  <bruno@clisp.org>
15574
15575         readlink: Move AC_LIBOBJ invocations to module description.
15576         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
15577         gl_PREREQ_READLINK invocations from here...
15578         * modules/readlink (configure.ac): ... to here.
15579
15580 2011-05-21  Bruno Haible  <bruno@clisp.org>
15581
15582         readline: Move AC_LIBOBJ invocations to module description.
15583         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
15584         gl_PREREQ_READLINE invocations from here...
15585         * modules/readline (configure.ac): ... to here.
15586
15587 2011-05-21  Bruno Haible  <bruno@clisp.org>
15588
15589         read: Move AC_LIBOBJ invocations to module description.
15590         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
15591         * modules/read (configure.ac): ... to here.
15592
15593 2011-05-21  Bruno Haible  <bruno@clisp.org>
15594
15595         rawmemchr: Move AC_LIBOBJ invocations to module description.
15596         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
15597         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
15598         from here...
15599         * modules/rawmemchr (configure.ac): ... to here.
15600
15601 2011-05-21  Bruno Haible  <bruno@clisp.org>
15602
15603         random_r: Move AC_LIBOBJ invocations to module description.
15604         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
15605         gl_PREREQ_RANDOM_R invocations from here...
15606         * modules/random_r (configure.ac): ... to here.
15607
15608 2011-05-21  Bruno Haible  <bruno@clisp.org>
15609
15610         pwrite: Move AC_LIBOBJ invocations to module description.
15611         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
15612         * modules/pwrite (configure.ac): ... to here.
15613
15614 2011-05-21  Bruno Haible  <bruno@clisp.org>
15615
15616         putenv: Move AC_LIBOBJ invocations to module description.
15617         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
15618         * modules/putenv (configure.ac): ... to here.
15619
15620 2011-05-21  Bruno Haible  <bruno@clisp.org>
15621
15622         login_tty: Move AC_LIBOBJ invocations to module description.
15623         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
15624         * modules/login_tty (configure.ac): ... to here.
15625
15626 2011-05-21  Bruno Haible  <bruno@clisp.org>
15627
15628         openpty: Move AC_LIBOBJ invocations to module description.
15629         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
15630         * modules/openpty (configure.ac): ... to here.
15631
15632 2011-05-21  Bruno Haible  <bruno@clisp.org>
15633
15634         forkpty: Move AC_LIBOBJ invocations to module description.
15635         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
15636         * modules/forkpty (configure.ac): ... to here.
15637
15638 2011-05-21  Bruno Haible  <bruno@clisp.org>
15639
15640         ptsname: Move AC_LIBOBJ invocations to module description.
15641         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
15642         invocations from here...
15643         * modules/ptsname (configure.ac): ... to here.
15644
15645 2011-05-21  Bruno Haible  <bruno@clisp.org>
15646
15647         pread: Move AC_LIBOBJ invocations to module description.
15648         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
15649         * modules/pread (configure.ac): ... to here.
15650
15651 2011-05-21  Bruno Haible  <bruno@clisp.org>
15652
15653         posix_spawn*: Move AC_LIBOBJ invocations to module description.
15654         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
15655         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
15656         * modules/posix_spawn (configure.ac): ... to here.
15657         * modules/posix_spawnp (configure.ac): ... and here.
15658
15659 2011-05-21  Bruno Haible  <bruno@clisp.org>
15660
15661         popen: Move AC_LIBOBJ invocations to module description.
15662         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
15663         invocations from here...
15664         * modules/popen (configure.ac): ... to here.
15665
15666 2011-05-21  Bruno Haible  <bruno@clisp.org>
15667
15668         poll: Move AC_LIBOBJ invocations to module description.
15669         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
15670         invocations from here...
15671         * modules/poll (configure.ac): ... to here.
15672
15673 2011-05-21  Bruno Haible  <bruno@clisp.org>
15674
15675         pipe-posix: Move AC_LIBOBJ invocations to module description.
15676         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
15677         * modules/pipe-posix (configure.ac): ... to here.
15678
15679 2011-05-21  Bruno Haible  <bruno@clisp.org>
15680
15681         openat: Respect rules for use of AC_LIBOBJ.
15682         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
15683         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15684         * modules/openat (configure.ac): ... to here.
15685
15686 2011-05-21  Bruno Haible  <bruno@clisp.org>
15687
15688         obstack-printf*: Move AC_LIBOBJ invocations to module description.
15689         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
15690         invocation from here...
15691         * modules/obstack-printf (configure.ac): ... to here.
15692         * modules/obstack-printf-posix (configure.ac): ... and here.
15693
15694 2011-05-21  Bruno Haible  <bruno@clisp.org>
15695
15696         nl_langinfo: Move AC_LIBOBJ invocations to module description.
15697         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
15698         from here...
15699         * modules/nl_langinfo (configure.ac): ... to here.
15700
15701 2011-05-21  Bruno Haible  <bruno@clisp.org>
15702
15703         nanosleep: Move AC_LIBOBJ invocations to module description.
15704         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
15705         gl_PREREQ_NANOSLEEP invocations from here...
15706         * modules/nanosleep (configure.ac): ... to here.
15707
15708 2011-05-21  Bruno Haible  <bruno@clisp.org>
15709
15710         mountlist: Move AC_LIBOBJ invocations to module description.
15711         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
15712         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
15713         * modules/mountlist (configure.ac): ... to here.
15714
15715 2011-05-21  Bruno Haible  <bruno@clisp.org>
15716
15717         mktime: Respect rules for use of AC_LIBOBJ.
15718         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
15719         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
15720         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
15721         (gl_FUNC_MKTIME_INTERNAL): ... and here...
15722         * modules/mktime (configure.ac): ... to here.
15723         * modules/mktime-internal (configure.ac): ... and here.
15724         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
15725
15726 2011-05-21  Bruno Haible  <bruno@clisp.org>
15727
15728         mkstemps: Move AC_LIBOBJ invocations to module description.
15729         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
15730         here...
15731         * modules/mkstemps (configure.ac): ... to here.
15732
15733 2011-05-21  Bruno Haible  <bruno@clisp.org>
15734
15735         mkstemp: Move AC_LIBOBJ invocations to module description.
15736         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
15737         gl_PREREQ_MKSTEMP invocations from here...
15738         * modules/mkstemp (configure.ac): ... to here.
15739
15740 2011-05-21  Bruno Haible  <bruno@clisp.org>
15741
15742         mkostemps: Move AC_LIBOBJ invocations to module description.
15743         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
15744         here...
15745         * modules/mkostemps (configure.ac): ... to here.
15746
15747 2011-05-21  Bruno Haible  <bruno@clisp.org>
15748
15749         mkostemp: Move AC_LIBOBJ invocations to module description.
15750         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
15751         gl_PREREQ_MKOSTEMP invocations from here...
15752         * modules/mkostemp (configure.ac): ... to here.
15753
15754 2011-05-21  Bruno Haible  <bruno@clisp.org>
15755
15756         mknod: Move AC_LIBOBJ invocations to module description.
15757         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
15758         * modules/mknod (configure.ac): ... to here.
15759
15760 2011-05-21  Bruno Haible  <bruno@clisp.org>
15761
15762         mkfifoat: Move AC_LIBOBJ invocations to module description.
15763         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
15764         here...
15765         * modules/mkfifoat (configure.ac): ... to here.
15766
15767 2011-05-21  Bruno Haible  <bruno@clisp.org>
15768
15769         mkfifo: Respect rules for use of AC_LIBOBJ.
15770         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
15771         here...
15772         * modules/mkfifo (configure.ac): ... to here.
15773
15774 2011-05-21  Bruno Haible  <bruno@clisp.org>
15775
15776         mkdtemp: Move AC_LIBOBJ invocations to module description.
15777         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
15778         invocations from here...
15779         * modules/mkdtemp (configure.ac): ... to here.
15780
15781 2011-05-21  Bruno Haible  <bruno@clisp.org>
15782
15783         mkdir: Move AC_LIBOBJ invocations to module description.
15784         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
15785         * modules/mkdir (configure.ac): ... to here.
15786
15787 2011-05-21  Bruno Haible  <bruno@clisp.org>
15788
15789         memset: Move AC_LIBOBJ invocations to module description.
15790         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
15791         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
15792         here...
15793         * modules/memset (configure.ac): ... to here.
15794
15795 2011-05-21  Bruno Haible  <bruno@clisp.org>
15796
15797         memrchr: Move AC_LIBOBJ invocations to module description.
15798         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
15799         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
15800         here...
15801         * modules/memrchr (configure.ac): ... to here.
15802
15803 2011-05-21  Bruno Haible  <bruno@clisp.org>
15804
15805         mempcpy: Move AC_LIBOBJ invocations to module description.
15806         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
15807         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
15808         here...
15809         * modules/mempcpy (configure.ac): ... to here.
15810
15811 2011-05-21  Bruno Haible  <bruno@clisp.org>
15812
15813         memmove: Move AC_LIBOBJ invocations to module description.
15814         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
15815         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
15816         here...
15817         * modules/memmove (configure.ac): ... to here.
15818
15819 2011-05-21  Bruno Haible  <bruno@clisp.org>
15820
15821         memmem*: Move AC_LIBOBJ invocations to module description.
15822         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
15823         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
15824         here...
15825         (gl_FUNC_MEMMEM): ... and here...
15826         * modules/memmem-simple (configure.ac): ... to here.
15827         * modules/memmem (configure.ac): ... and here.
15828
15829 2011-05-21  Bruno Haible  <bruno@clisp.org>
15830
15831         memcpy: Move AC_LIBOBJ invocations to module description.
15832         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
15833         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
15834         here...
15835         * modules/memcpy (configure.ac): ... to here.
15836
15837 2011-05-21  Bruno Haible  <bruno@clisp.org>
15838
15839         memcmp: Simplify autoconf macro.
15840         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
15841         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
15842         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
15843
15844 2011-05-21  Bruno Haible  <bruno@clisp.org>
15845
15846         memcmp: Move AC_LIBOBJ invocations to module description.
15847         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
15848         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
15849         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
15850         * modules/memcmp (configure.ac): ... to here.
15851         (Depends-on): Update conditions.
15852
15853 2011-05-21  Bruno Haible  <bruno@clisp.org>
15854
15855         memchr: Respect rules for use of AC_LIBOBJ.
15856         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
15857         invocations from here...
15858         * modules/memchr (configure.ac): ... to here.
15859
15860 2011-05-21  Bruno Haible  <bruno@clisp.org>
15861
15862         mbtowc: Move AC_LIBOBJ invocations to module description.
15863         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
15864         invocations from here...
15865         * modules/mbtowc (configure.ac): ... to here.
15866
15867 2011-05-21  Bruno Haible  <bruno@clisp.org>
15868
15869         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
15870         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
15871         gl_PREREQ_MBSRTOWCS invocations from here...
15872         * modules/mbsrtowcs (configure.ac): ... to here.
15873
15874 2011-05-21  Bruno Haible  <bruno@clisp.org>
15875
15876         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
15877         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
15878         gl_PREREQ_MBSNRTOWCS invocations from here...
15879         * modules/mbsnrtowcs (configure.ac): ... to here.
15880
15881 2011-05-21  Bruno Haible  <bruno@clisp.org>
15882
15883         mbsinit: Move AC_LIBOBJ invocations to module description.
15884         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
15885         invocations from here...
15886         * modules/mbsinit (configure.ac): ... to here.
15887
15888 2011-05-21  Bruno Haible  <bruno@clisp.org>
15889
15890         mbrlen: Move AC_LIBOBJ invocations to module description.
15891         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
15892         invocations from here...
15893         * modules/mbrlen (configure.ac): ... to here.
15894
15895 2011-05-21  Bruno Haible  <bruno@clisp.org>
15896
15897         mbrtowc: Respect rules for use of AC_LIBOBJ.
15898         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
15899         invocations from here...
15900         * modules/mbrtowc (configure.ac): ... to here.
15901
15902 2011-05-21  Bruno Haible  <bruno@clisp.org>
15903
15904         malloc-*: Move AC_LIBOBJ invocations to module description.
15905         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
15906         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
15907         AC_LIBOBJ invocations from here...
15908         * modules/malloc-gnu (configure.ac): ... to here.
15909         * modules/malloc-posix (configure.ac): ... and here.
15910
15911 2011-05-21  Bruno Haible  <bruno@clisp.org>
15912
15913         lstat, openat: Respect rules for use of AC_LIBOBJ.
15914         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
15915         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
15916         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
15917         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
15918         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
15919         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
15920         here.
15921         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
15922
15923 2011-05-21  Bruno Haible  <bruno@clisp.org>
15924
15925         lseek: Move AC_LIBOBJ invocations to module description.
15926         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
15927         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
15928         * modules/lseek (configure.ac): ... to here.
15929
15930 2011-05-21  Bruno Haible  <bruno@clisp.org>
15931
15932         linkat: Move AC_LIBOBJ invocations to module description.
15933         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
15934         here...
15935         * modules/linkat (configure.ac): ... to here.
15936
15937 2011-05-21  Bruno Haible  <bruno@clisp.org>
15938
15939         link: Respect rules for use of AC_LIBOBJ.
15940         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
15941         * modules/link (configure.ac): ... to here.
15942
15943 2011-05-21  Bruno Haible  <bruno@clisp.org>
15944
15945         lchown: Move AC_LIBOBJ invocations to module description.
15946         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
15947         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
15948         * modules/lchown (configure.ac): ... to here.
15949
15950 2011-05-21  Bruno Haible  <bruno@clisp.org>
15951
15952         iswctype: Move AC_LIBOBJ invocations to module description.
15953         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
15954         here...
15955         * modules/iswctype (configure.ac): ... to here.
15956
15957 2011-05-21  Bruno Haible  <bruno@clisp.org>
15958
15959         iswblank: Move AC_LIBOBJ invocations to module description.
15960         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
15961         here...
15962         * modules/iswblank (configure.ac): ... to here.
15963
15964 2011-05-21  Bruno Haible  <bruno@clisp.org>
15965
15966         atanl: Move AC_LIBOBJ invocations to module description.
15967         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
15968         * modules/atanl (configure.ac): ... to here.
15969
15970 2011-05-21  Bruno Haible  <bruno@clisp.org>
15971
15972         acosl: Move AC_LIBOBJ invocations to module description.
15973         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
15974         * modules/acosl (configure.ac): ... to here.
15975
15976 2011-05-21  Bruno Haible  <bruno@clisp.org>
15977
15978         asinl: Respect rules for use of AC_LIBOBJ.
15979         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
15980         * modules/asinl (configure.ac): ... to here.
15981
15982 2011-05-21  Bruno Haible  <bruno@clisp.org>
15983
15984         tanl: Move AC_LIBOBJ invocations to module description.
15985         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
15986         * modules/tanl (configure.ac): ... to here.
15987
15988 2011-05-21  Bruno Haible  <bruno@clisp.org>
15989
15990         cosl: Move AC_LIBOBJ invocations to module description.
15991         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
15992         * modules/cosl (configure.ac): ... to here.
15993
15994 2011-05-21  Bruno Haible  <bruno@clisp.org>
15995
15996         sinl: Move AC_LIBOBJ invocations to module description.
15997         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
15998         * modules/sinl (configure.ac): ... to here.
15999
16000 2011-05-21  Bruno Haible  <bruno@clisp.org>
16001
16002         logl: Move AC_LIBOBJ invocations to module description.
16003         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
16004         * modules/logl (configure.ac): ... to here.
16005
16006 2011-05-21  Bruno Haible  <bruno@clisp.org>
16007
16008         expl: Move AC_LIBOBJ invocations to module description.
16009         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
16010         * modules/expl (configure.ac): ... to here.
16011
16012 2011-05-21  Bruno Haible  <bruno@clisp.org>
16013
16014         roundl: Move AC_LIBOBJ invocations to module description.
16015         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
16016         * modules/roundl (configure.ac): ... to here.
16017
16018 2011-05-21  Bruno Haible  <bruno@clisp.org>
16019
16020         round: Move AC_LIBOBJ invocations to module description.
16021         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
16022         * modules/round (configure.ac): ... to here.
16023
16024 2011-05-21  Bruno Haible  <bruno@clisp.org>
16025
16026         roundf: Move AC_LIBOBJ invocations to module description.
16027         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
16028         * modules/roundf (configure.ac): ... to here.
16029
16030 2011-05-21  Bruno Haible  <bruno@clisp.org>
16031
16032         truncl: Move AC_LIBOBJ invocations to module description.
16033         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
16034         * modules/truncl (configure.ac): ... to here.
16035
16036 2011-05-21  Bruno Haible  <bruno@clisp.org>
16037
16038         trunc: Move AC_LIBOBJ invocations to module description.
16039         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
16040         * modules/trunc (configure.ac): ... to here.
16041
16042 2011-05-21  Bruno Haible  <bruno@clisp.org>
16043
16044         truncf: Move AC_LIBOBJ invocations to module description.
16045         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
16046         * modules/truncf (configure.ac): ... to here.
16047
16048 2011-05-21  Bruno Haible  <bruno@clisp.org>
16049
16050         ceill: Move AC_LIBOBJ invocations to module description.
16051         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
16052         * modules/ceill (configure.ac): ... to here.
16053
16054 2011-05-21  Bruno Haible  <bruno@clisp.org>
16055
16056         ceil: Move AC_LIBOBJ invocations to module description.
16057         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
16058         * modules/ceil (configure.ac): ... to here.
16059
16060 2011-05-21  Bruno Haible  <bruno@clisp.org>
16061
16062         ceilf: Move AC_LIBOBJ invocations to module description.
16063         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
16064         * modules/ceilf (configure.ac): ... to here.
16065
16066 2011-05-21  Bruno Haible  <bruno@clisp.org>
16067
16068         floorl: Respect rules for use of AC_LIBOBJ.
16069         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
16070         * modules/floorl (configure.ac): ... to here.
16071
16072 2011-05-21  Bruno Haible  <bruno@clisp.org>
16073
16074         floor: Respect rules for use of AC_LIBOBJ.
16075         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
16076         * modules/floor (configure.ac): ... to here.
16077
16078 2011-05-21  Bruno Haible  <bruno@clisp.org>
16079
16080         floorf: Move AC_LIBOBJ invocations to module description.
16081         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
16082         * modules/floorf (configure.ac): ... to here.
16083
16084 2011-05-20  Bruno Haible  <bruno@clisp.org>
16085
16086         sqrtl: Respect rules for use of AC_LIBOBJ.
16087         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
16088         * modules/sqrtl (configure.ac): ... to here.
16089
16090 2011-05-20  Bruno Haible  <bruno@clisp.org>
16091
16092         ldexpl: Respect rules for use of AC_LIBOBJ.
16093         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
16094         * modules/ldexpl (configure.ac): ... to here.
16095
16096 2011-05-20  Bruno Haible  <bruno@clisp.org>
16097
16098         frexpl*: Respect rules for use of AC_LIBOBJ.
16099         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
16100         invocation from here...
16101         * modules/frexpl (configure.ac): ... to here.
16102         * modules/frexpl-nolibm (configure.ac): ... and here.
16103
16104 2011-05-20  Bruno Haible  <bruno@clisp.org>
16105
16106         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
16107         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
16108         invocation from here...
16109         * modules/frexp (configure.ac): ... to here.
16110         * modules/frexp-nolibm (configure.ac): ... and here.
16111
16112 2011-05-20  Bruno Haible  <bruno@clisp.org>
16113
16114         isnan: Respect rules for use of AC_LIBOBJ.
16115         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
16116         invocations here.
16117         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
16118         REPLACE_ISNAN.
16119         * modules/isnand (configure.ac): Likewise.
16120         * modules/isnanl (configure.ac): Likewise.
16121
16122 2011-05-20  Bruno Haible  <bruno@clisp.org>
16123
16124         isnanl*: Respect rules for use of AC_LIBOBJ.
16125         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
16126         invocation from here...
16127         * modules/isnanl (configure.ac): ... to here.
16128         * modules/isnanl-nolibm (configure.ac): ... and here.
16129
16130 2011-05-20  Bruno Haible  <bruno@clisp.org>
16131
16132         isnand*: Move AC_LIBOBJ invocations to module description.
16133         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
16134         invocation from here...
16135         * modules/isnand (configure.ac): ... to here.
16136         * modules/isnand-nolibm (configure.ac): ... and here.
16137
16138 2011-05-20  Bruno Haible  <bruno@clisp.org>
16139
16140         isnanf*: Move AC_LIBOBJ invocations to module description.
16141         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
16142         invocation from here...
16143         * modules/isnanf (configure.ac): ... to here.
16144         * modules/isnanf-nolibm (configure.ac): ... and here.
16145
16146 2011-05-20  Bruno Haible  <bruno@clisp.org>
16147
16148         isnan*: Separate the AC_LIBOBJ invocations.
16149         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
16150         AC_LIBOBJ invocation.
16151         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
16152         here.
16153         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
16154         AC_LIBOBJ invocation.
16155         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
16156         here.
16157         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
16158         AC_LIBOBJ invocation.
16159         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
16160         here.
16161         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
16162
16163 2011-05-08  Bruno Haible  <bruno@clisp.org>
16164
16165         isinf: Move AC_LIBOBJ invocations to module description.
16166         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
16167         * modules/isinf (configure.ac): ... to here.
16168
16169 2011-05-08  Bruno Haible  <bruno@clisp.org>
16170
16171         isfinite: Move AC_LIBOBJ invocations to module description.
16172         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
16173         * modules/isfinite (configure.ac): ... to here.
16174
16175 2011-05-08  Bruno Haible  <bruno@clisp.org>
16176
16177         isblank: Move AC_LIBOBJ invocations to module description.
16178         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
16179         here...
16180         * modules/isblank (configure.ac): ... to here.
16181
16182 2011-05-08  Bruno Haible  <bruno@clisp.org>
16183
16184         isapipe: Move AC_LIBOBJ invocations to module description.
16185         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
16186         gl_PREREQ_ISAPIPE invocations from here...
16187         * modules/isapipe (configure.ac): ... to here.
16188         (Depends-on): Update condition.
16189
16190 2011-05-08  Bruno Haible  <bruno@clisp.org>
16191
16192         ioctl: Move AC_LIBOBJ invocations to module description.
16193         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
16194         invocations from here...
16195         * modules/ioctl (configure.ac): ... to here.
16196         (Depends-on): Update condition.
16197
16198 2011-05-08  Bruno Haible  <bruno@clisp.org>
16199
16200         imaxdiv: Move AC_LIBOBJ invocations to module description.
16201         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
16202         invocations from here...
16203         * modules/imaxdiv (configure.ac): ... to here.
16204
16205 2011-05-08  Bruno Haible  <bruno@clisp.org>
16206
16207         imaxabs: Move AC_LIBOBJ invocations to module description.
16208         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
16209         invocations from here...
16210         * modules/imaxabs (configure.ac): ... to here.
16211
16212 2011-05-08  Bruno Haible  <bruno@clisp.org>
16213
16214         getaddrinfo: Move AC_LIBOBJ invocations to module description.
16215         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
16216         AC_LIBOBJ invocations from here...
16217         * modules/getaddrinfo (configure.ac): ... to here.
16218         (Depends-on): Add conditions.
16219
16220 2011-05-08  Bruno Haible  <bruno@clisp.org>
16221
16222         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16223         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
16224         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16225         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
16226         (gl_PREREQ_INET_PTON): ... from here.
16227         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
16228         gl_PREREQ_INET_PTON here.
16229         (Depends-on): Update condition.
16230
16231 2011-05-08  Bruno Haible  <bruno@clisp.org>
16232
16233         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
16234         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
16235         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
16236         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
16237         (gl_PREREQ_INET_NTOP): ... from here.
16238         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
16239         gl_PREREQ_INET_NTOP here.
16240         (Depends-on): Update condition.
16241
16242 2011-05-08  Bruno Haible  <bruno@clisp.org>
16243
16244         iconv_open: Move AC_LIBOBJ invocations to module description.
16245         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
16246         AC_LIBOBJ invocations from here...
16247         * modules/iconv_open (configure.ac): ... to here.
16248
16249 2011-05-08  Bruno Haible  <bruno@clisp.org>
16250
16251         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
16252         If module 'iconv_open' is among the main modules and module
16253         'iconv_open-utf' is among the tests dependencies, then
16254         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
16255         return the special iconv_t values. Therefore iconv() and iconv_close()
16256         must support these special iconv_t values, already in lib, not only in
16257         tests.
16258         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
16259         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
16260         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
16261         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
16262         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
16263         (Depends-on): Add the dependencies of iconv_open-utf.
16264         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
16265         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
16266         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
16267
16268 2011-05-08  Bruno Haible  <bruno@clisp.org>
16269
16270         group-member: Move AC_LIBOBJ invocations to module description.
16271         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
16272         gl_PREREQ_GROUP_MEMBER invocations from here...
16273         * modules/group-member (configure.ac): ... to here.
16274
16275 2011-05-08  Bruno Haible  <bruno@clisp.org>
16276
16277         grantpt: Move AC_LIBOBJ invocations to module description.
16278         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
16279         invocations from here...
16280         * modules/grantpt (configure.ac): ... to here.
16281
16282 2011-05-08  Bruno Haible  <bruno@clisp.org>
16283
16284         glob: Move AC_LIBOBJ invocations to module description.
16285         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
16286         from here...
16287         * modules/glob (configure.ac): ... to here.
16288
16289 2011-05-08  Bruno Haible  <bruno@clisp.org>
16290
16291         getusershell: Move AC_LIBOBJ invocations to module description.
16292         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
16293         Move AC_LIBOBJ invocation from here...
16294         * modules/getusershell (configure.ac): ... to here.
16295         (Depends-on): Update condition.
16296
16297 2011-05-08  Bruno Haible  <bruno@clisp.org>
16298
16299         gettimeofday: Move AC_LIBOBJ invocations to module description.
16300         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
16301         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
16302         gl_PREREQ_GETTIMEOFDAY invocations from here...
16303         * modules/gettimeofday (configure.ac): ... to here.
16304
16305 2011-05-08  Bruno Haible  <bruno@clisp.org>
16306
16307         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
16308         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
16309         just gl_FUNC_TZSET.
16310         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
16311         (gl_FUNC_TZSET_CLOBBER): Remove actions.
16312         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
16313         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
16314
16315 2011-05-08  Bruno Haible  <bruno@clisp.org>
16316
16317         getsubopt: Move AC_LIBOBJ invocations to module description.
16318         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
16319         gl_PREREQ_GETSUBOPT invocations from here...
16320         * modules/getsubopt (configure.ac): ... to here.
16321
16322 2011-05-08  Bruno Haible  <bruno@clisp.org>
16323
16324         getpass-gnu: Move AC_LIBOBJ invocations to module description.
16325         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
16326         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
16327         * modules/getpass-gnu (configure.ac): ... to here.
16328
16329 2011-05-08  Bruno Haible  <bruno@clisp.org>
16330
16331         getpass: Move AC_LIBOBJ invocations to module description.
16332         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
16333         gl_PREREQ_GETPASS invocations from here...
16334         * modules/getpass (configure.ac): ... to here.
16335
16336 2011-05-08  Bruno Haible  <bruno@clisp.org>
16337
16338         getpagesize: Move AC_LIBOBJ invocations to module description.
16339         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
16340         from here...
16341         * modules/getpagesize (configure.ac): ... to here.
16342
16343 2011-05-08  Bruno Haible  <bruno@clisp.org>
16344
16345         getopt: Move AC_LIBOBJ invocations to module description.
16346         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
16347         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
16348         invocations from here...
16349         * modules/getopt-gnu (configure.ac): ... to here.
16350         * modules/getopt-posix (configure.ac): ... and here.
16351         (Depends-on): Update condition.
16352
16353 2011-05-08  Bruno Haible  <bruno@clisp.org>
16354
16355         getopt, argp: Respect rules for use of AC_LIBOBJ.
16356         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
16357         (gl_REPLACE_GETOPT_ALWAYS): New macro.
16358         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
16359         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
16360
16361 2011-05-08  Bruno Haible  <bruno@clisp.org>
16362
16363         getlogin_r: Move AC_LIBOBJ invocations to module description.
16364         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
16365         gl_PREREQ_GETLOGIN_R invocations from here...
16366         * modules/getlogin_r (configure.ac): ... to here.
16367
16368 2011-05-08  Bruno Haible  <bruno@clisp.org>
16369
16370         getlogin: Move AC_LIBOBJ invocations to module description.
16371         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
16372         here...
16373         * modules/getlogin (configure.ac): ... to here.
16374
16375 2011-05-08  Bruno Haible  <bruno@clisp.org>
16376
16377         getloadavg: Move AC_LIBOBJ invocations to module description.
16378         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
16379         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
16380         * modules/getloadavg (configure.ac): ... to here.
16381
16382 2011-05-08  Bruno Haible  <bruno@clisp.org>
16383
16384         gethrxtime: Move AC_LIBOBJ invocations to module description.
16385         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
16386         LIB_GETHRXTIME from here...
16387         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
16388         invocations from here...
16389         * modules/gethrxtime (configure.ac): ... to here.
16390
16391 2011-05-08  Bruno Haible  <bruno@clisp.org>
16392
16393         gethostname: Move AC_LIBOBJ invocations to module description.
16394         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
16395         gl_PREREQ_GETHOSTNAME invocations from here...
16396         * modules/gethostname (configure.ac): ... to here.
16397
16398 2011-05-08  Bruno Haible  <bruno@clisp.org>
16399
16400         getgroups: Move AC_LIBOBJ invocations to module description.
16401         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
16402         here...
16403         * modules/getgroups (configure.ac): ... to here.
16404
16405 2011-05-08  Bruno Haible  <bruno@clisp.org>
16406
16407         getdtablesize: Move AC_LIBOBJ invocations to module description.
16408         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
16409         invocation from here...
16410         * modules/getdtablesize (configure.ac): ... to here.
16411
16412 2011-05-08  Bruno Haible  <bruno@clisp.org>
16413
16414         getdomainname: Move AC_LIBOBJ invocations to module description.
16415         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
16416         gl_PREREQ_GETDOMAINNAME invocations from here...
16417         * modules/getdomainname (configure.ac): ... to here.
16418
16419 2011-05-08  Bruno Haible  <bruno@clisp.org>
16420
16421         getline: Move AC_LIBOBJ invocations to module description.
16422         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
16423         invocations from here...
16424         * modules/getline (configure.ac): ... to here.
16425
16426 2011-05-08  Bruno Haible  <bruno@clisp.org>
16427
16428         getline: Simplify.
16429         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
16430         It's already handled through the module dependency.
16431
16432 2011-05-08  Bruno Haible  <bruno@clisp.org>
16433
16434         getdelim: Move AC_LIBOBJ invocations to module description.
16435         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
16436         and gl_PREREQ_GETDELIM invocations from here...
16437         * modules/getdelim (configure.ac): ... to here.
16438         (Depends-on): Fix condition.
16439
16440 2011-05-08  Bruno Haible  <bruno@clisp.org>
16441
16442         getcwd: Move AC_LIBOBJ invocations to module description.
16443         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
16444         invocations from here...
16445         * modules/getcwd (configure.ac): ... to here.
16446
16447 2011-05-08  Bruno Haible  <bruno@clisp.org>
16448
16449         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
16450         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
16451         here...
16452         * modules/getcwd-lgpl (configure.ac): ... to here.
16453
16454 2011-05-07  Bruno Haible  <bruno@clisp.org>
16455
16456         crypto/gc: Move AC_LIBOBJ invocations to module description.
16457         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
16458         * modules/crypto/gc (configure.ac): ... to here.
16459
16460 2011-05-07  Bruno Haible  <bruno@clisp.org>
16461
16462         fwriting: Move AC_LIBOBJ invocations to module description.
16463         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
16464         here...
16465         * modules/fwriting (configure.ac): ... to here.
16466
16467 2011-05-07  Bruno Haible  <bruno@clisp.org>
16468
16469         fwritable: Move AC_LIBOBJ invocations to module description.
16470         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
16471         here...
16472         * modules/fwritable (configure.ac): ... to here.
16473
16474 2011-05-07  Bruno Haible  <bruno@clisp.org>
16475
16476         futimens: Move AC_LIBOBJ invocations to module description.
16477         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
16478         here...
16479         * modules/futimens (configure.ac): ... to here.
16480
16481 2011-05-07  Bruno Haible  <bruno@clisp.org>
16482
16483         ftruncate: Move AC_LIBOBJ invocations to module description.
16484         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
16485         gl_PREREQ_FTRUNCATE invocations from here...
16486         * modules/ftruncate (configure.ac): ... to here.
16487
16488 2011-05-07  Bruno Haible  <bruno@clisp.org>
16489
16490         fsync: Move AC_LIBOBJ invocations to module description.
16491         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
16492         invocations from here...
16493         * modules/fsync (configure.ac): ... to here.
16494
16495 2011-05-07  Bruno Haible  <bruno@clisp.org>
16496
16497         fsusage: Move AC_LIBOBJ invocations to module description.
16498         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
16499         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
16500         * modules/fsusage (configure.ac): ... to here.
16501
16502 2011-05-07  Bruno Haible  <bruno@clisp.org>
16503
16504         freopen: Move AC_LIBOBJ invocations to module description.
16505         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
16506         invocations from here...
16507         * modules/freopen (configure.ac): ... to here.
16508
16509 2011-05-07  Bruno Haible  <bruno@clisp.org>
16510
16511         free: Move AC_LIBOBJ invocations to module description.
16512         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
16513         invocations from here...
16514         * modules/free (configure.ac): ... to here.
16515
16516 2011-05-07  Bruno Haible  <bruno@clisp.org>
16517
16518         freadable: Move AC_LIBOBJ invocations to module description.
16519         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
16520         here...
16521         * modules/freadable (configure.ac): ... to here.
16522
16523 2011-05-07  Bruno Haible  <bruno@clisp.org>
16524
16525         fpurge: Move AC_LIBOBJ invocations to module description.
16526         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
16527         invocations from here...
16528         * modules/fpurge (configure.ac): ... to here.
16529
16530 2011-05-07  Bruno Haible  <bruno@clisp.org>
16531
16532         fpending: Move AC_LIBOBJ invocations to module description.
16533         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
16534         gl_FUNC_FPENDING.
16535         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
16536         invocations from here...
16537         * modules/fpending (configure.ac): ... to here.
16538
16539 2011-05-07  Bruno Haible  <bruno@clisp.org>
16540
16541         fopen: Move AC_LIBOBJ invocations to module description.
16542         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
16543         invocations from here...
16544         * modules/fopen (configure.ac): ... to here.
16545
16546 2011-05-07  Bruno Haible  <bruno@clisp.org>
16547
16548         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
16549         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
16550         gl_FUNC_FNMATCH_POSIX.
16551         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
16552         invocations from here...
16553         * modules/fnmatch (configure.ac): ... to here.
16554         * modules/fnmatch-gnu (configure.ac): ... and here.
16555
16556 2011-05-07  Bruno Haible  <bruno@clisp.org>
16557
16558         flock: Move AC_LIBOBJ invocations to module description.
16559         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
16560         invocations from here...
16561         * modules/flock (configure.ac): ... to here.
16562
16563 2011-05-07  Bruno Haible  <bruno@clisp.org>
16564
16565         fileblocks: Move AC_LIBOBJ invocations to module description.
16566         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
16567         gl_PREREQ_FILEBLOCKS invocations from here...
16568         * modules/fileblocks (configure.ac): ... to here.
16569
16570 2011-05-06  Bruno Haible  <bruno@clisp.org>
16571
16572         fflush: Move AC_LIBOBJ invocations to module description.
16573         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
16574         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
16575         invocations from here...
16576         * modules/fflush (configure.ac): ... to here.
16577
16578 2011-05-06  Bruno Haible  <bruno@clisp.org>
16579
16580         fdopendir: Move AC_LIBOBJ invocations to module description.
16581         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
16582         here...
16583         * modules/fdopendir (configure.ac): ... to here.
16584         (Depends-on): Improve conditions.
16585
16586 2011-05-06  Bruno Haible  <bruno@clisp.org>
16587
16588         _Exit: Move AC_LIBOBJ invocations to module description.
16589         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
16590         invocations from here...
16591         * modules/_Exit (configure.ac): ... to here.
16592
16593 2011-05-21  Bruno Haible  <bruno@clisp.org>
16594
16595         euidaccess: Respect rules for use of AC_LIBOBJ.
16596         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
16597         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
16598         from here...
16599         * modules/euidaccess (configure.ac): ... to here.
16600
16601 2011-05-06  Bruno Haible  <bruno@clisp.org>
16602
16603         error: Move AC_LIBOBJ invocations to module description.
16604         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
16605         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
16606         invocations from here...
16607         * modules/error (configure.ac): ... to here.
16608
16609 2011-05-06  Bruno Haible  <bruno@clisp.org>
16610
16611         duplocale: Move AC_LIBOBJ invocations to module description.
16612         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
16613         gl_PREREQ_DUPLOCALE invocations from here...
16614         * modules/duplocale (configure.ac): ... to here.
16615
16616 2011-05-05  Bruno Haible  <bruno@clisp.org>
16617
16618         dirfd: Move AC_LIBOBJ invocations to module description.
16619         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
16620         gl_FUNC_DIRFD.
16621         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
16622         here...
16623         * modules/dirfd (configure.ac): ... to here.
16624         (Depends-on): Fix condition.
16625
16626 2011-05-05  Bruno Haible  <bruno@clisp.org>
16627
16628         chown: Respect rules for use of AC_LIBOBJ.
16629         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
16630         * modules/chown (configure.ac): ... to here.
16631
16632 2011-05-05  Bruno Haible  <bruno@clisp.org>
16633
16634         chdir-long: Move AC_LIBOBJ invocations to module description.
16635         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
16636         gl_PREREQ_CHDIR_LONG invocations from here...
16637         * modules/chdir-long (configure.ac): ... to here.
16638
16639 2011-05-05  Bruno Haible  <bruno@clisp.org>
16640
16641         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
16642         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
16643         from here...
16644         * modules/canonicalize-lgpl (configure.ac): ... to here.
16645
16646 2011-05-05  Bruno Haible  <bruno@clisp.org>
16647
16648         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
16649         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
16650         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
16651         REPLACE_CALLOC.
16652         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
16653         * modules/calloc-gnu (configure.ac): Likewise.
16654
16655 2011-05-05  Bruno Haible  <bruno@clisp.org>
16656
16657         btowc: Move AC_LIBOBJ invocations to module description.
16658         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
16659         invocations from here...
16660         * modules/btowc (configure.ac): ... to here.
16661
16662 2011-05-21  Bruno Haible  <bruno@clisp.org>
16663
16664         atexit: Move AC_LIBOBJ invocations to module description.
16665         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
16666         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
16667         here...
16668         * modules/atexit (configure.ac): ... to here.
16669
16670 2011-05-05  Bruno Haible  <bruno@clisp.org>
16671
16672         atoll: Move AC_LIBOBJ invocations to module description.
16673         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
16674         invocations from here...
16675         * modules/atoll (configure.ac): ... to here.
16676
16677 2011-05-05  Bruno Haible  <bruno@clisp.org>
16678
16679         argz: Move AC_LIBOBJ invocations to module description.
16680         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
16681         * modules/argz (configure.ac): ... to here.
16682
16683 2011-05-05  Bruno Haible  <bruno@clisp.org>
16684
16685         alphasort: Move AC_LIBOBJ invocations to module description.
16686         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
16687         gl_PREREQ_ALPHASORT invocations from here...
16688         * modules/alphasort (configure.ac): ... to here.
16689
16690 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16691
16692         verify: new macro verify_expr; verify_true deprecated
16693         * NEWS: Mention this.
16694         * doc/verify.texi (Compile-time Assertions): Document this.
16695         * lib/verify.h (verify_true): Deprecate.
16696         (verify_expr): New macro.
16697         * tests/test-verify.c (function): Test verify_expr.
16698
16699 2011-06-14  Jim Meyering  <meyering@redhat.com>
16700
16701         init.sh: give more portable redirection-related advice in a comment
16702         * tests/init.sh (stderr_fileno_): Update the advice in comments.
16703         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
16704         for lots of discussion.  Stefano Lattarini suggested the solution
16705         of putting "9>&2" after the command.  Reported by Bruno Haible.
16706
16707 2011-06-13  Bruno Haible  <bruno@clisp.org>
16708
16709         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
16710         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
16711         'none'.
16712
16713 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
16714
16715         ftoastr: use strtof only if HAVE_STRTOF
16716         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
16717         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
16718         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
16719         * modules/ftoastr (configure.ac): Check for strtof.
16720
16721 2011-06-13  Bruno Haible  <bruno@clisp.org>
16722
16723         gnulib-tool: Addendum to 2011-06-08 commit.
16724         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
16725         and --witness-c-macro have been given, augment AM_CPPFLAGS.
16726
16727 2011-06-13  Bruno Haible  <bruno@clisp.org>
16728
16729         fseeko: Provide a non-inline replacement of fseek().
16730         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
16731         * modules/fseeko (Depends-on): Add fseek.
16732         * modules/fseek (License): Change to LGPLv2+.
16733
16734 2011-06-13  Bruno Haible  <bruno@clisp.org>
16735
16736         ftello: Provide a non-inline replacement of ftell().
16737         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
16738         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
16739         not have ftello() (such as on mingw).
16740         * modules/ftello (Depends-on): Add ftell.
16741         * modules/ftell (License): Change to LGPLv2+.
16742
16743 2011-05-07  Bruno Haible  <bruno@clisp.org>
16744
16745         ftell: Move AC_LIBOBJ invocations to module description.
16746         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
16747         * modules/ftell (configure.ac): ... to here.
16748
16749 2011-05-07  Bruno Haible  <bruno@clisp.org>
16750
16751         ftello: Respect rules for use of AC_LIBOBJ.
16752         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
16753         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
16754         here...
16755         * modules/ftello (configure.ac): ... to here.
16756
16757 2011-05-07  Bruno Haible  <bruno@clisp.org>
16758
16759         fseeko: Simplify.
16760         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
16761         (gl_FUNC_FSEEKO): Inline it here.
16762
16763 2011-05-07  Bruno Haible  <bruno@clisp.org>
16764
16765         fseek: Move AC_LIBOBJ invocations to module description.
16766         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
16767         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
16768         * modules/fseek (configure.ac): ... to here.
16769
16770 2011-05-07  Bruno Haible  <bruno@clisp.org>
16771
16772         fseek: Respect rules for use of AC_LIBOBJ.
16773         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
16774         here...
16775         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
16776
16777 2011-05-07  Bruno Haible  <bruno@clisp.org>
16778
16779         fseeko: Respect rules for use of AC_LIBOBJ.
16780         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
16781         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
16782         here...
16783         * modules/fseeko (configure.ac): ... to here.
16784
16785 2011-06-13  Bruno Haible  <bruno@clisp.org>
16786
16787         gnulib-tool: Allow comments in the 'Depends-on' section.
16788         * doc/gnulib.texi (Module description): Mention comment syntax in the
16789         Depends-on section.
16790         * gnulib-tool (func_get_dependencies): Filter out comment lines.
16791
16792 2011-06-13  Bruno Haible  <bruno@clisp.org>
16793
16794         file-set.h: guard __attibute__ use, now that it's not always defined
16795         * lib/file-set.h (record_file): Use __attribute__ only with compiler
16796         versions that support it.  This fixes a coreutils build failure with
16797         the vendor cc on HP-UX 11.31.
16798
16799 2011-06-12  Bruno Haible  <bruno@clisp.org>
16800
16801         acl: Add support for HP-UX >= 11.11 JFS ACLs.
16802         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
16803         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
16804         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
16805         (acl, aclsort): New declarations.
16806         (aclv_nontrivial): New declaration.
16807         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
16808         (file_has_acl): Read also the second kind of HP-UX ACLs.
16809         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
16810         kind of HP-UX ACLs if the first kind fails.
16811         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
16812         second kind of HP-UX ACLs.
16813         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
16814         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
16815         agree.
16816         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16817         hpuxjfs.
16818         Handle hpuxjfs.
16819         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
16820         hpuxjfs.
16821         Handle hpuxjfs.
16822         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16823         (func_test_same_acls): Use both lsacl and getacl.
16824         Handle hpuxjfs.
16825         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
16826         (func_test_same_acls): Use both lsacl and getacl.
16827         Handle hpuxjfs.
16828
16829 2011-06-12  Bruno Haible  <bruno@clisp.org>
16830
16831         acl: Complete the 2010-08-10 fix.
16832         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
16833         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
16834         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
16835         explicitly.
16836         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
16837         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
16838
16839 2011-06-12  Bruno Haible  <bruno@clisp.org>
16840
16841         spawn-pipe tests: Comments.
16842         * tests/test-spawn-pipe-child.c (main): Update comment.
16843         Reported by James Youngman <jay@gnu.org>.
16844
16845 2011-06-11  James Youngman  <jay@gnu.org>
16846
16847         New module 'stat-size'.
16848         * modules/stat-size: New module.  Provides macros for accessing
16849         file size information in instances of struct stat.  Depends on the
16850         fileblocks module because it calls st_blocks.
16851         * lib/stat-size.h: New file, adapted from coreutils' system.h.
16852         * doc/gnulib.texi: Include stat-size.texi.
16853         * doc/stat-size.texi: Documentation for this module.
16854         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
16855         * m4/fileblocks.m4: Mention that stat-size depends on the call to
16856         AC_STRUCT_ST_BLOCKS.
16857
16858 2011-06-09  Bruno Haible  <bruno@clisp.org>
16859
16860         thread: Support pthreads-win32.
16861         * lib/glthread/thread.h (gl_thread_self): Define differently on
16862         pthreads-win32.
16863         (gl_null_thread): New declaration.
16864         (gl_thread_self_pointer): New macro.
16865         * lib/glthread/thread.c (gl_null_thread): New constant.
16866         * tests/test-lock.c: Use gl_thread_self_pointer instead of
16867         gl_thread_self.
16868         * tests/test-tls.c: Likewise.
16869         Suggested by Paul Eggert. Reported by Eric Blake.
16870
16871 2011-06-09  Bruno Haible  <bruno@clisp.org>
16872
16873         thread: Fix confusion between NULL and 0.
16874         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
16875         Reported by Paul Eggert.
16876
16877 2011-06-09  Bruno Haible  <bruno@clisp.org>
16878
16879         spawn-pipe tests: Avoid test failure on HP-UX 11.
16880         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
16881         is closed.
16882
16883 2011-06-09  Bruno Haible  <bruno@clisp.org>
16884
16885         acl tests: Fix compilation error on HP-UX 11.
16886         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
16887
16888 2011-06-09  Bruno Haible  <bruno@clisp.org>
16889
16890         rmdir: Avoid test failure on HP-UX 10.20.
16891         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
16892         EEXIST.
16893
16894 2011-06-08  Eric Blake  <eblake@redhat.com>
16895
16896         perror: fix test on mingw
16897         * modules/perror-tests (Depends-on): Add dup2.
16898
16899         strerror_r-posix: fix on MacOS
16900         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
16901         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
16902         logic bug.
16903         * lib/strerror_r.c (strerror_r): Fix the bug.
16904         * lib/strerror.c (strerror): Likewise.
16905         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
16906         problem.
16907         * doc/posix-functions/strerror.texi (strerror): Likewise.
16908         * doc/posix-functions/perror.texi (perror): Likewise.
16909         * tests/test-strerror.c (main): Enhance test.
16910         * tests/test-strerror_r.c (main): Likewise.
16911
16912 2011-06-08  Bruno Haible  <bruno@clisp.org>
16913
16914         gnulib-tool: Better isolation between different gnulib-tool invocations.
16915         * gnulib-tool: New option --witness-c-macro.
16916         (witness_c_macro): New variable.
16917         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
16918         AM_CPPFLAGS define it as a C macro.
16919         (func_emit_tests_Makefile_am): Likewise.
16920         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
16921         read it from there.
16922         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
16923         m4_define, not AC_DEFUN.
16924         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
16925         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
16926         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
16927         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
16928         s|...|...|, to substitute the values of the GNULIB_* module indicator
16929         variables.
16930         * modules/dirent (Makefile.am): Likewise.
16931         * modules/fcntl-h (Makefile.am): Likewise.
16932         * modules/iconv-h (Makefile.am): Likewise.
16933         * modules/langinfo (Makefile.am): Likewise.
16934         * modules/locale (Makefile.am): Likewise.
16935         * modules/math (Makefile.am): Likewise.
16936         * modules/netdb (Makefile.am): Likewise.
16937         * modules/poll-h (Makefile.am): Likewise.
16938         * modules/pty (Makefile.am): Likewise.
16939         * modules/search (Makefile.am): Likewise.
16940         * modules/signal (Makefile.am): Likewise.
16941         * modules/spawn (Makefile.am): Likewise.
16942         * modules/stdio (Makefile.am): Likewise.
16943         * modules/stdlib (Makefile.am): Likewise.
16944         * modules/string (Makefile.am): Likewise.
16945         * modules/sys_ioctl (Makefile.am): Likewise.
16946         * modules/sys_select (Makefile.am): Likewise.
16947         * modules/sys_socket (Makefile.am): Likewise.
16948         * modules/sys_stat (Makefile.am): Likewise.
16949         * modules/sys_times (Makefile.am): Likewise.
16950         * modules/sys_utsname (Makefile.am): Likewise.
16951         * modules/sys_wait (Makefile.am): Likewise.
16952         * modules/termios (Makefile.am): Likewise.
16953         * modules/time (Makefile.am): Likewise.
16954         * modules/unistd (Makefile.am): Likewise.
16955         * modules/wchar (Makefile.am): Likewise.
16956
16957 2011-06-08  Eric Blake  <eblake@redhat.com>
16958
16959         strerror: simplify replacement
16960         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
16961         * modules/strerror (configure.ac): No prereqs needed here...
16962         * modules/strerror-override (configure.ac): ...but this needs it.
16963         (Files): Add file for needed prereq macro.
16964
16965 2011-06-08  Bruno Haible  <bruno@clisp.org>
16966
16967         strerror_r-posix: Tweaks.
16968         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
16969         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
16970         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
16971         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
16972         (gl_FUNC_STRERROR_R): ... to here.
16973         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
16974
16975 2011-06-07  Eric Blake  <eblake@redhat.com>
16976
16977         perror: document fixed bugs
16978         * doc/posix-functions/perror.texi (perror): Document recent
16979         patches.
16980
16981 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
16982
16983         stat-time: get_stat_birthtime failure is better-defined
16984         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
16985         return a timestamp whose tv_sec and tv_nsec values are both -1.
16986         Previously, the spec said only that the tv_nsec value was negative.
16987         This upward-compatible change simplifies GNU tar a bit.
16988
16989 2011-06-07  Eric Blake  <eblake@redhat.com>
16990
16991         strerror_r-posix: work around cygwin 1.7.9
16992         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
16993         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
16994         bug without replacing strerror_r.
16995         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
16996         strerror_r is buggy, but without requiring strerror_r compilation.
16997         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
16998
16999         test-perror: relax test to ignore cygwin bug
17000         * tests/test-perror2.c (main): Relax test on requiring detection
17001         of stream errors, and use unbuffered stream.
17002         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
17003         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
17004         * doc/posix-functions/fputc.texi (fputc): Likewise.
17005         * doc/posix-functions/fputs.texi (fputs): Likewise.
17006         * doc/posix-functions/fputws.texi (fputws): Likewise.
17007         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
17008         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
17009         * doc/posix-functions/getopt.texi (getopt): Likewise.
17010         * doc/posix-functions/perror.texi (perror): Likewise.
17011         * doc/posix-functions/printf.texi (printf): Likewise.
17012         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
17013         * doc/posix-functions/psignal.texi (psignal): Likewise.
17014         * doc/posix-functions/putc.texi (putc): Likewise.
17015         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
17016         Likewise.
17017         * doc/posix-functions/putchar.texi (putchar): Likewise.
17018         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
17019         Likewise.
17020         * doc/posix-functions/puts.texi (puts): Likewise.
17021         * doc/posix-functions/putwc.texi (putwc): Likewise.
17022         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
17023         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
17024         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17025         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
17026         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17027         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
17028         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17029         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
17030
17031 2011-05-22  Bruno Haible  <bruno@clisp.org>
17032
17033         strerror: Move AC_LIBOBJ invocations to module description.
17034         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
17035         gl_PREREQ_STRERROR invocations from here...
17036         * modules/strerror (configure.ac): ... to here.
17037
17038 2011-05-21  Bruno Haible  <bruno@clisp.org>
17039
17040         perror: Use common idiom.
17041         * modules/perror (configure.ac): Reorder statements.
17042
17043 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17044
17045         tests: fix usage message in 'mktempd_'
17046         * tests/init.sh (mktempd_): In the usage message, use literal
17047         'mktempd_', not '$ME' (which is even undefined), as the name of
17048         the subroutine.
17049
17050 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
17051
17052         tests init: new function 'fatal_', for hard errors
17053         Before this patch, the only way offered by tests/init.sh to
17054         properly signal a hard error was the `framework_failure_'
17055         function.  But the error message issued by that function,
17056         as its name would suggest, refers to a set-up failure in the
17057         testsuite, while hard errors can obviously also be due to
17058         other reasons.  The best way to fix this inconsistency is to
17059         introduce a new function with a more general error message.
17060         * tests/init.sh (fatal_): New function.
17061
17062 2011-06-06  Eric Blake  <eblake@redhat.com>
17063
17064         canonicalize-lgpl: use common idiom
17065         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
17066         over newer POSIX -Rf.
17067         Reported by Bruno Haible.
17068
17069         canonicalize-lgpl: work around AIX realpath bug
17070         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
17071         * doc/posix-functions/realpath.texi (realpath): Document it.
17072         Reported by Bruno Haible.
17073
17074         strerror: work around FreeBSD bug
17075         * lib/strerror.c (strerror): Special case 0.
17076         Reported by Bruno Haible.
17077
17078         strerror-override: avoid bloating errno module
17079         * modules/errno (Files, configure.ac): Move replacement strings...
17080         * modules/strerror-override: ...to new module.
17081         * modules/strerror (Depends-on): Add strerror-override.
17082         * modules/strerror_r-posix (Depends-on): Likewise.
17083         * MODULES.html.sh: Document new module.
17084         Reported by Bruno Haible.
17085
17086 2011-06-06  Bruno Haible  <bruno@clisp.org>
17087
17088         spawn-pipe tests: Rename program.
17089         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
17090         * tests/test-spawn-pipe-child.c: Update comment.
17091         * tests/test-spawn-pipe.sh: Update.
17092         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
17093
17094         spawn-pipe tests: Link the child program only against libc.
17095         * tests/test-spawn-pipe-child.c: New file, extracted from
17096         tests/test-spawn-pipe.c.
17097         (main): Expect only one argument.
17098         (is_open): New function, copied from tests/test-pipe.c.
17099         * tests/test-spawn-pipe.c: Don't include <errno.h>.
17100         (child_main): Remove function.
17101         (test_pipe): Pass only one argument to the child program.
17102         (main): Remove child process code. Expect the child program's name as
17103         first argument.
17104         * tests/test-spawn-pipe.sh: Pass the child program's name as first
17105         argument.
17106         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
17107         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
17108         test-spawn-pipe-child against no libraries.
17109
17110 2011-06-06  Bruno Haible  <bruno@clisp.org>
17111
17112         careadlinkat: Avoid mismatch between ssize_t and int.
17113         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
17114         * lib/careadlinkat.c (careadlinkatcwd): Define always.
17115
17116 2011-06-06  Jim Meyering  <meyering@redhat.com>
17117
17118         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
17119         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
17120         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
17121
17122 2011-06-05  Bruno Haible  <bruno@clisp.org>
17123
17124         ansi-c++-opt: Interoperability with libtool.
17125         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
17126         set the variable to "no", not to ":".
17127         * NEWS: Mention the change.
17128
17129 2011-06-05  Bruno Haible  <bruno@clisp.org>
17130
17131         acl: Fix test failure on AIX 7.
17132         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
17133         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
17134
17135 2011-06-05  Bruno Haible  <bruno@clisp.org>
17136
17137         pipe-filter-ii: Fix test failure on AIX and IRIX.
17138         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
17139         with EAGAIN, retry with a smaller buffer size.
17140
17141 2011-06-05  Bruno Haible  <bruno@clisp.org>
17142
17143         localename: Fix link dependencies.
17144         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
17145         * modules/localename-tests (Makefile.am): Link test-localename with
17146         $(LIBTHREAD).
17147
17148 2011-06-05  Bruno Haible  <bruno@clisp.org>
17149
17150         error: Avoid gcc warning.
17151         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
17152
17153 2011-06-05  Bruno Haible  <bruno@clisp.org>
17154
17155         unsetenv: Avoid gcc warning.
17156         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
17157
17158 2011-06-05  Bruno Haible  <bruno@clisp.org>
17159
17160         setenv: Avoid gcc warning.
17161         * lib/setenv.c (setenv): Provide declaration if system lacks it.
17162
17163 2011-06-05  Bruno Haible  <bruno@clisp.org>
17164
17165         sys_select: Ensure memset is declared also on AIX 7.
17166         * lib/sys_select.in.h: Include <string.h> also on AIX.
17167         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
17168         self-contained also on AIX 7.1.
17169
17170 2011-06-04  Jim Meyering  <meyering@redhat.com>
17171
17172         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
17173         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
17174         function name, "error".
17175         (_gl_translatable_diag_func_re): New configurable variable.
17176
17177 2011-06-04  Bruno Haible  <bruno@clisp.org>
17178
17179         getopt: Avoid gcc warning.
17180         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
17181
17182 2011-06-04  Bruno Haible  <bruno@clisp.org>
17183
17184         strerror_r: Fix comments.
17185         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
17186         commit.
17187
17188 2011-06-04  Bruno Haible  <bruno@clisp.org>
17189
17190         perror: Fix compilation error.
17191         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
17192         Undefine fprintf, not sprintf.
17193         * modules/perror (Depends-on): Remove intprops, verify.
17194
17195 2011-06-04  Bruno Haible  <bruno@clisp.org>
17196
17197         setlocale: Enable replacement on Cygwin 1.5.
17198         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
17199         Cygwin 1.5.x.
17200         * doc/posix-functions/setlocale.texi: Mention that the problem with the
17201         LC_CTYPE category also exists on Cygwin 1.5.x.
17202
17203 2011-06-04  Bruno Haible  <bruno@clisp.org>
17204
17205         strerror-override: Don't disable symbol renamings.
17206         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
17207         * lib/strerror-override.c: Include config.h.
17208         (strerror_override): Don't undefine.
17209
17210 2011-06-03  Bruno Haible  <bruno@clisp.org>
17211
17212         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
17213         * lib/localename.h: Update copyright header.
17214         * lib/localename.c: Likewise.
17215         * lib/relocatable.h: Likewise.
17216         * lib/relocatable.c: Likewise.
17217
17218 2011-06-02  Bruno Haible  <bruno@clisp.org>
17219
17220         doc: Fix a module name.
17221         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
17222
17223 2011-06-02  Bruno Haible  <bruno@clisp.org>
17224
17225         pipe2: Remove dependency on 'nonblocking' module.
17226         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
17227         O_NONBLOCK is defined by gnulib.
17228         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
17229         is zero.
17230         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
17231         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
17232         defined by gnulib.
17233         (get_nonblocking_flag): New function.
17234         (main): Test O_NONBLOCK flag only if it is nonzero.
17235         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
17236
17237 2011-06-03  Jim Meyering  <meyering@redhat.com>
17238
17239         maint: three new prohibit-header-without-use rules
17240         Prohibit use of cloexec.h, posixver.h, same.h without use.
17241         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
17242         (sc_prohibit_posixver_without_use): Likewise.
17243         (sc_prohibit_same_without_use): Likewise.
17244
17245 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17246
17247         allocator: 'die' routine is now given requested size
17248         * lib/allocator.h (struct allocator.die): New size arg.
17249         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
17250         If the actual problem is an ssize_t limitation, not a size_t or
17251         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
17252
17253 2011-06-01  Eric Blake  <eblake@redhat.com>
17254
17255         strerror: drop strerror_r dependency
17256         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
17257         * lib/strerror-override.c (strerror_override): ...to new file.
17258         * lib/strerror-override.h: Add prototype.
17259         * lib/strerror-impl.h: Delete.
17260         * lib/strerror.c (strerror): New implementation.
17261         * modules/errno (Files): Add new files.
17262         (configure.ac): Compile new file as appropriate.
17263         * modules/strerror (Files): Drop unused file.
17264         (Depends-on): Drop strerror_r-posix.
17265         * MODULES.html.sh: Document strerror_r-posix.
17266         Requested by Sam Steingold.
17267
17268         perror: call strerror_r directly
17269         * modules/perror (Files): Drop strerror-impl.h.
17270         * lib/perror.c (perror): Use our own stack buffer, rather than
17271         calling a wrapper that uses static storage.
17272         * doc/posix-functions/perror.texi (perror): Document a limitation
17273         of our replacement.
17274
17275         strerror_r: fix includes for FreeBSD
17276         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
17277         since we use abort on some platforms.
17278         Reported by Matthias Bolte.
17279
17280 2011-05-31  Bruno Haible  <bruno@clisp.org>
17281
17282         Fix link errors in tests: openat-die uses gettext-h.
17283         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
17284         against $(LIBINTL).
17285         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
17286         against $(LIBINTL).
17287         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
17288         $(LIBINTL).
17289         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
17290         against $(LIBINTL).
17291         * modules/linkat-tests (Makefile.am): Link test-linkat against
17292         $(LIBINTL).
17293         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
17294         $(LIBINTL).
17295         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
17296         against $(LIBINTL).
17297         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
17298         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
17299         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
17300         $(LIBINTL).
17301         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
17302         $(LIBINTL).
17303         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
17304         $(LIBINTL).
17305         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17306
17307 2011-05-31  Bruno Haible  <bruno@clisp.org>
17308
17309         Fix link errors in tests: wait-process uses gettext-h.
17310         * modules/nonblocking-pipe-tests (Makefile.am): Set
17311         test_nonblocking_pipe_main_LDADD.
17312         * modules/nonblocking-socket-tests (Makefile.am): Link
17313         test-nonblocking-socket-main against $(LIBINTL).
17314         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17315
17316 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
17317
17318         assert-h: work around 'verify' incompatibility
17319         * lib/verify.h: Use @...@ directives, not ifdef.
17320         * modules/assert-h (assert.h): Implement the directives.
17321         (assert.h): Substitute the symbol-prefix more consistently.
17322
17323 2011-05-29  Jim Meyering  <meyering@redhat.com>
17324
17325         trim: remove three superfluous assignments
17326         * lib/trim.c (trim2): Remove three superfluous assignments
17327         and correct brace positioning.
17328
17329 2011-05-29  Bruno Haible  <bruno@clisp.org>
17330
17331         wctype-h: Avoid namespace pollution on Solaris 2.6.
17332         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
17333         identifiers.
17334         * doc/posix-headers/wctype.texi: Mention the problem.
17335         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17336
17337 2011-05-28  Jim Meyering  <meyering@redhat.com>
17338
17339         parse-datetime.y: accommodate -Wstrict-overflow
17340         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
17341         placate -Wstrict-overflow.
17342
17343         trim: avoid a warning from -O2 -Wstrict-overflow
17344         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
17345
17346 2011-05-29  Bruno Haible  <bruno@clisp.org>
17347
17348         gnulib-tool: Fix bug in yesterday's commit.
17349         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
17350         twice.
17351
17352 2011-05-29  Bruno Haible  <bruno@clisp.org>
17353
17354         Allow multiple gnulib generated include files to be combined.
17355         * gnulib-tool (func_compute_include_guard_prefix): New function.
17356         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
17357         ${gl_include_guard_prefix} references.
17358         (func_import, func_create_testdir): Invoke
17359         func_compute_include_guard_prefix.
17360         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
17361         * lib/ctype.in.h: Likewise.
17362         * lib/dirent.in.h: Likewise.
17363         * lib/errno.in.h: Likewise.
17364         * lib/fcntl.in.h: Likewise.
17365         * lib/float.in.h: Likewise.
17366         * lib/getopt.in.h: Likewise.
17367         * lib/iconv.in.h: Likewise.
17368         * lib/langinfo.in.h: Likewise.
17369         * lib/locale.in.h: Likewise.
17370         * lib/math.in.h: Likewise.
17371         * lib/netdb.in.h: Likewise.
17372         * lib/netinet_in.in.h: Likewise.
17373         * lib/poll.in.h: Likewise.
17374         * lib/pthread.in.h: Likewise.
17375         * lib/pty.in.h: Likewise.
17376         * lib/sched.in.h: Likewise.
17377         * lib/se-selinux.in.h: Likewise.
17378         * lib/search.in.h: Likewise.
17379         * lib/signal.in.h: Likewise.
17380         * lib/spawn.in.h: Likewise.
17381         * lib/stdarg.in.h: Likewise.
17382         * lib/stddef.in.h: Likewise.
17383         * lib/stdint.in.h: Likewise.
17384         * lib/stdio.in.h: Likewise.
17385         * lib/stdlib.in.h: Likewise.
17386         * lib/string.in.h: Likewise.
17387         * lib/strings.in.h: Likewise.
17388         * lib/sys_file.in.h: Likewise.
17389         * lib/sys_ioctl.in.h: Likewise.
17390         * lib/sys_select.in.h: Likewise.
17391         * lib/sys_socket.in.h: Likewise.
17392         * lib/sys_stat.in.h: Likewise.
17393         * lib/sys_time.in.h: Likewise.
17394         * lib/sys_times.in.h: Likewise.
17395         * lib/sys_uio.in.h: Likewise.
17396         * lib/sys_utsname.in.h: Likewise.
17397         * lib/sys_wait.in.h: Likewise.
17398         * lib/sysexits.in.h: Likewise.
17399         * lib/termios.in.h: Likewise.
17400         * lib/time.in.h: Likewise.
17401         * lib/unistd.in.h: Likewise.
17402         * lib/wchar.in.h: Likewise.
17403         * lib/wctype.in.h: Likewise.
17404         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
17405         * modules/ctype (Makefile.am): Likewise.
17406         * modules/dirent (Makefile.am): Likewise.
17407         * modules/errno (Makefile.am): Likewise.
17408         * modules/fcntl-h (Makefile.am): Likewise.
17409         * modules/float (Makefile.am): Likewise.
17410         * modules/getopt-posix (Makefile.am): Likewise.
17411         * modules/iconv-h (Makefile.am): Likewise.
17412         * modules/langinfo (Makefile.am): Likewise.
17413         * modules/locale (Makefile.am): Likewise.
17414         * modules/math (Makefile.am): Likewise.
17415         * modules/netdb (Makefile.am): Likewise.
17416         * modules/netinet_in (Makefile.am): Likewise.
17417         * modules/poll-h (Makefile.am): Likewise.
17418         * modules/pthread (Makefile.am): Likewise.
17419         * modules/pty (Makefile.am): Likewise.
17420         * modules/sched (Makefile.am): Likewise.
17421         * modules/search (Makefile.am): Likewise.
17422         * modules/selinux-h (Makefile.am): Likewise.
17423         * modules/signal (Makefile.am): Likewise.
17424         * modules/spawn (Makefile.am): Likewise.
17425         * modules/stdarg (Makefile.am): Likewise.
17426         * modules/stddef (Makefile.am): Likewise.
17427         * modules/stdint (Makefile.am): Likewise.
17428         * modules/stdio (Makefile.am): Likewise.
17429         * modules/stdlib (Makefile.am): Likewise.
17430         * modules/string (Makefile.am): Likewise.
17431         * modules/strings (Makefile.am): Likewise.
17432         * modules/sys_file (Makefile.am): Likewise.
17433         * modules/sys_ioctl (Makefile.am): Likewise.
17434         * modules/sys_select (Makefile.am): Likewise.
17435         * modules/sys_socket (Makefile.am): Likewise.
17436         * modules/sys_stat (Makefile.am): Likewise.
17437         * modules/sys_time (Makefile.am): Likewise.
17438         * modules/sys_times (Makefile.am): Likewise.
17439         * modules/sys_uio (Makefile.am): Likewise.
17440         * modules/sys_utsname (Makefile.am): Likewise.
17441         * modules/sys_wait (Makefile.am): Likewise.
17442         * modules/sysexits (Makefile.am): Likewise.
17443         * modules/termios (Makefile.am): Likewise.
17444         * modules/time (Makefile.am): Likewise.
17445         * modules/unistd (Makefile.am): Likewise.
17446         * modules/wchar (Makefile.am): Likewise.
17447         * modules/wctype-h (Makefile.am): Likewise.
17448         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
17449
17450 2011-05-29  Bruno Haible  <bruno@clisp.org>
17451
17452         assert-h: Allow multiple gnulib generated replacements to coexist.
17453         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
17454
17455 2011-05-29  Bruno Haible  <bruno@clisp.org>
17456
17457         argp: Allow coexistence with strerror_r-posix module.
17458         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
17459         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
17460         by gnulib's <string.h> replacement), assume it has the POSIX signature,
17461         not the glibc signature.
17462
17463 2011-05-28  Bruno Haible  <bruno@clisp.org>
17464
17465         gnulib-tool: Alternative structure of testdirs, similar to --import.
17466         * gnulib-tool: New option --single-configure.
17467         (func_usage): Document it.
17468         (single_configure): New variable.
17469         (func_modules_transitive_closure_separately,
17470         func_modules_transitive_closure_separately,
17471         func_determine_use_libtests, func_modules_add_dummy_separately,
17472         func_modules_to_filelist_separately): New functions, extracted from
17473         func_import.
17474         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
17475         (func_import): Use the new functions.
17476         (func_create_testdir): Set final_modules. Handle $single_configure =
17477         true case.
17478
17479 2011-05-28  Bruno Haible  <bruno@clisp.org>
17480
17481         getloadavg: Remove an unreliable safety check.
17482         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
17483         getloadavg.c is in place.
17484         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
17485         Reported by Sam Steingold <sds@gnu.org>.
17486
17487 2011-05-28  Bruno Haible  <bruno@clisp.org>
17488
17489         doc: Cleanup yet another file produced by texinfo.tex.
17490         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
17491
17492 2011-05-28  Bruno Haible  <bruno@clisp.org>
17493
17494         Finish the conditional dependencies mechanism.
17495         * gnulib-tool: New option --no-conditional-dependencies.
17496         (func_usage): Document it. Don't mark --conditional-dependencies as
17497         experimental.
17498         (cond_dependencies): The possible values can now be true, false, empty.
17499         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
17500         (func_import): Store setting in gnulib-cache.m4 and read it from there.
17501         * doc/gnulib-tool.texi (Conditional dependencies): New section.
17502
17503 2011-05-28  Bruno Haible  <bruno@clisp.org>
17504
17505         doc: Use a recent texinfo.tex.
17506         * doc/Makefile (tex_opts): New variable.
17507         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
17508
17509 2011-05-28  Jim Meyering  <meyering@redhat.com>
17510
17511         intprops.h: adjust comment to match code change
17512         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
17513         only once, it *may* have side effects.  Also fix an unrelated typo.
17514         (_GL_INT_SIGNED): Likewise.
17515
17516 2011-05-26  Simon Josefsson  <simon@josefsson.org>
17517
17518         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
17519
17520 2011-05-26  Bruno Haible  <bruno@clisp.org>
17521
17522         mbsrchr: Avoid collision with system function on Interix.
17523         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
17524         Reported by Markus Duft <mduft@gentoo.org>.
17525
17526 2011-05-15  James Youngman  <jay@gnu.org>
17527
17528         getopt: for ambiguous options, enumerate the possibilities.
17529         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
17530         the ambiguous options when an ambiguous prefix is given. This was
17531         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
17532         glibc change was
17533         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
17534
17535 2011-05-25  Eric Blake  <eblake@redhat.com>
17536
17537         getcwd: work around mingw bug
17538         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
17539         * doc/posix-functions/getcwd.texi (getcwd): Document it.
17540         Reported by Matthias Bolte.
17541
17542 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
17543
17544         test-intprops: disable -Wtype-limits diagnostics
17545         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
17546         diagnostics.  Otherwise, the integer overflow macros generate many
17547         diagnostics.  Reported by Jim Meyering in
17548         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17549
17550         intprops: shorten, to pacify gcc -Woverlength-strings
17551         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
17552         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
17553         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
17554         likely to run afoul of C compiler limits for string constant lengths.
17555         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
17556
17557 2011-05-24  Eric Blake  <eblake@redhat.com>
17558
17559         docs: document recently fixed glibc printf bug
17560         * doc/posix-functions/fprintf.texi (fprintf): Document it.
17561         * doc/posix-functions/printf.texi (printf): Likewise.
17562         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
17563         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
17564
17565         closein-tests: convert to init.sh
17566         * modules/closein-tests (Files): Add init.sh
17567         * tests/test-closein.sh Use it.
17568
17569         yesno-tests: convert to init.sh
17570         * modules/yesno-tests (Files): Add init.sh.
17571         * tests/test-yesno.sh: Use it.
17572
17573         atexit-tests: ensure reliable exit status
17574         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
17575         Reported by Bruno Haible.
17576
17577 2011-05-24  Bruno Haible  <bruno@clisp.org>
17578
17579         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
17580         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
17581         gl_PREREQ_STRERROR_R invocations from here...
17582         * modules/strerror_r-posix (configure.ac): ... to here.
17583
17584 2011-05-24  Eric Blake  <eblake@redhat.com>
17585
17586         strerror_r: fix missing header
17587         * lib/strerror_r.c: Avoid compiler warning about snprintf.
17588
17589         strerror_r: fix AIX test failures
17590         * lib/strerror_r.c (strerror_r): Convert silent truncation to
17591         ERANGE failure.
17592
17593         strerror_r: fix Solaris test failures
17594         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
17595         failures.
17596         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17597
17598         strerror_r: enforce POSIX recommendations
17599         * lib/strerror_r.c (safe_copy): New helper method.
17600         (strerror_r): Guarantee a non-empty string.
17601         * tests/test-strerror_r.c (main): Enhance tests to incorporate
17602         recent POSIX rulings and to match our strerror guarantees.
17603         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
17604
17605 2011-05-24  Jim Meyering  <meyering@redhat.com>
17606
17607         test-perror2.c: avoid warning about unused variable
17608         * tests/test-perror2.c (main): Remove declaration of unused "fp".
17609
17610 2011-05-24  Eric Blake  <eblake@redhat.com>
17611
17612         perror: avoid spurious test failure on HP-UX
17613         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
17614
17615         tests: fix logic bug in init.sh
17616         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
17617         shell.
17618
17619 2011-05-24  Jim Meyering  <meyering@redhat.com>
17620
17621         utimensat: do not reference an out-of-scope buffer
17622         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
17623         declared in an inner scope, yet "times" would be dereferenced outside
17624         the scope in which "ts" was valid.
17625         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
17626         of ts[2] "out/up", so that the use of aliased "times" (via
17627         "times = ts;") does not end up referencing an out-of-scope "ts"
17628
17629         opendir-safer.c: don't clobber errno; don't close negative FD
17630         * lib/opendir-safer.c (opendir_safer):
17631         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
17632         file descriptor, and more importantly, don't clobber the
17633         offending errno value with EINVAL.  Before, upon failure
17634         of dup_safer, we would pass the negative file descriptor to
17635         fdopendir, which would clobber errno.
17636
17637 2011-05-23  Bruno Haible  <bruno@clisp.org>
17638
17639         idcache: Fix module description.
17640         * modules/idcache (Include): Set to "idcache.h".
17641
17642 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
17643
17644         gnulib-tool: fix portability problem with MacOS sed
17645         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
17646         before the "}".  Problem reported by Leo in
17647         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
17648         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
17649         sed_extract_condition1, sed_extract_condition2.
17650
17651 2011-05-23  Bruno Haible  <bruno@clisp.org>
17652
17653         hash: Simplify autoconf macro.
17654         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
17655
17656 2011-05-23  Bruno Haible  <bruno@clisp.org>
17657
17658         getugroups: Fix module description.
17659         * modules/getugroups (Include): Set to "getugroups.h".
17660
17661 2011-05-23  Bruno Haible  <bruno@clisp.org>
17662
17663         linkat: Simplify autoconf macro.
17664         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
17665
17666 2011-05-23  Bruno Haible  <bruno@clisp.org>
17667             Eric Blake  <eblake@redhat.com>
17668
17669         linkat, renameat: Update dependencies.
17670         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
17671         * modules/linkat (Depends-on): Likewise. Remove also readlink,
17672         symlinkat.
17673
17674 2011-05-23  Jim Meyering  <meyering@redhat.com>
17675
17676         maint.mk: more tight_scope improvements
17677         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
17678         (_gl_TS_headers): Define only in if-0'd block.
17679         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
17680         sometimes we must *not* use it.  Adjust uses accordingly.
17681         (sc_tight_scope): Use much simpler grep-based test to determine
17682         whether we skip this rule.
17683
17684         maint.mk: generalize/improve the tight-scope rule
17685         * top/maint.mk: Emit a warning when the test is skipped.
17686         (_gl_TS_dir): Add $(srcdir)/ prefix.
17687         (_gl_TS_function_match): Simplify, rather than trying
17688         to enumerate common types.  Otherwise, it would fail to match an
17689         "extern unsigned char const *" declaration in idutils.
17690         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
17691         a way to support use of that type of macro.
17692         (_gl_TS_var_match): Simplify regexp.
17693         (_gl_TS_obj_files): New configurable variable.
17694         (_gl_TS_headers): Likewise.
17695
17696 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
17697
17698         verify: fix bug when gnulib <assert.h> is also included
17699         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
17700         is defined, not if _GL_STATIC_ASSERT_H is not defined.
17701         Perhaps there's a better way, but this fixes the immediate problem.
17702         Problem reported by Bruno Haible in
17703         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
17704
17705 2011-05-22  Bruno Haible  <bruno@clisp.org>
17706
17707         xgetcwd: Simplify autoconf macro.
17708         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
17709
17710 2011-05-22  Bruno Haible  <bruno@clisp.org>
17711
17712         New module 'mktime-internal'.
17713         * modules/mktime-internal: New file.
17714         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
17715         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
17716         mktime_internal as a C macro if libc has __mktime_internal.
17717         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
17718         conditions.
17719         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
17720
17721 2011-05-22  Bruno Haible  <bruno@clisp.org>
17722
17723         timegm: Correct mktime replacement statements.
17724         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
17725         defining mktime as a C macro. This completes a 2009-07-28 commit.
17726
17727 2011-05-22  Bruno Haible  <bruno@clisp.org>
17728
17729         timegm: Simplify autoconf macro.
17730         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
17731
17732 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
17733
17734         clock-time: change to LGPLv2+.
17735         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
17736         BSD-like but we have no mark for that; this is good enough for now.
17737
17738 2011-05-21  Bruno Haible  <bruno@clisp.org>
17739
17740         strerror_r: Fix comments.
17741         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
17742
17743 2011-05-21  Bruno Haible  <bruno@clisp.org>
17744
17745         relocatable-prog-wrapper: Fix possible link error.
17746         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
17747         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
17748         (gl_FUNC_SETENV): ... to here.
17749         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
17750         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
17751
17752 2011-05-21  Bruno Haible  <bruno@clisp.org>
17753
17754         relocatable-prog-wrapper: Assume strerror() exists.
17755         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
17756         m4/strerror.m4.
17757         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
17758         * lib/relocwrapper.c: Remove mention of strerror module.
17759         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
17760         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
17761         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
17762         C macro.
17763
17764 2011-05-21  Bruno Haible  <bruno@clisp.org>
17765
17766         select: Simplify replacement idiom.
17767         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
17768         Win32 platforms.
17769         * lib/sys_select.in.h (select): Simplify accordingly.
17770         * modules/select (Depends-on): Likewise.
17771
17772 2011-05-21  Bruno Haible  <bruno@clisp.org>
17773
17774         mkdir-p: Simplify autoconf macro.
17775         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
17776         gl_FUNC_LCHOWN.
17777
17778 2011-05-21  Eric Blake  <eblake@redhat.com>
17779
17780         strerror_r: avoid clobbering strerror on cygwin
17781         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
17782         fall back instead to sys_errlist.
17783         * modules/strerror (configure.ac): Add witness.
17784         * tests/test-strerror_r.c (main): Enhance test.
17785         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17786         * tests/test-perror2.c (main): Free memory before exit.
17787
17788 2011-05-21  Bruno Haible  <bruno@clisp.org>
17789
17790         mkdtemp: Use gnulib naming conventions.
17791         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
17792         * modules/mkdtemp (configure.ac): Update.
17793
17794 2011-05-20  Eric Blake  <eblake@redhat.com>
17795
17796         strerror_r: avoid corrupting errno on Solaris
17797         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
17798         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
17799
17800         strerror_r: avoid compiler warning
17801         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
17802
17803         strerror_r: simplify AIX code
17804         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
17805
17806         test-perror: avoid spurious failure on FreeBSD
17807         * modules/perror-tests (Depends-on): Add strerror, now that
17808         strerror_r no longer pulls it in.
17809
17810 2011-05-20  Bruno Haible  <bruno@clisp.org>
17811
17812         strerror_r-posix: Remove unused dependencies.
17813         * modules/strerror_r-posix (Depends-on): Remove strerror.
17814         Reported by Eric Blake.
17815
17816 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
17817
17818         intprops: remove assumption about A|B representation
17819         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
17820         is a valid integer if both A and B are.  Although this is true for
17821         all known practical hosts, the C standard doesn't guarantee it,
17822         and the code need not assume it.  Also, this change may work around
17823         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
17824         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
17825
17826 2011-05-20  Eric Blake  <eblake@redhat.com>
17827
17828         perror: work around FreeBSD bug
17829         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
17830         is broken.  Move AC_LIBOBJ...
17831         * modules/perror (configure.ac): Here.
17832         * doc/posix-functions/perror.texi (perror): Document this.
17833         * tests/test-perror2.c (main): Enhance test.
17834
17835         test-perror: check for strerror interactions
17836         * tests/macros.h (STREQ): Add macro.
17837         * modules/perror-tests (Files): Add second test.
17838         * tests/test-perror2.c (main): New file.
17839         * doc/posix-functions/perror.texi (perror): Document glibc bug.
17840
17841         test-perror: rewrite to use init script
17842         * modules/perror-tests (Files): Add init.sh.
17843         * tests/test-perror.sh: Use temporary directory.
17844
17845 2011-05-20  Jim Meyering  <meyering@redhat.com>
17846
17847         maint: replace misused "a" with "an"
17848         * doc/intprops.texi: "a integer"
17849         * doc/regex.texi: "a explanation"
17850         * lib/alignof.h: "a object"
17851         * lib/argmatch.h: "a explanation"
17852         * lib/argp-help.c: "a option" and "a OPTION_DOC"
17853         * lib/stdint.in.h: "a integer"
17854         * lib/userspec.c: "a owner"
17855         * doc/gnulib.texi: Fix "a idea", and reword.
17856
17857 2011-05-19  Jim Meyering  <meyering@redhat.com>
17858
17859         maint: correct misuse of "a" and "an"
17860         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
17861         * lib/argp-help.c: "an docum...": s/an/a/
17862         * lib/argp-parse.c: "An vector": s/An/A/
17863         * lib/execute.c: "an native": s/an/a/
17864         * lib/spawn-pipe.c: Likewise.
17865         * lib/gc.h: "an Gc_rc": s/an/a/
17866         * lib/unigbrk.in.h: "an grapheme": s/an/a/
17867         * lib/fts.c: "an stat.st_dev": s/an/a/
17868
17869 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17870
17871         intprops-tests: work around HP-UX 11.23 cc bug with constants
17872         * tests/test-intprops.c (VERIFY): New macro.
17873         (main): Use it, instead of verify, to work around the compiler bug; see
17874         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17875
17876         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
17877         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
17878         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
17879         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
17880         (_GL_REMAINDER_OVERFLOW): Use it.
17881
17882         intprops-tests: revert unsigned part of previous change
17883         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
17884         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
17885         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
17886         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
17887
17888 2011-05-19  Bruno Haible  <bruno@clisp.org>
17889
17890         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
17891         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
17892         strerror_r() returned without filling the buffer.
17893         Reported by Eric Blake.
17894
17895 2011-05-19  Eric Blake  <eblake@redhat.com>
17896
17897         strerror_r: guarantee unchanged errno
17898         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
17899         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
17900         failure.
17901         * tests/test-strerror_r.c (main): Enhance test.
17902
17903 2011-05-19  Bruno Haible  <bruno@clisp.org>
17904
17905         strerror_r: Reorder #if blocks.
17906         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
17907         for consistency with the previous commit.
17908
17909 2011-05-19  Bruno Haible  <bruno@clisp.org>
17910
17911         perror: Avoid clobbering the strerror buffer when possible.
17912         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
17913         * lib/strerror.c: Include it.
17914         * modules/strerror (Files): Add lib/strerror-impl.h.
17915         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
17916         (my_strerror): New function, defined through lib/strerror-impl.h.
17917         (perror): Use it instead of strerror.
17918         * modules/perror (Files): Add lib/strerror-impl.h.
17919         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
17920
17921 2011-05-19  Eric Blake  <eblake@redhat.com>
17922
17923         strerror_r: fix on newer cygwin
17924         * lib/strerror_r.c (strerror_r): Cygwin now has
17925         __xpg_strerror_r, use it.
17926
17927 2011-05-19  Bruno Haible  <bruno@clisp.org>
17928
17929         strerror_r: Avoid clobbering the strerror buffer when possible.
17930         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
17931         (sys_nerr, sys_errlist): New declarations.
17932         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
17933         HP-UX, native Win32, IRIX, and 32-bit Solaris.
17934         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
17935
17936 2011-05-19  Bruno Haible  <bruno@clisp.org>
17937
17938         strerror_r: Fix test failure on mingw.
17939         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
17940         EXTEND_STRERROR_R.
17941         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
17942         macros from errno.in.h instead.
17943
17944 2011-05-19  Eric Blake  <eblake@redhat.com>
17945
17946         strerror: relax test for Solaris
17947         * tests/test-strerror.c (main): Permit Solaris behavior.
17948         * tests/test-strerror_r.c (main): Likewise.
17949
17950         strerror: enforce POSIX ruling on strerror(0)
17951         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
17952         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
17953         * lib/strerror_r.c (rpl_strerror_r): Work around it.
17954         * doc/posix-functions/strerror.texi (strerror): Document it.
17955         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
17956         * tests/test-strerror.c (main): Strengthen test.
17957         * tests/test-strerror_r.c (main): Likewise.
17958
17959 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
17960
17961         intprop-tests: port to older and more-pedantic compilers
17962         * modules/intprops-tests (Files): Add tests/macros.h.
17963         * tests/test-intprops.c: Include macros.h.
17964         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
17965         it's no longer documented to expand to an integer constant expression.
17966         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
17967         argument is floating point, as it's no longer documented to expand
17968         to an integer constant expression in that case.
17969         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
17970         compiler bugs reported by Bruno Haible.  See
17971         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17972         (U0, U1): New constants, to work around the same bugs.  Also,
17973         in tests, use e.g., "(unsigned int) 39" rather than "39u".
17974
17975         intprops: work around C compiler bugs
17976         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
17977         bug in Sun C 5.11 2010/08/13 and other compilers; see
17978         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
17979
17980         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
17981         * doc/intprops.texi (Integer Type Determination): Fix
17982         documentation for TYPE_IS_INTEGER: it returns an constant
17983         expression, not an integer constant expression.  Fix doc for
17984         TYPE_SIGNED: it returns an integer constant expression only if its
17985         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
17986         hardly worth documented that way....)
17987
17988 2011-05-18  Bruno Haible  <bruno@clisp.org>
17989
17990         strerror_r: Avoid clobbering the strerror buffer when possible.
17991         * lib/strerror_r.c (strerror_r): Merge the three implementations.
17992         Handle gnulib defined errno values here. When strerror() returns NULL
17993         or an empty string, return EINVAL.
17994         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
17995         gnulib defined errno values here.
17996         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
17997
17998 2011-05-18  Eric Blake  <eblake@redhat.com>
17999
18000         fnmatch: avoid compiler warning
18001         * lib/fnmatch_loop.c (FCT): Use correct type.
18002         Reported by Matthias Bolte.
18003
18004 2011-05-13  Jim Meyering  <meyering@redhat.com>
18005
18006         maint.mk: three new prohibit_<HDR>_without_use rules
18007         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
18008         (sc_prohibit_stdio-safer_without_use): Likewise.
18009         (sc_prohibit_xfreopen_without_use): Likewise.
18010
18011 2011-05-17  Jim Meyering  <meyering@redhat.com>
18012
18013         announce-gen: fail if the NEWS delta is empty
18014         If there's nothing noteworthy in NEWS, then either you forgot
18015         or you shouldn't be releasing.
18016         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
18017
18018 2011-05-17  Pádraig Brady <P@draigBrady.com>
18019
18020         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
18021         reserved symbols starting with double underscore from the check.
18022
18023 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
18024
18025         intprops: add doc
18026         * doc/intprops.texi: New file, documenting intprops.
18027         * doc/gnulib.texi (Particular Modules): Include it.
18028
18029         verify: add doc to gnulib manual and fix example
18030         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
18031         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
18032         (Compile-time Assertions): Fix example so it can't overflow.
18033
18034 2011-05-17  Jim Meyering  <meyering@redhat.com>
18035
18036         warnings.m4: don't usurp save_CPPFLAGS variable name
18037         * m4/warnings.m4: Prefix local temporary variable name with gl_.
18038
18039         doc: fix typo
18040         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
18041
18042 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18043             Bruno Haible  <bruno@clisp.org>
18044
18045         doc: Tweak recent change.
18046         * README (Portability guidelines): Tweak new text.
18047         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
18048         Interix 6.1.
18049
18050 2011-05-16  Eric Blake  <eblake@redhat.com>
18051
18052         inttypes: avoid autoconf warning
18053         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
18054         * m4/stdint.m4 (gl_STDINT_H): Likewise.
18055
18056 2011-05-16  Sam Steingold <sds@gnu.org>
18057         and Eric Blake  <eblake@redhat.com>
18058
18059         vc-list-files: accept multiple directory operands
18060         * build-aux/vc-list-files: Iterate over all remaining operands.
18061
18062 2011-05-16  Bruno Haible  <bruno@clisp.org>
18063
18064         Fix confusion regarding deprecated modules.
18065         * modules/calloc (Status, Notice): Mark module as deprecated, not
18066         obsolete.
18067         * modules/fnmatch-posix (Status, Notice): Likewise.
18068         * modules/getdate (Status, Notice): Likewise.
18069         * modules/getopt (Status, Notice): Likewise.
18070         * modules/malloc (Status, Notice): Likewise.
18071         * modules/pipe (Status, Notice): Likewise.
18072         * modules/realloc (Status, Notice): Likewise.
18073         * modules/rename-dest-slash (Status, Notice): Likewise.
18074         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
18075         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
18076         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
18077         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
18078         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
18079
18080 2011-05-16  Bruno Haible  <bruno@clisp.org>
18081
18082         doc: List the target platforms.
18083         * doc/gnulib-intro.texi (Target Platforms): New section.
18084         * doc/gnulib.texi (Introduction): Update menu.
18085         * README (Portability guidelines): Refer to the new section. Update
18086         statement about oldest supported environment. Remove rationale why
18087         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
18088         unportable C89 function.
18089         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
18090         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
18091
18092 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18093
18094         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
18095
18096 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
18097
18098         intprops-tests: new module
18099         * modules/intprops-tests, tests/test-intprops.c: New files.
18100
18101         intprops: add safe, portable integer overflow checking
18102         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
18103         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
18104         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
18105         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
18106         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
18107         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
18108         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
18109         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
18110         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
18111         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
18112         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
18113
18114 2011-05-12  James Youngman  <jay@gnu.org>
18115
18116         Add a test for glibc's Bugzilla bug #12378.
18117         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
18118         doesn't allow the literal matching of a lone "[" (which is
18119         required by POSIX).
18120         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
18121
18122 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
18123
18124         Sync glibc change fixing Bugzilla bug #12378.
18125         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
18126         beginning and fall back to matching as normal character if the
18127         string ends before the matching ']' is found.  This is what POSIX
18128         requires.
18129
18130 2011-05-13  Eric Blake  <eblake@redhat.com>
18131
18132         getcwd-lgpl: relax test for FreeBSD
18133         * doc/posix-functions/getcwd.texi (getcwd): Document portability
18134         issue.
18135         * tests/test-getcwd-lgpl.c (main): Relax test.
18136         Reported by Matthias Bolte.
18137
18138 2011-05-11  Eric Blake  <eblake@redhat.com>
18139
18140         test-fflush: silence compiler warning
18141         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
18142
18143 2011-05-11  Bruno Haible  <bruno@clisp.org>
18144
18145         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
18146         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
18147         * modules/canonicalize (Depends-on): Add 'nocrash'.
18148         * modules/canonicalize-lgpl (Depends-on): Likewise.
18149         * doc/posix-functions/realpath.texi: Update platforms list.
18150         Reported by Ryan Schmidt <ryandesign@macports.org>.
18151
18152 2011-05-11  Bruno Haible  <bruno@clisp.org>
18153
18154         group-member: Declare function in <unistd.h>.
18155         * lib/unistd.in.h (group_member): New declaration.
18156         * lib/group-member.h: Remove file.
18157         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
18158         * tests/test-unistd-c++.cc: Check signature of group_member.
18159         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
18160         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
18161         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
18162         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
18163         HAVE_GROUP_MEMBER.
18164         * modules/group-member (Files): Remove lib/group-member.h.
18165         (Depends-on): Add unistd. Specify conditions.
18166         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
18167         (Include): Change to <unistd.h>.
18168         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
18169         HAVE_GROUP_MEMBER.
18170         * NEWS: Mention the change.
18171         * lib/euidaccess.c: Don't include group-member.h.
18172
18173 2011-05-11  Bruno Haible  <bruno@clisp.org>
18174
18175         group-member: Document module.
18176         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
18177         module.
18178
18179 2011-05-11  Bruno Haible  <bruno@clisp.org>
18180
18181         fclose: Fix mistake earlier today.
18182         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
18183
18184 2011-05-11  Eric Blake  <eblake@redhat.com>
18185
18186         fclose: preserve fflush errors
18187         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
18188         Reported by Jim Meyering.
18189
18190         bootstrap: support a prereq of 'rpcgen -' on RHEL5
18191         * build-aux/bootstrap (check_versions): When no specific version
18192         is required, merely check that the app produces an exit status
18193         that indicates its existence.
18194
18195         maint.mk: drop redundant check
18196         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
18197         the same but better.
18198
18199 2011-05-11  Bruno Haible  <bruno@clisp.org>
18200
18201         fclose: Fix possible link error.
18202         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
18203         unregister_shadow_fd. Improve comments.
18204         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
18205         Eric Blake.
18206
18207 2011-05-11  Jim Meyering  <meyering@redhat.com>
18208
18209         maint.mk: improve "can not" detection and generalize rule name
18210         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
18211         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
18212         Use the same technique as in sc_prohibit_doubled_word, so that
18213         we recognize "can not" also when the words are separated by a newline.
18214         Suggested by Eric Blake.
18215         (perl_filename_lineno_text_): Define.  Factored out of...
18216         (prohibit_doubled_word_): ...here.  Use the new definition.
18217         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
18218         (prohibit_undesirable_word_seq_RE_): New overridable variable.
18219         (ignore_undesirable_word_sequence_RE_): New overridable variable.
18220
18221 2011-05-10  Eric Blake  <eblake@redhat.com>
18222
18223         fclose: avoid double close race when possible
18224         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
18225         all but WINDOWS_SOCKETS.
18226
18227 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
18228
18229         openat: correct new comment
18230         * lib/openat-proc.c (openat_proc_name): Correct the comment.
18231
18232 2011-05-10  Jim Meyering  <meyering@redhat.com>
18233
18234         openat: add comments
18235         * lib/openat-proc.c (openat_proc_name): Add comments,
18236         mostly from Eric Blake.
18237
18238 2011-05-09  Eric Blake  <eblake@redhat.com>
18239
18240         openat: reduce syscalls in first probe of /proc
18241         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
18242         be a directory.  Simplify the probe for .. bugs.
18243         * modules/openat (Depends-on): Drop same-inode.
18244         Reported by Bastien ROUCARIES.
18245
18246 2011-05-09  Jim Meyering  <meyering@redhat.com>
18247
18248         maint.mk: change semantics/name of tight_scope variables
18249         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
18250         Rename variables to align with semantics that make them more useful.
18251
18252         maint.mk: tweak new rule's name not to impinge
18253         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
18254         (sc_tight_scope): Use new rule name rather than $@-0.
18255
18256         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
18257         * top/maint.mk (sc_tight_scope): New rule.
18258         (sc_tight_scope-0): New rule, ifdef'd out.
18259         (_gl_TS_dir): Default.
18260         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
18261         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
18262
18263 2011-05-09  Simon Josefsson  <simon@josefsson.org>
18264
18265         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
18266         Haible <bruno@clisp.org>.
18267
18268 2011-05-08  Bruno Haible  <bruno@clisp.org>
18269
18270         Comments.
18271         * m4/isnanf.m4: Add comment.
18272         * m4/isnanl.m4: Likewise.
18273
18274 2011-05-08  Bruno Haible  <bruno@clisp.org>
18275
18276         glob: Remove obsolete macro.
18277         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
18278
18279 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
18280
18281         intprops: Sun C 5.11 supports __typeof__
18282         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
18283         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
18284         which is new.
18285         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
18286
18287         intprops: switch to usual gnulib indenting and naming
18288         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
18289         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
18290
18291         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
18292
18293 2011-05-08  Jim Meyering  <meyering@redhat.com>
18294
18295         maint.mk: suppress "Entering/Leaving directory" diag in announcement
18296         * top/maint.mk (release-prep): Use make's --no-print-directory
18297         option when generating the announcement.  This eliminates the
18298         pesky "make[2]: Entering/Leaving directory" diagnostics in the
18299         generated announcement template.
18300
18301 2011-05-08  Bruno Haible  <bruno@clisp.org>
18302
18303         tzset: Fix gettimeofday wrapper on Solaris 2.6.
18304         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
18305         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
18306
18307 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
18308
18309         ignore-value, verify: Omit include files from lib_SOURCES.
18310         * modules/ignore-value, modules/verify (Makefile.am):
18311         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
18312         that leads Automake to duplicate use of am__objects_... variables
18313         in Makefile.in.  See
18314         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
18315
18316 2011-05-07  Bruno Haible  <bruno@clisp.org>
18317
18318         fclose: Simplify autoconf macro.
18319         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
18320         defined.
18321
18322 2011-05-07  Bruno Haible  <bruno@clisp.org>
18323
18324         canonicalize-lgpl: Fix autoconf macro ordering bug.
18325         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
18326         gl_STDLIB_H_DEFAULTS.
18327
18328 2011-05-06  Eric Blake  <eblake@redhat.com>
18329
18330         maintainer-makefile: make sc_po_check easier to tune
18331         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
18332         to probe for strings, such as an alternate location for gnulib.
18333
18334         fclose: guarantee behavior on seekable stdin
18335         * modules/fclose (Depends-on): Add fflush.
18336         * doc/posix-functions/fclose.texi (fclose): Document this.
18337         * tests/test-fclose.c (main): Make test for this unconditional.
18338
18339 2011-05-06  Bruno Haible  <bruno@clisp.org>
18340
18341         fflush, fpurge: Relicense under LGPLv2+.
18342         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
18343         * modules/fpurge (License): Likewise.
18344         With permission from Eric Blake and Jim Meyering.
18345         Suggested by Eric Blake.
18346
18347 2011-05-06  Karl Berry  <karl@gnu.org>
18348
18349         * MODULES.html.sh (func_all_modules): remove exit.
18350
18351 2011-05-06  Jim Meyering  <meyering@redhat.com>
18352
18353         maint.mk: use info-gnu@ as the default only for a stable release
18354         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
18355         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
18356         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
18357         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
18358
18359 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
18360
18361         assert-h: new module, which supports C1X-style static_assert
18362         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
18363         * lib/verify.h: Revamp so that this can be copied into assert.h,
18364         while retaining the ability to use it standalone as before.
18365         Rename private identifiers so as not to encroach on the
18366         standard C namespace, since this is now used by assert.h.
18367         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
18368         the old verify_true.
18369         (_GL_VERIFY_TRUE): New macro, with much of the contents of
18370         the old verify_true.  Use _GL_VERIFY_TYPE.
18371         (_GL_VERIFY): New macro, with much of the contents of the old verify.
18372         (static_assert): New macro, if _GL_STATIC_ASSERT_H
18373         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
18374         defined when this file is copied into the replacement assert.h.
18375         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
18376         and _Static_assert is not built in.
18377         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
18378         defined, and use the new macros mentioned above.
18379         * doc/posix-headers/assert.texi: Document this.
18380
18381 2011-05-05  Bruno Haible  <bruno@clisp.org>
18382
18383         fclose, fflush: Respect rules for use of AC_LIBOBJ.
18384         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
18385         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
18386         gl_REPLACE_FCLOSE here.
18387         * modules/fflush (Depends-on): Remove fclose.
18388         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
18389         combination with module 'fclose'.
18390
18391 2011-05-05  Bruno Haible  <bruno@clisp.org>
18392
18393         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
18394         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
18395         gl_FUNC_FFLUSH.
18396         (gl_FUNC_FFLUSH): Use it.
18397         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
18398         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
18399         gl_REPLACE_FSEEKO here.
18400
18401 2011-05-05  Bruno Haible  <bruno@clisp.org>
18402
18403         tzset: Relicense under LGPL.
18404         * modules/tzset (License): Change to LGPL.
18405         No agreement needed; it's a no-op.
18406
18407         strtoimax, strtoumax: Relicense under LGPL.
18408         * modules/strtoimax (License): Change to LGPL.
18409         * modules/strtoumax (License): Likewise.
18410         With permission from Jim Meyering, Paul Eggert:
18411         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
18412         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
18413
18414         getgroups: Relicense under LGPL.
18415         * modules/getgroups (License): Change to LGPL.
18416         With permission from Jim Meyering, Paul Eggert, Eric Blake:
18417         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18419         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18420
18421         nanosleep: Relicense under LGPL.
18422         * modules/nanosleep (License): Change to LGPL.
18423         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
18424         Haible:
18425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
18426         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
18427         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18428         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18429
18430         futimens: Relicense under LGPL.
18431         * modules/futimens (License): Change to LGPL.
18432         With permission from Eric Blake:
18433         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18434
18435         fflush: Relicense under LGPL.
18436         * modules/fflush (License): Change to LGPL.
18437         With permission from Eric Blake, Bruno Haible, Jim Meyering:
18438         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
18439         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
18440         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
18441
18442         tmpfile: Relicense under LGPL.
18443         * modules/tmpfile (License): Change to LGPL.
18444         With permission from Ben Pfaff:
18445         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18446
18447         isfinite: Relicense under LGPL.
18448         * modules/isfinite (License): Change to LGPL.
18449         With permission from Ben Pfaff, Bruno Haible:
18450         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
18451         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
18452
18453         acosl..tanl: Relicense under LGPL.
18454         * modules/acosl (License): Change to LGPL.
18455         * modules/asinl (License): Likewise.
18456         * modules/atanl (License): Likewise.
18457         * modules/cosl (License): Likewise.
18458         * modules/expl (License): Likewise.
18459         * modules/logl (License): Likewise.
18460         * modules/sinl (License): Likewise.
18461         * modules/sqrtl (License): Likewise.
18462         * modules/tanl (License): Likewise.
18463         Source code originally from glibc and Paolo Bonzini. Agreements:
18464         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
18465         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
18466
18467 2011-05-05  Bruno Haible  <bruno@clisp.org>
18468
18469         signal: Define sighandler_t.
18470         * lib/signal.in.h (sighandler_t): New type.
18471         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
18472         whether sighandler_t is defined.
18473         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
18474         * modules/signal (Depends-on): Add extensions.
18475         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
18476         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
18477         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
18478
18479 2011-05-05  Eric Blake  <eblake@redhat.com>
18480
18481         maint: remove useless REPLACE_*_H macros
18482         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
18483         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
18484         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
18485         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
18486         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
18487         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
18488         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
18489         * m4/btowc.m4: Update callers.
18490         * m4/dirfd.m4: Likewise.
18491         * m4/duplocale.m4: Likewise.
18492         * m4/fchdir.m4: Likewise.
18493         * m4/fdopendir.m4: Likewise.
18494         * m4/inet_ntop.m4: Likewise.
18495         * m4/inet_pton.m4: Likewise.
18496         * m4/ioctl.m4: Likewise.
18497         * m4/mbrlen.m4: Likewise.
18498         * m4/mbrtowc.m4: Likewise.
18499         * m4/mbsinit.m4: Likewise.
18500         * m4/mbsnrtowcs.m4: Likewise.
18501         * m4/mbsrtowcs.m4: Likewise.
18502         * m4/poll.m4: Likewise.
18503         * m4/setlocale.m4: Likewise.
18504         * m4/wcrtomb.m4: Likewise.
18505         * m4/wcsnrtombs.m4: Likewise.
18506         * m4/wcsrtombs.m4: Likewise.
18507         * m4/wctob.m4: Likewise.
18508         * m4/wcwidth.m4: Likewise.
18509         * modules/posix_spawn: Likewise.
18510         * modules/posix_spawn_file_actions_addclose: Likewise.
18511         * modules/posix_spawn_file_actions_adddup2: Likewise.
18512         * modules/posix_spawn_file_actions_addopen: Likewise.
18513         * modules/posix_spawn_file_actions_destroy: Likewise.
18514         * modules/posix_spawn_file_actions_init: Likewise.
18515         * modules/posix_spawnattr_destroy: Likewise.
18516         * modules/posix_spawnattr_getflags: Likewise.
18517         * modules/posix_spawnattr_getpgroup: Likewise.
18518         * modules/posix_spawnattr_getschedparam: Likewise.
18519         * modules/posix_spawnattr_getschedpolicy: Likewise.
18520         * modules/posix_spawnattr_getsigdefault: Likewise.
18521         * modules/posix_spawnattr_getsigmask: Likewise.
18522         * modules/posix_spawnattr_init: Likewise.
18523         * modules/posix_spawnattr_setflags: Likewise.
18524         * modules/posix_spawnattr_setpgroup: Likewise.
18525         * modules/posix_spawnattr_setschedparam: Likewise.
18526         * modules/posix_spawnattr_setschedpolicy: Likewise.
18527         * modules/posix_spawnattr_setsigdefault: Likewise.
18528         * modules/posix_spawnattr_setsigmask: Likewise.
18529         * modules/posix_spawnp: Likewise.
18530
18531 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
18532
18533         Add option to do-release-commit-and-tag to specify branch.
18534         * build-aux/do-release-commit-and-tag: Add --branch.
18535
18536 2011-05-03  Bruno Haible  <bruno@clisp.org>
18537
18538         Avoid unnecessary compilation units, through conditional dependencies.
18539         * modules/accept (Depends-on): Add conditions to the dependencies.
18540         * modules/acosl (Depends-on): Likewise.
18541         * modules/argz (Depends-on): Likewise.
18542         * modules/asinl (Depends-on): Likewise.
18543         * modules/atanl (Depends-on): Likewise.
18544         * modules/atoll (Depends-on): Likewise.
18545         * modules/bind (Depends-on): Likewise.
18546         * modules/btowc (Depends-on): Likewise.
18547         * modules/canonicalize-lgpl (Depends-on): Likewise.
18548         * modules/ceil (Depends-on): Likewise.
18549         * modules/ceilf (Depends-on): Likewise.
18550         * modules/ceill (Depends-on): Likewise.
18551         * modules/chdir-long (Depends-on): Likewise.
18552         * modules/chown (Depends-on): Likewise.
18553         * modules/close (Depends-on): Likewise.
18554         * modules/connect (Depends-on): Likewise.
18555         * modules/cosl (Depends-on): Likewise.
18556         * modules/dirfd (Depends-on): Likewise.
18557         * modules/dprintf (Depends-on): Likewise.
18558         * modules/dprintf-posix (Depends-on): Likewise.
18559         * modules/error (Depends-on): Likewise.
18560         * modules/euidaccess (Depends-on): Likewise.
18561         * modules/expl (Depends-on): Likewise.
18562         * modules/faccessat (Depends-on): Likewise.
18563         * modules/fchdir (Depends-on): Likewise.
18564         * modules/fclose (Depends-on): Likewise.
18565         * modules/fcntl (Depends-on): Likewise.
18566         * modules/fdopendir (Depends-on): Likewise.
18567         * modules/fflush (Depends-on): Likewise.
18568         * modules/floor (Depends-on): Likewise.
18569         * modules/floorf (Depends-on): Likewise.
18570         * modules/floorl (Depends-on): Likewise.
18571         * modules/fnmatch (Depends-on): Likewise.
18572         * modules/fopen (Depends-on): Likewise.
18573         * modules/fprintf-posix (Depends-on): Likewise.
18574         * modules/frexp (Depends-on): Likewise.
18575         * modules/frexp-nolibm (Depends-on): Likewise.
18576         * modules/frexpl (Depends-on): Likewise.
18577         * modules/frexpl-nolibm (Depends-on): Likewise.
18578         * modules/fseek (Depends-on): Likewise.
18579         * modules/fsusage (Depends-on): Likewise.
18580         * modules/ftell (Depends-on): Likewise.
18581         * modules/ftello (Depends-on): Likewise.
18582         * modules/futimens (Depends-on): Likewise.
18583         * modules/getcwd (Depends-on): Likewise.
18584         * modules/getcwd-lgpl (Depends-on): Likewise.
18585         * modules/getdelim (Depends-on): Likewise.
18586         * modules/getdomainname (Depends-on): Likewise.
18587         * modules/getgroups (Depends-on): Likewise.
18588         * modules/gethostname (Depends-on): Likewise.
18589         * modules/getline (Depends-on): Likewise.
18590         * modules/getlogin_r (Depends-on): Likewise.
18591         * modules/getopt-posix (Depends-on): Likewise.
18592         * modules/getpeername (Depends-on): Likewise.
18593         * modules/getsockname (Depends-on): Likewise.
18594         * modules/getsockopt (Depends-on): Likewise.
18595         * modules/getsubopt (Depends-on): Likewise.
18596         * modules/getusershell (Depends-on): Likewise.
18597         * modules/glob (Depends-on): Likewise.
18598         * modules/grantpt (Depends-on): Likewise.
18599         * modules/iconv_open (Depends-on): Likewise.
18600         * modules/iconv_open-utf (Depends-on): Likewise.
18601         * modules/inet_ntop (Depends-on): Likewise.
18602         * modules/inet_pton (Depends-on): Likewise.
18603         * modules/ioctl (Depends-on): Likewise.
18604         * modules/isapipe (Depends-on): Likewise.
18605         * modules/isfinite (Depends-on): Likewise.
18606         * modules/isinf (Depends-on): Likewise.
18607         * modules/lchown (Depends-on): Likewise.
18608         * modules/ldexpl (Depends-on): Likewise.
18609         * modules/link (Depends-on): Likewise.
18610         * modules/linkat (Depends-on): Likewise.
18611         * modules/listen (Depends-on): Likewise.
18612         * modules/logl (Depends-on): Likewise.
18613         * modules/lstat (Depends-on): Likewise.
18614         * modules/mbrlen (Depends-on): Likewise.
18615         * modules/mbrtowc (Depends-on): Likewise.
18616         * modules/mbsinit (Depends-on): Likewise.
18617         * modules/mbsnrtowcs (Depends-on): Likewise.
18618         * modules/mbsrtowcs (Depends-on): Likewise.
18619         * modules/mbtowc (Depends-on): Likewise.
18620         * modules/memcmp (Depends-on): Likewise.
18621         * modules/mkdir (Depends-on): Likewise.
18622         * modules/mkdtemp (Depends-on): Likewise.
18623         * modules/mkfifo (Depends-on): Likewise.
18624         * modules/mkfifoat (Depends-on): Likewise.
18625         * modules/mknod (Depends-on): Likewise.
18626         * modules/mkostemp (Depends-on): Likewise.
18627         * modules/mkostemps (Depends-on): Likewise.
18628         * modules/mkstemp (Depends-on): Likewise.
18629         * modules/mkstemps (Depends-on): Likewise.
18630         * modules/mktime (Depends-on): Likewise.
18631         * modules/nanosleep (Depends-on): Likewise.
18632         * modules/open (Depends-on): Likewise.
18633         * modules/openat (Depends-on): Likewise.
18634         * modules/perror (Depends-on): Likewise.
18635         * modules/poll (Depends-on): Likewise.
18636         * modules/popen (Depends-on): Likewise.
18637         * modules/posix_spawn (Depends-on): Likewise.
18638         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
18639         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
18640         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
18641         * modules/posix_spawnp (Depends-on): Likewise.
18642         * modules/pread (Depends-on): Likewise.
18643         * modules/printf-posix (Depends-on): Likewise.
18644         * modules/ptsname (Depends-on): Likewise.
18645         * modules/putenv (Depends-on): Likewise.
18646         * modules/pwrite (Depends-on): Likewise.
18647         * modules/readline (Depends-on): Likewise.
18648         * modules/readlink (Depends-on): Likewise.
18649         * modules/readlinkat (Depends-on): Likewise.
18650         * modules/recv (Depends-on): Likewise.
18651         * modules/recvfrom (Depends-on): Likewise.
18652         * modules/regex (Depends-on): Likewise.
18653         * modules/remove (Depends-on): Likewise.
18654         * modules/rename (Depends-on): Likewise.
18655         * modules/renameat (Depends-on): Likewise.
18656         * modules/rmdir (Depends-on): Likewise.
18657         * modules/round (Depends-on): Likewise.
18658         * modules/roundf (Depends-on): Likewise.
18659         * modules/roundl (Depends-on): Likewise.
18660         * modules/rpmatch (Depends-on): Likewise.
18661         * modules/select (Depends-on): Likewise.
18662         * modules/send (Depends-on): Likewise.
18663         * modules/sendto (Depends-on): Likewise.
18664         * modules/setenv (Depends-on): Likewise.
18665         * modules/setlocale (Depends-on): Likewise.
18666         * modules/setsockopt (Depends-on): Likewise.
18667         * modules/shutdown (Depends-on): Likewise.
18668         * modules/sigaction (Depends-on): Likewise.
18669         * modules/signbit (Depends-on): Likewise.
18670         * modules/sigprocmask (Depends-on): Likewise.
18671         * modules/sinl (Depends-on): Likewise.
18672         * modules/sleep (Depends-on): Likewise.
18673         * modules/snprintf (Depends-on): Likewise.
18674         * modules/snprintf-posix (Depends-on): Likewise.
18675         * modules/socket (Depends-on): Likewise.
18676         * modules/sprintf-posix (Depends-on): Likewise.
18677         * modules/sqrtl (Depends-on): Likewise.
18678         * modules/stat (Depends-on): Likewise.
18679         * modules/strchrnul (Depends-on): Likewise.
18680         * modules/strdup-posix (Depends-on): Likewise.
18681         * modules/strerror (Depends-on): Likewise.
18682         * modules/strerror_r-posix (Depends-on): Likewise.
18683         * modules/strndup (Depends-on): Likewise.
18684         * modules/strnlen (Depends-on): Likewise.
18685         * modules/strptime (Depends-on): Likewise.
18686         * modules/strsep (Depends-on): Likewise.
18687         * modules/strsignal (Depends-on): Likewise.
18688         * modules/strstr-simple (Depends-on): Likewise.
18689         * modules/strtod (Depends-on): Likewise.
18690         * modules/strtoimax (Depends-on): Likewise.
18691         * modules/strtok_r (Depends-on): Likewise.
18692         * modules/strtoumax (Depends-on): Likewise.
18693         * modules/symlink (Depends-on): Likewise.
18694         * modules/symlinkat (Depends-on): Likewise.
18695         * modules/tanl (Depends-on): Likewise.
18696         * modules/tcgetsid (Depends-on): Likewise.
18697         * modules/tmpfile (Depends-on): Likewise.
18698         * modules/trunc (Depends-on): Likewise.
18699         * modules/truncf (Depends-on): Likewise.
18700         * modules/truncl (Depends-on): Likewise.
18701         * modules/uname (Depends-on): Likewise.
18702         * modules/unlink (Depends-on): Likewise.
18703         * modules/unlockpt (Depends-on): Likewise.
18704         * modules/unsetenv (Depends-on): Likewise.
18705         * modules/usleep (Depends-on): Likewise.
18706         * modules/utimensat (Depends-on): Likewise.
18707         * modules/vasprintf (Depends-on): Likewise.
18708         * modules/vdprintf (Depends-on): Likewise.
18709         * modules/vdprintf-posix (Depends-on): Likewise.
18710         * modules/vfprintf-posix (Depends-on): Likewise.
18711         * modules/vprintf-posix (Depends-on): Likewise.
18712         * modules/vsnprintf (Depends-on): Likewise.
18713         * modules/vsnprintf-posix (Depends-on): Likewise.
18714         * modules/vsprintf-posix (Depends-on): Likewise.
18715         * modules/wcrtomb (Depends-on): Likewise.
18716         * modules/wcscasecmp (Depends-on): Likewise.
18717         * modules/wcscspn (Depends-on): Likewise.
18718         * modules/wcsdup (Depends-on): Likewise.
18719         * modules/wcsncasecmp (Depends-on): Likewise.
18720         * modules/wcsnrtombs (Depends-on): Likewise.
18721         * modules/wcspbrk (Depends-on): Likewise.
18722         * modules/wcsrtombs (Depends-on): Likewise.
18723         * modules/wcsspn (Depends-on): Likewise.
18724         * modules/wcsstr (Depends-on): Likewise.
18725         * modules/wcstok (Depends-on): Likewise.
18726         * modules/wcswidth (Depends-on): Likewise.
18727         * modules/wctob (Depends-on): Likewise.
18728         * modules/wctomb (Depends-on): Likewise.
18729         * modules/wctype (Depends-on): Likewise.
18730         * modules/wcwidth (Depends-on): Likewise.
18731         * modules/write (Depends-on): Likewise.
18732
18733 2011-05-03  Bruno Haible  <bruno@clisp.org>
18734
18735         Support for conditional dependencies.
18736         * doc/gnulib.texi (Module description): Document the syntax of
18737         conditional dependencies.
18738         * gnulib-tool: New option --conditional-dependencies.
18739         (func_usage): Document it.
18740         (cond_dependencies): New variable.
18741         (func_get_automake_snippet_conditional,
18742         func_get_automake_snippet_unconditional): New functions, extracted from
18743         func_get_automake_snippet.
18744         (func_get_automake_snippet): Use them.
18745         (sed_first_32_chars): New variable.
18746         (func_module_shellfunc_name): New function.
18747         (func_module_shellvar_name): New function.
18748         (func_module_conditional_name): New function.
18749         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
18750         func_cond_module_condition): New functions.
18751         (func_modules_transitive_closure): Add support for conditional
18752         dependencies.
18753         (func_emit_lib_Makefile_am): For a conditional module, enclose the
18754         conditional automake snippet in an automake conditional.
18755         (func_emit_autoconf_snippets): Emit shell functions that contain the
18756         code for conditional modules.
18757         (func_import, func_create_testdir): Update specification.
18758
18759 2011-05-03  Eric Blake  <eblake@redhat.com>
18760
18761         test-getaddrinfo: report error information
18762         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
18763
18764 2011-05-03  Jim Meyering  <meyering@redhat.com>
18765
18766         bootstrap: avoid build failure when $GZIP is set
18767         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
18768         program name.  If defined at all, it is supposed to list gzip options.
18769         Reported by Alan Curry in http://debbugs.gnu.org/8609
18770
18771 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
18772
18773         readme-release: new module with release instructions
18774         * modules/readme-release: New module.
18775         * top/README-release: New file, from coreutils, grep, diffutils.
18776         * MODULES.html.sh (Support for maintaining and releasing): Add it.
18777
18778 2011-05-02  Eric Blake  <eblake@redhat.com>
18779
18780         fflush: also replace fclose when fixing fflush
18781         * modules/fflush (Depends-on): Add fclose.
18782         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
18783         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
18784         memstreams with no backing fd.
18785         * doc/posix-functions/fclose.texi (fclose): Document the use of
18786         fflush module to fix the bug.
18787         * tests/test-fclose.c (main): Relax test when fclose is used in
18788         isolation.
18789
18790         fclose: add some tests
18791         * modules/fclose-tests: New test module.
18792         * tests/test-fclose.c: New file.
18793         * doc/posix-functions/fclose.texi (fclose): Document the bug.
18794
18795         fclose: reduced dependencies
18796         * modules/fclose (Depends-on): Switch from fflush/fseeko to
18797         simpler lseek.
18798         * lib/fclose.c (rpl_fclose): Likewise.
18799         Reported by Simon Josefsson.
18800
18801         exit: drop remaining clients
18802         * modules/argmatch (Depends-on): Replace exit with stdlib.
18803         * modules/copy-file (Depends-on): Likewise.
18804         * modules/execute (Depends-on): Likewise.
18805         * modules/exitfail (Depends-on): Likewise.
18806         * modules/obstack (Depends-on): Likewise.
18807         * modules/pagealign_alloc (Depends-on): Likewise.
18808         * modules/pipe-filter-gi (Depends-on): Likewise.
18809         * modules/pipe-filter-ii (Depends-on): Likewise.
18810         * modules/savewd (Depends-on): Likewise.
18811         * modules/spawn-pipe (Depends-on): Likewise.
18812         * modules/wait-process (Depends-on): Likewise.
18813         * modules/xsetenv (Depends-on): Likewise.
18814         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
18815         * modules/git-merge-changelog (Depends-on): Likewise.
18816         * modules/long-options (Depends-on): Likewise.
18817         * modules/pt_chown (Depends-on): Likewise.
18818         * modules/sysexits (Depends-on): Likewise.
18819
18820         freading: relax license from LGPLv3+ to LGPLv2+
18821         * modules/freading (License): Relax LGPL version.
18822
18823 2011-05-02  Bruno Haible  <bruno@clisp.org>
18824
18825         fchdir: Remove unused dependencies.
18826         * modules/fchdir (Depends-on): Remove include_next.
18827
18828 2011-05-02  Bruno Haible  <bruno@clisp.org>
18829
18830         gnulib-tool: Refactor.
18831         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
18832         from func_emit_autoconf_snippets.
18833         (func_emit_autoconf_snippets): Use it.
18834
18835 2011-05-02  Simon Josefsson  <simon@josefsson.org>
18836
18837         * NEWS: Document removal of 'exit'.
18838         * modules/exit: Remove file.
18839
18840 2011-05-01  Bruno Haible  <bruno@clisp.org>
18841
18842         Update DEPENDENCIES.
18843         * DEPENDENCIES (gettext): Recommend the newest release.
18844         Reported by Simon Josefsson.
18845
18846 2011-05-01  Bruno Haible  <bruno@clisp.org>
18847
18848         gnulib-tool: Reduce code duplication.
18849         * gnulib-tool (func_emit_autoconf_snippets): New function.
18850         (func_import, func_create_testdir): Use it.
18851
18852 2011-04-30  Eric Blake  <eblake@redhat.com>
18853
18854         fclose: don't fail on non-seekable input stream
18855         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
18856         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
18857         since fflush is allowed to fail in that case.
18858
18859 2011-04-30  Bruno Haible  <bruno@clisp.org>
18860
18861         dup3: cleanup
18862         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
18863
18864 2011-04-30  Bruno Haible  <bruno@clisp.org>
18865
18866         netdb: Make it work in C++ mode.
18867         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
18868         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
18869         module.
18870         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
18871         gl_MODULE_INDICATOR_FOR_TESTS.
18872         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
18873         * modules/netdb-c++-tests: New file.
18874         * tests/test-netdb-c++.cc: New file.
18875
18876 2011-04-30  Bruno Haible  <bruno@clisp.org>
18877
18878         New modules 'vfscanf', 'vscanf'.
18879         * modules/vfscanf: New file.
18880         * modules/vscanf: New file.
18881         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
18882         here.
18883         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
18884         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
18885
18886 2011-04-30  Bruno Haible  <bruno@clisp.org>
18887
18888         passfd: Add comments.
18889         * lib/passfd.c: Add comments about platforms.
18890
18891 2011-04-30  Bruno Haible  <bruno@clisp.org>
18892
18893         sys_uio: Make <sys/uio.h> self-contained.
18894         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
18895         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
18896
18897 2011-04-30  Bruno Haible  <bruno@clisp.org>
18898
18899         sys_socket: Ensure 'struct iovec' definition.
18900         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
18901         <sys/socket.h>.
18902         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
18903
18904 2011-04-30  Bruno Haible  <bruno@clisp.org>
18905
18906         sys_uio: Protect definition of 'struct iovec'.
18907         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
18908         it as a C struct.
18909
18910 2011-04-30  Bruno Haible  <bruno@clisp.org>
18911
18912         manywarnings: fix indentation
18913         * m4/manywarnings.m4: Indent by 2 spaces consistently.
18914
18915 2011-04-30  Pádraig Brady <P@draigBrady.com>
18916
18917         manywarnings: add -Wno-missing-field-initializers if needed.
18918         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
18919         option if it's needed to allow initialization with { 0, }
18920
18921 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
18922
18923         announce-gen: cosmetic improvement
18924         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
18925
18926 2011-04-29  Jim Meyering  <meyering@redhat.com>
18927
18928         vc-list-files: indent with spaces, not TABs
18929         * build-aux/vc-list-files: Convert leading TABs to spaces,
18930         to match the style of most other files in gnulib.
18931
18932         announce-gen: indent with spaces, not TABs
18933         * build-aux/announce-gen: Convert all TABs to spaces, to match
18934         the style of most other files in gnulib.
18935
18936 2011-04-29  Eric Blake  <eblake@redhat.com>
18937
18938         quotearg: avoid uninitialized variable use
18939         * lib/quotearg.c (quoting_options_from_style): Initialize
18940         remaining fields, and ensure that custom styles are only used via
18941         quoting_options rather than quoting_style.
18942
18943 2011-04-29  Jim Meyering  <meyering@redhat.com>
18944
18945         maint.mk: remove unused VC-tag variable
18946         * top/maint.mk (VC-tag): Remove unused variable.
18947
18948 2011-04-29  Bruno Haible  <bruno@clisp.org>
18949
18950         netdb: fix gai_strerror replacements
18951         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
18952         * modules/netdb: Substitute it.
18953
18954 2011-04-29  Jim Meyering  <meyering@redhat.com>
18955
18956         test-getcwd.c: avoid new set-but-not-used warning
18957         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
18958         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
18959         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
18960         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
18961
18962         test-hash.c: avoid a new shadowing warning
18963         * tests/test-hash.c (main): Don't shadow "dup".
18964
18965 2011-04-28  Eric Blake  <eblake@redhat.com>
18966
18967         getaddrinfo: fix gai_strerror signature
18968         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
18969         and work around mingw with UNICODE defined.
18970         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
18971         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
18972         * modules/netdb (Makefile.am): Substitute it.
18973         * lib/netdb.in.h (gai_strerror): Declare replacement.
18974         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
18975         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
18976         the fix.
18977
18978         getsockopt: avoid compiler warning
18979         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
18980         Reported by Matthias Bolte.
18981
18982         tests: drop unused link dependency
18983         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
18984         * modules/dirent-safer-tests (Makefile.am): Likewise.
18985         * modules/fdopendir-tests (Makefile.am): Likewise.
18986         * modules/mkfifoat-tests (Makefile.am): Likewise.
18987         * modules/openat-safer-tests (Makefile.am): Likewise.
18988         * modules/openat-tests (Makefile.am): Likewise.
18989         * modules/readlinkat-tests (Makefile.am): Likewise.
18990         * modules/symlinkat-tests (Makefile.am): Likewise.
18991         * modules/linkat-tests (Makefile.am): Likewise.
18992         (Depends-on): Switch to filenamecat-lgpl.
18993         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
18994         LIBINTL.
18995         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
18996         * tests/test-linkat.c (main): Don't require xalloc.
18997
18998         hash, mgetgroups: drop xalloc dependency
18999         * lib/hash.c (includes): Adjust includes.
19000         * lib/mgetgroups.c (includes): Likewise.
19001         (xgetgroups): Move...
19002         * lib/xgetgroups.c: ...to new file.
19003         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
19004         * modules/xgetgroups: New file, split from...
19005         * modules/mgetgroups: ...here.
19006         (Depends-on): Add xalloc-oversized.
19007         * modules/hash (Depends-on): Likewise.
19008         * modules/hash-tests (Depends-on): Drop xalloc.
19009         (test_hash_LDADD): Drop unused library.
19010         * tests/test-hash.c (main): Break xalloc dependency.
19011         (includes): Drop unused include.
19012
19013         xalloc-oversized: new module
19014         * modules/xalloc-oversized: New module.
19015         * modules/xalloc (Depends-on): Add it.
19016         * lib/xalloc.h (xalloc_oversized): Move...
19017         * lib/xalloc-oversized.h: ...into new file.
19018
19019         utimecmp: drop dependency on xmalloc
19020         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
19021         due to memory pressure.
19022         * modules/utimecmp (Depends-on): Drop xalloc.
19023
19024 2011-04-27  Eric Blake  <eblake@redhat.com>
19025
19026         getcwd: fix mingw bugs
19027         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
19028         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
19029         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
19030
19031 2011-04-27  Bruno Haible  <bruno@clisp.org>
19032
19033         mkstemps: Ensure declaration on MacOS X 10.5.
19034         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
19035         * doc/glibc-functions/mkstemps.texi: Document header file problem on
19036         MacOS X.
19037
19038 2011-04-27  Bruno Haible  <bruno@clisp.org>
19039
19040         mkstemp: More documentation.
19041         * doc/posix-functions/mkstemp.texi: Document header file problem on
19042         MacOS X.
19043
19044 2011-04-27  Bruno Haible  <bruno@clisp.org>
19045
19046         mkstemp: Tweak configure message when cross-compiling.
19047         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
19048         result as a guess.
19049
19050 2011-04-27  Bruno Haible  <bruno@clisp.org>
19051
19052         clean-temp: Clarify what it does.
19053         * lib/clean-temp.h: Add more comments.
19054         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
19055         module.
19056         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
19057         * doc/glibc-functions/mkstemps.texi: Likewise.
19058         * doc/glibc-functions/mkostemps.texi: Likewise.
19059
19060 2011-04-27  Eric Blake  <eblake@redhat.com>
19061
19062         fchdir: avoid extra chdir and fix test
19063         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
19064         getcwd-lgpl.
19065         * lib/fchdir.c (get_name): Any absolute name will do; it does not
19066         have to be canonical.
19067         (canonicalize_file_name): Drop unused macro.
19068         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
19069
19070         filenamecat-lgpl: fix licence
19071         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
19072         when it was first created.
19073
19074         linkat, renameat: add missing dependency
19075         * modules/linkat (Depends-on): Require getcwd-lgpl.
19076         * modules/renameat (Depends-on): Likewise.
19077
19078         tests: reduce dependencies
19079         * tests/test-linkat.c (main): Use lighter-weight getcwd.
19080         * tests/test-renameat.c (main): Likewise.
19081         * modules/linkat-tests (Depends-on): Relax dependency.
19082         * modules/renameat-tests (Depends-on): Likewise.
19083         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
19084         dependency explicit.
19085
19086         save-cwd: reduce default dependency
19087         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
19088         * lib/save-cwd.c: Update comments.
19089         * NEWS: Document the semantic change.
19090
19091         getcwd: enhance tests
19092         * tests/test-getcwd-lgpl.c: New file, taken from...
19093         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
19094         repeat long path stress tests from m4 probe.
19095         * modules/getcwd-lgpl-tests: New module.
19096         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
19097         * m4/getcwd-abort-bug.m4: Update comment.
19098         * m4/getcwd-path-max.m4: Likewise.
19099
19100         getcwd-lgpl: new module
19101         * modules/getcwd-lgpl: New module.
19102         * lib/getcwd-lgpl.c: New file.
19103         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19104         * MODULES.html.sh (lacking POSIX:2008): Likewise.
19105         * modules/getcwd (configure.ac): Set C witness.
19106         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
19107
19108         getcwd: tweak comments
19109         * m4/getcwd-abort-bug.m4: Fix comments.
19110         * m4/getcwd-path-max.m4: Likewise.
19111         * m4/getcwd.m4: Likewise.
19112
19113 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19114         and Eric Blake  <eblake@redhat.com>
19115
19116         mkstemp: replace if system version uses wrong permissions
19117         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
19118         read/write mode bits set in file created by mkstemp.
19119         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
19120
19121 2011-04-27  Eric Blake  <eblake@redhat.com>
19122
19123         passfd: avoid compiler warning
19124         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
19125         Reported by Laine Stump.
19126
19127 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
19128
19129         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
19130         required by the NetBSD (and perhaps other 4.4BSD derived) join.
19131
19132 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
19133         and Eric Blake  <eblake@redhat.com>
19134
19135         mkstemp: mention clean-temp module
19136         * lib/mkstemp.c: Add comment.
19137         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
19138
19139 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
19140
19141         inttypes: also provide default values for 32-bit tests
19142         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
19143         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
19144
19145 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
19146
19147         strtoumax: remove dependency on strtoimax
19148         This is like the strtoull change of yesterday.
19149         * modules/strtoumax (Files): Add lib/strtoimax.c.
19150         (Depends-on): Remove strtoimax and add verify.
19151
19152         inttypes-incomplete: new module
19153         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
19154         all but the PRI* and SCN* parts of gl_INTTYPES_H.
19155         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
19156         of gl_INTTYPES_H.
19157         (gl_INTTYPES_H): Rewrite in terms of these new macros.
19158         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
19159         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
19160         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
19161         * modules/strtoumax, modules/xstrtol (Depends-on):
19162         Depend on inttypes-incomplete, not inttypes.
19163         * modules/inttypes-incomplete: New module, containing the contents
19164         of the old modules/inttypes module, except that the Files: section
19165         omits m4/inttypes-pri.m4, and the configure.ac section invokes
19166         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
19167         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
19168         (Depends-on): Depend only on inttypes-incomplete.
19169         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
19170
19171         inttypes: omit now-redundant strtoimax and strtoumax work
19172         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
19173         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
19174
19175         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
19176         This supports apps that need pointers to strtoimax and strtoumax,
19177         and ports to HP-UX 11.00 64.bit, which has macros that expand to
19178         nonexistent functions.  See
19179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
19180         et seq.
19181         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
19182         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
19183         a macro.
19184         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
19185
19186 2011-04-25  Simon Josefsson  <simon@josefsson.org>
19187
19188         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
19189
19190 2011-04-25  Bruno Haible  <bruno@clisp.org>
19191
19192         strtol, strtoul: Mark modules as obsolete.
19193         * modules/strtol (Status, Notice): New sections.
19194         * modules/strtoul (Status, Notice): New sections.
19195
19196 2011-04-25  Bruno Haible  <bruno@clisp.org>
19197
19198         strtod: Remove check for strtod, unless supporting old platforms.
19199         * modules/strtod-obsolete: New file.
19200         * m4/strtod-obsolete.m4: New file.
19201         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
19202         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
19203         * modules/strtod (Depends-on): Add strtod-obsolete.
19204         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
19205
19206 2011-04-25  Bruno Haible  <bruno@clisp.org>
19207
19208         strcase: Make module obsolete.
19209         * modules/strcase (Status, Notice): New sections.
19210
19211 2011-04-25  Bruno Haible  <bruno@clisp.org>
19212
19213         dup2: Remove check for dup2, unless supporting old obsolete platforms.
19214         * modules/dup2-obsolete: New file.
19215         * m4/dup2-obsolete.m4: New file.
19216         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
19217         gl_FUNC_DUP2_OBSOLETE is not also defined.
19218         * modules/dup2 (Depends-on): Add dup2-obsolete.
19219         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
19220
19221 2011-04-25  Bruno Haible  <bruno@clisp.org>
19222
19223         strnlen: Avoid memchr related link error on old obsolete platforms.
19224         * modules/memchr-obsolete: New file.
19225         * m4/memchr-obsolete.m4: New file.
19226         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
19227         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
19228         * modules/memchr (Depends-on): Add memchr-obsolete.
19229         * modules/strnlen (Depends-on): Likewise.
19230         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
19231
19232 2011-04-25  Jim Meyering  <meyering@redhat.com>
19233
19234         maint.mk: makefile_at_at_check extend and clean up
19235         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
19236         in addition to */Makefile.am.
19237         Exempt legitimate uses of @VAR@ notation, e.g.,
19238         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
19239         Remove obsolete coreutils-specific comment.
19240         Prompted by discussion here:
19241         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
19242
19243 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
19244
19245         strtoul: remove dependency on strtol
19246         This is so that 'configure' need not check for strtol merely because
19247         the application needs strtoul.
19248         * modules/strtoul (Files): Add lib/strtol.c.
19249         (Depends-on): Remove strtol.
19250
19251         strtoull: remove dependency on strtoul
19252         This is like the strtoll change.
19253         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
19254         (Depends-on): Remove strtoul.
19255
19256         strtoll: remove dependency on strtol
19257         This is so that 'configure' need not check for strtol merely because
19258         the application needs strtoll.
19259         * modules/strtoll (Files): Add lib/strtol.c.
19260         (Depends-on): Remove strtol.
19261
19262 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19263
19264         inttypes: Move some configure check to module 'imaxdiv'.
19265         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
19266         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
19267         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
19268
19269 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19270
19271         inttypes: Move some configure check to module 'imaxabs'.
19272         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
19273         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
19274         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
19275
19276 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19277
19278         inttypes: Remove configure tests that are not needed since 2009-12-31.
19279         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
19280         gl_cv_header_working_inttypes_h.
19281
19282 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
19283
19284         * modules/strnlen (Depends-on): Remove memchr.
19285         The strnlen implementation doesn't need the memchr module's fixes; see
19286         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
19287
19288         strtol: remove dependency on wchar
19289         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
19290         * modules/strtol (Depends-on): Remove wchar.
19291
19292 2011-04-21  Eric Blake  <eblake@redhat.com>
19293
19294         passfd: fix test regression on Linux
19295         * modules/passfd-tests (configure.ac): Correct socketpair check.
19296
19297         passfd: speed up configure and drop unused code
19298         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
19299         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
19300         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
19301         Instead of probing at configure for unix_scm_rights_bsd44_way,
19302         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
19303         check to a struct member probe.
19304         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
19305         (sendfd, recvfd): Update preprocessor checks.
19306         * modules/passfd (Files): Reflect rename, and drop unused file.
19307         (Depends-on): Drop unused dependency.
19308
19309         passfd: allow compilation on mingw
19310         * modules/sys_socket (Depends-on): Add sys_uio.
19311         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
19312         iovec and a minimal struct msghdr.
19313         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
19314         * tests/test-sys_socket.c (main): Enhance test.
19315         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
19316         guaranteed to provide what we need.
19317         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
19318         * modules/passfd-tests (Depends-on): Add sys_wait.
19319         * tests/test-passfd.c (main): Skip test on mingw, for now.
19320         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
19321         partial 'struct msghdr' implementation.
19322
19323         sys_uio: new module
19324         * modules/sys_uio: New module.
19325         * modules/sys_uio-tests: Likewise.
19326         * lib/sys_uio.in.h: New file.
19327         * m4/sys_uio_h.m4: Likewise.
19328         * tests/test-sys_uio.c: Likewise.
19329         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
19330         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
19331
19332 2011-04-20  Jim Meyering  <meyering@redhat.com>
19333
19334         useless-if-before-free: avoid false-positive
19335         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
19336         disjunct so that it too requires a terminating ";".  Without that,
19337         this script would identify as useless one statement from gcc that
19338         was not:
19339           if (aligned_ptr)
19340             free (((void **) aligned_ptr) [-1]);
19341
19342 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
19343
19344         doc: update users.txt.
19345         * users.txt: Add barcode.
19346
19347 2011-04-19  Bruno Haible  <bruno@clisp.org>
19348
19349         ioctl: Remove link dependency on native Windows.
19350         * lib/fd-hook.h: Renamed from lib/close-hook.h.
19351         (gl_close_fn, gl_ioctl_fn): New types.
19352         (struct fd_hook): Renamed from struct close_hook. Change type of
19353         private_close_fn field. Add private_ioctl_fn field.
19354         (close_hook_fn): Add parameter for primary close method.
19355         (execute_close_hooks, execute_all_close_hooks): Likewise.
19356         (ioctl_hook_fn): New type.
19357         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
19358         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19359         argument.
19360         (unregister_fd_hook): Renamed from unregister_close_hook.
19361         * lib/fd-hook.c: Renamed from lib/close-hook.c.
19362         Don't include <unistd.h>.
19363         (close): Remove undef.
19364         (anchor): Update.
19365         (execute_close_hooks): Add argument for primary close method.
19366         (execute_all_close_hooks): Likewise.
19367         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
19368         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
19369         argument. Allow each argument to be NULL.
19370         (unregister_fd_hook): Renamed from unregister_close_hook.
19371         * lib/close.c (rpl_close): Pass 'close' function pointer to
19372         execute_all_close_hooks.
19373         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
19374         (primary_ioctl): New function.
19375         (ioctl): Don't call ioctlsocket here. Instead, call
19376         execute_all_ioctl_hooks.
19377         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
19378         close method.
19379         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
19380         (fd_sockets_hook): Renamed from close_sockets_hook.
19381         (gl_sockets_startup, gl_sockets_cleanup): Update.
19382         * modules/fd-hook: Renamed from modules/close-hook. Update.
19383         * modules/close (Depends-on): Add fd-hook, remove close-hook.
19384         * modules/sockets (Depends-on): Likewise.
19385         * modules/ioctl (Depends-on): Add fd-hook.
19386         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
19387         GNULIB_SOCKET.
19388
19389 2011-04-19  Bruno Haible  <bruno@clisp.org>
19390
19391         Move the support of O_NONBLOCK in open() to the 'open' module.
19392         * modules/nonblocking (Depends-on): Remove 'open'.
19393         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
19394         gl_cv_have_open_O_NONBLOCK.
19395         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
19396         O_NONBLOCK support.
19397         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
19398
19399 2011-04-17  Bruno Haible  <bruno@clisp.org>
19400
19401         pipe2: Simplify code.
19402         * lib/pipe2.c (pipe2): Reduce code duplication.
19403
19404 2011-04-17  Bruno Haible  <bruno@clisp.org>
19405
19406         nonblocking: Add comment.
19407         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
19408
19409 2011-04-17  Bruno Haible  <bruno@clisp.org>
19410
19411         nonblocking: Add tests for sockets.
19412         * tests/test-nonblocking-socket.sh: New file.
19413         * tests/test-nonblocking-socket-main.c: New file.
19414         * tests/test-nonblocking-socket-child.c: New file.
19415         * tests/test-nonblocking-socket.h: New file.
19416         * tests/socket-server.h: New file.
19417         * tests/socket-client.h: New file.
19418         * modules/nonblocking-socket-tests: New file.
19419         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
19420
19421 2011-04-17  Bruno Haible  <bruno@clisp.org>
19422
19423         nonblocking: Add tests for pipes.
19424         * tests/test-nonblocking-pipe.sh: New file.
19425         * tests/test-nonblocking-pipe-main.c: New file.
19426         * tests/test-nonblocking-pipe-child.c: New file.
19427         * tests/test-nonblocking-pipe.h: New file.
19428         * tests/test-nonblocking-writer.h: New file.
19429         * tests/test-nonblocking-reader.h: New file.
19430         * tests/test-nonblocking-misc.h: New file.
19431         * modules/nonblocking-pipe-tests: New file.
19432         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
19433
19434 2011-04-16  Bruno Haible  <bruno@clisp.org>
19435
19436         gettext: Clarify the needed programmer actions.
19437         * modules/gettext (Notice): New field.
19438         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
19439
19440 2011-04-16  Bruno Haible  <bruno@clisp.org>
19441
19442         strchrnul: Tweak last commit.
19443         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
19444         bug.
19445         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
19446         as in _GL_FUNCDECL_SYS.
19447         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
19448         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
19449
19450 2011-04-15  Eric Blake  <eblake@redhat.com>
19451
19452         strchrnul: work around cygwin bug
19453         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
19454         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
19455         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
19456         * modules/string (Makefile.am): Substitute it.
19457         * lib/string.in.h (strchrnul): Use it.
19458
19459 2011-04-15  Bruno Haible  <bruno@clisp.org>
19460
19461         Don't require lib/stdio-write.c when only module 'stdio' is used.
19462         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
19463         invocation.
19464         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
19465
19466 2011-04-14  Bruno Haible  <bruno@clisp.org>
19467
19468         Support non-blocking pipe I/O in read() on native Windows.
19469         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
19470         (read): New declaration.
19471         * lib/read.c: New file.
19472         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
19473         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
19474         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
19475         vscanf): New declarations.
19476         * lib/stdio-read.c: New file.
19477         * m4/read.m4: New file.
19478         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
19479         REPLACE_READ.
19480         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
19481         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19482         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
19483         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
19484         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
19485         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19486         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19487         * modules/read: New file.
19488         * modules/nonblocking (Files): Add lib/stdio-read.c.
19489         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
19490         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
19491         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
19492         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
19493         * modules/pread (Depends-on): Add read.
19494         * modules/safe-read (Depends-on): Likewise.
19495         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
19496         gets, scanf, vfscanf, vscanf): Verify signatures.
19497         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
19498         problem with non-blocking pipes.
19499         * doc/posix-functions/fgetc.texi: Likewise.
19500         * doc/posix-functions/fgets.texi: Likewise.
19501         * doc/posix-functions/fread.texi: Likewise.
19502         * doc/posix-functions/fscanf.texi: Likewise.
19503         * doc/posix-functions/getc.texi: Likewise.
19504         * doc/posix-functions/getchar.texi: Likewise.
19505         * doc/posix-functions/gets.texi: Likewise.
19506         * doc/posix-functions/scanf.texi: Likewise.
19507         * doc/posix-functions/vfscanf.texi: Likewise.
19508         * doc/posix-functions/vscanf.texi: Likewise.
19509
19510 2011-04-14  Bruno Haible  <bruno@clisp.org>
19511
19512         Support non-blocking pipe I/O in write() on native Windows.
19513         * lib/write.c (rpl_write): Split a write request that failed merely
19514         because the byte count was larger than the pipe buffer's size.
19515         * doc/posix-functions/write.texi: Mention the problem with large byte
19516         counts.
19517
19518 2011-04-14  Bruno Haible  <bruno@clisp.org>
19519
19520         wchar: Ensure that wchar_t gets defined on uClibc.
19521         * lib/wchar.in.h: On uClibc, include <stddef.h>.
19522         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
19523
19524 2011-04-13  Bruno Haible  <bruno@clisp.org>
19525
19526         safe-write, full-read: Avoid unnecessary compilation units.
19527         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
19528         (Depends-on): Remove safe-read. Add ssize_t.
19529         * modules/full-read (Files): Add lib/full-write.c.
19530         (Depends-on): Add full-write.
19531
19532 2011-04-13  Bruno Haible  <bruno@clisp.org>
19533
19534         Support non-blocking pipe I/O and SIGPIPE in pwrite().
19535         * modules/pwrite (Depends-on): Add 'write'.
19536
19537 2011-04-13  Bruno Haible  <bruno@clisp.org>
19538
19539         Support non-blocking pipe I/O in write() on native Windows.
19540         * lib/unistd.in.h (write): Enable replacement also if
19541         GNULIB_UNISTD_H_NONBLOCKING is 1.
19542         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
19543         (rpl_write): When failing to write on a non-blocking pipe, change
19544         errno from ENOSPC to EAGAIN.
19545         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
19546         putchar, puts, vfprintf, vprintf): Enable replacement also if
19547         GNULIB_STDIO_H_NONBLOCKING is 1.
19548         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
19549         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
19550         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
19551         CALL_WITH_SIGPIPE_EMULATION.
19552         (CALL_WITH_SIGPIPE_EMULATION): Use them.
19553         * m4/nonblocking.m4: New file.
19554         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
19555         for non-blocking I/O support.
19556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
19557         GNULIB_UNISTD_H_NONBLOCKING.
19558         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
19559         required for non-blocking I/O support.
19560         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
19561         * modules/nonblocking (Files): Add m4/nonblocking.m4,
19562         lib/stdio-write.c, m4/asm-underscore.m4.
19563         (Depends-on): Add stdio, unistd.
19564         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
19565         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
19566         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
19567         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
19568         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
19569         problem with non-blocking pipes.
19570         * doc/posix-functions/fputc.texi: Likewise.
19571         * doc/posix-functions/fputs.texi: Likewise.
19572         * doc/posix-functions/fwrite.texi: Likewise.
19573         * doc/posix-functions/printf.texi: Likewise.
19574         * doc/posix-functions/putc.texi: Likewise.
19575         * doc/posix-functions/putchar.texi: Likewise.
19576         * doc/posix-functions/puts.texi: Likewise.
19577         * doc/posix-functions/vfprintf.texi: Likewise.
19578         * doc/posix-functions/vprintf.texi: Likewise.
19579         * doc/posix-functions/write.texi: Likewise.
19580
19581 2011-04-10  Jim Meyering  <meyering@redhat.com>
19582
19583         maint.mk: prohibit doubled words
19584         Detect them also when they're separated by a newline.
19585         There are 3 ways to customize it:
19586           - disable the test on a per file basis, as usual with rules using
19587             $(VC_LIST_EXCEPT)
19588           - replace the default doubled-word-selecting regexp (affects all files)
19589           - ignore a particular file-vs-doubled-word match
19590         I nearly used that last one to ignore the "is is" match in
19591         coreutils' NEWS file, since the text was "ls -is is ..."
19592         To do that, I would have added this line to cfg.mk:
19593           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
19594         but it would have ignored any "is is" match in NEWS.
19595         Low probability, but still...
19596         Instead, I changed the text, slightly:
19597           -  ls -is is now consistent with ls -lis in ignoring values returned
19598           +  "ls -is" is now consistent with ls -lis in ignoring values returned
19599         * top/maint.mk (prohibit_double_word_RE_): Provide default.
19600         (prohibit_doubled_word_): Define.
19601         (sc_prohibit_doubled_word): New rule.
19602         (sc_prohibit_the_the): Remove.  Subsumed by the above.
19603
19604 2011-04-10  Jim Meyering  <meyering@redhat.com>
19605
19606         maint: fix doubled-word typo in comment
19607         * m4/gethostname.m4: s/is is/it is/
19608         * m4/getdomainname.m4: Likewise.
19609
19610 2011-04-10  Jim Meyering  <meyering@redhat.com>
19611
19612         maint: remove doubled word: s/it it/it/
19613         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
19614
19615 2011-04-10  Jim Meyering  <meyering@redhat.com>
19616
19617         maint.mk: remove useless semicolon and backslash
19618         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
19619         semicolon and backslash.
19620
19621 2011-04-10  Bruno Haible  <bruno@clisp.org>
19622
19623         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
19624         * modules/stdint-tests (Depends-on): Add wchar.
19625
19626 2011-04-10  Jim Meyering  <meyering@redhat.com>
19627
19628         maint: remove doubled words in comments, e.g., s/a a/a/
19629         * lib/strptime.c (day_of_the_week): s/the the/the/
19630         * tests/test-chown.h (test_chown): s/a a/a/
19631
19632         test-chown.h: correct a cast
19633         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
19634         when the destination is a stat.st_gid.
19635
19636 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
19637
19638         getaddrinfo: Fix test for sa_len member.
19639         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
19640         include <sys/types.h> before <sys/socket.h>.
19641
19642 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
19643
19644         maint: change "can not" to "cannot"
19645         * doc/posix-functions/iconv.texi (iconv): This one crossed line
19646         boundaries.
19647
19648 2011-04-09  Jim Meyering  <meyering@redhat.com>
19649
19650         maint: change "a a" to "a"
19651         * tests/test-lchown.h (test_lchown): s/a a/a/
19652
19653         maint.mk: prohibit \<the the\>
19654         * top/maint.mk (sc_prohibit_the_the): New rule.
19655
19656         maint: fix "the the" in comment
19657         * lib/count-one-bits.h: s/the the/the/
19658
19659         maint: change "can not" to "cannot"
19660         But do not change the occurrences in maintain.texi or in
19661         build-aux/po/Makefile.in.in, which I presume comes from gettext.
19662         * doc/gnulib-tool.texi: s/can not/cannot/
19663         * doc/posix-functions/accept.texi (accept): Likewise.
19664         * doc/posix-functions/socket.texi (socket): Likewise.
19665         * lib/mbrtowc.c: Likewise.
19666
19667         maint.mk: prohibit use of "can not"
19668         * top/maint.mk (sc_prohibit_can_not): New rule.
19669         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
19670
19671 2011-04-09  Bruno Haible  <bruno@clisp.org>
19672
19673         careadlinkat: Guard against misuse of careadlinkatcwd.
19674         * lib/careadlinkat.c: Include <stdlib.h>.
19675         (careadlinkatcwd): Check that the fd argument is as expected.
19676
19677 2011-04-09  Bruno Haible  <bruno@clisp.org>
19678
19679         careadlinkat: Use common coding style.
19680         * lib/careadlinkat.c: Move gnulib includes after system includes.
19681
19682 2011-04-09  Bruno Haible  <bruno@clisp.org>
19683
19684         careadlinkat: Clarify specification.
19685         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
19686         (careadlinkatcwd): Add comment.
19687         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
19688
19689 2011-04-09  Bruno Haible  <bruno@clisp.org>
19690
19691         areadlinkat: Avoid link error on many platforms.
19692         * modules/areadlinkat (Depends-on): Add areadlink.
19693
19694 2011-04-09  Bruno Haible  <bruno@clisp.org>
19695
19696         allocator, careadlinkat: Fix double-inclusion guard.
19697         * lib/allocator.h: Fix double-inclusion guard.
19698         * lib/careadlinkat.h: Likewise.
19699
19700 2011-04-09  Bruno Haible  <bruno@clisp.org>
19701
19702         relocatable-prog-wrapper: Update after module 'areadlink' changed.
19703         * lib/relocwrapper.c: Update dependencies hierarchy.
19704         * build-aux/install-reloc: Update list of files to be compiled.
19705         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
19706         lib/allocator.[hc].
19707
19708 2011-04-08  Eric Blake  <eblake@redhat.com>
19709
19710         strftime: silence gnulib-tool warning
19711         * modules/strftime-tests (Depends-on): Drop automatic dependency.
19712
19713 2011-04-08  Bruno Haible  <bruno@clisp.org>
19714
19715         verify: Fix syntax error with GCC 4.6 in C++ mode.
19716         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
19717         (HAVE_STATIC_ASSERT): New macro.
19718         (verify_true, verify): Use 'static_assert' if it is supported and
19719         '_Static_assert' is not supported.
19720
19721 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
19722
19723         allocator: New module.
19724         * modules/allocator, lib/allocator.c: New files.
19725         * lib/allocator.h (stdlib_allocator): New decl.
19726         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
19727         Remove.  Do not include <stdlib.h>.
19728         (careadlinkat): Use stdlib_allocator instead of rolling our own.
19729         * modules/careadlinkat (Files): Remove lib/allocator.h.
19730         (Depends-on): Add allocator.
19731
19732         stdlib: let modules use system malloc, realloc
19733         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
19734         if !_GL_USE_STDLIB_ALLOC.
19735         (malloc, realloc): Limit this change to a smaller scope.
19736
19737         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
19738         (malloc, realloc): Don't #undef; no longer needed.
19739         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19740         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19741         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19742         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19743         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19744         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19745         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
19746         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
19747
19748         careadlinkat: rename members to avoid problem
19749         * lib/allocator.h (struct allocator): Rename members from
19750         malloc/realloc to allocate/reallocate, to avoid problems if malloc
19751         and realloc are #define'd.  Reported by Eric Blake in
19752         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
19753         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
19754
19755 2011-04-08  Eric Blake  <eblake@redhat.com>
19756
19757         nonblocking: reduce dependency
19758         * tests/test-nonblocking.c: Only test sockets when in use.
19759         * modules/nonblocking-tests (Depends-on): Drop socket.
19760         (Makefile.am): Link even if sockets are not present.
19761         * modules/pipe2-tests (Makefile.am): Likewise.
19762         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
19763
19764         pipe2: fix O_NONBLOCK support on mingw
19765         * modules/pipe2 (Depends-on): Add nonblocking.
19766         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
19767         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
19768         * tests/test-nonblocking.c (main): Likewise.
19769         * modules/pipe2-tests (Makefile.am): Avoid link failure.
19770
19771         fcntl-h: fix O_ACCMODE on cygwin
19772         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
19773         * lib/fcntl.in.h (O_ACCMODE): Fix it.
19774
19775         pipe-filter: drop O_NONBLOCK workarounds
19776         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
19777         * modules/pipe-filter-ii (Depends-on): Likewise.
19778         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
19779
19780         nonblocking: provide O_NONBLOCK for mingw
19781         * modules/nonblocking (Depends-on): Add open.
19782         (configure.ac): Set new witness macro.
19783         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
19784         * modules/fcntl-h (Makefile.am): Substitute it.
19785         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
19786         nonblocking module is in use.
19787         * lib/nonblocking.c: Adjust portability test.
19788         * lib/open.c (open): Don't let native open see gnulib flag.
19789         * tests/test-fcntl-h.c (main): Enhance test.
19790         * tests/test-open.h (test_open): Likewise.
19791         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
19792
19793         careadlinkat: fix compilation error on mingw
19794         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
19795         within struct allocator.
19796
19797 2011-04-06  Eric Blake  <eblake@redhat.com>
19798
19799         binary-io: relicense under LGPLv2+
19800         * modules/binary-io (License): Relax to LGPLv2+.
19801         Requested for libvirt, and required by pipe2.
19802
19803 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
19804
19805         verify: use _Static_assert if available
19806         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
19807         (verify_true, verify): Use it if available.  This generates better
19808         diagnostics with GCC 4.6.0 and later.
19809
19810 2011-04-05  Bruno Haible  <bruno@clisp.org>
19811
19812         Remove leftover generated .h files after config.status changed.
19813
19814         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
19815         GL_GENERATE_ALLOCA_H.
19816         * modules/alloca-opt (Makefile.am): Remove alloca.h if
19817         GL_GENERATE_ALLOCA_H evaluates to false.
19818
19819         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
19820         GL_GENERATE_ARGZ_H.
19821         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
19822         evaluates to false.
19823
19824         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
19825         GL_GENERATE_BYTESWAP_H.
19826         * modules/byteswap (Makefile.am): Remove byteswap.h if
19827         GL_GENERATE_BYTESWAP_H evaluates to false.
19828
19829         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
19830         GL_GENERATE_ERRNO_H.
19831         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
19832         evaluates to false.
19833
19834         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
19835         GL_GENERATE_FLOAT_H.
19836         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
19837         evaluates to false.
19838
19839         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
19840         GL_GENERATE_FNMATCH_H.
19841         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
19842         GL_GENERATE_FNMATCH_H evaluates to false.
19843
19844         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
19845         GL_GENERATE_GLOB_H.
19846         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
19847         evaluates to false.
19848
19849         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
19850         automake conditional GL_GENERATE_ICONV_H.
19851         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
19852         evaluates to false.
19853
19854         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
19855         GL_GENERATE_NETINET_IN_H.
19856         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
19857         GL_GENERATE_NETINET_IN_H evaluates to false.
19858
19859         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
19860         conditional GL_GENERATE_PTHREAD_H.
19861         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
19862         * modules/pthread (Makefile.am): Remove pthread.h if
19863         GL_GENERATE_PTHREAD_H evaluates to false.
19864
19865         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
19866         GL_GENERATE_SCHED_H.
19867         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
19868         evaluates to false.
19869
19870         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
19871         conditional GL_GENERATE_SELINUX_CONTEXT_H.
19872         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
19873         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
19874
19875         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
19876         GL_GENERATE_STDARG_H.
19877         * modules/stdarg (Makefile.am): Remove stdarg.h if
19878         GL_GENERATE_STDARG_H evaluates to false.
19879
19880         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
19881         GL_GENERATE_STDBOOL_H.
19882         * modules/stdbool (Makefile.am): Remove stdbool.h if
19883         GL_GENERATE_STDBOOL_H evaluates to false.
19884
19885         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
19886         conditional GL_GENERATE_STDDEF_H.
19887         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
19888         * modules/stddef (Makefile.am): Remove stddef.h if
19889         GL_GENERATE_STDDEF_H evaluates to false.
19890
19891         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
19892         GL_GENERATE_STDINT_H.
19893         * modules/stdint (Makefile.am): Remove stdint.h if
19894         GL_GENERATE_STDINT_H evaluates to false.
19895
19896         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
19897         GL_GENERATE_SYSEXITS_H.
19898         * modules/sysexits (Makefile.am): Remove sysexits.h if
19899         GL_GENERATE_SYSEXITS_H evaluates to false.
19900
19901         Reported by Karl Berry and Ralf Wildenhues.
19902
19903 2011-04-05  Bruno Haible  <bruno@clisp.org>
19904
19905         Ensure to rebuild generated .h files when config.status has changed.
19906         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
19907         config.status.
19908         * modules/ctype (Makefile.am): Likewise.
19909         * modules/dirent (Makefile.am): Likewise.
19910         * modules/errno (Makefile.am): Likewise.
19911         * modules/fcntl-h (Makefile.am): Likewise.
19912         * modules/float (Makefile.am): Likewise.
19913         * modules/getopt-posix (Makefile.am): Likewise.
19914         * modules/glob (Makefile.am): Likewise.
19915         * modules/iconv-h (Makefile.am): Likewise.
19916         * modules/inttypes (Makefile.am): Likewise.
19917         * modules/langinfo (Makefile.am): Likewise.
19918         * modules/locale (Makefile.am): Likewise.
19919         * modules/math (Makefile.am): Likewise.
19920         * modules/netdb (Makefile.am): Likewise.
19921         * modules/netinet_in (Makefile.am): Likewise.
19922         * modules/poll-h (Makefile.am): Likewise.
19923         * modules/pthread (Makefile.am): Likewise.
19924         * modules/pty (Makefile.am): Likewise.
19925         * modules/sched (Makefile.am): Likewise.
19926         * modules/search (Makefile.am): Likewise.
19927         * modules/selinux-h (Makefile.am): Likewise.
19928         * modules/signal (Makefile.am): Likewise.
19929         * modules/spawn (Makefile.am): Likewise.
19930         * modules/stdarg (Makefile.am): Likewise.
19931         * modules/stdbool (Makefile.am): Likewise.
19932         * modules/stddef (Makefile.am): Likewise.
19933         * modules/stdint (Makefile.am): Likewise.
19934         * modules/stdio (Makefile.am): Likewise.
19935         * modules/stdlib (Makefile.am): Likewise.
19936         * modules/string (Makefile.am): Likewise.
19937         * modules/strings (Makefile.am): Likewise.
19938         * modules/sys_file (Makefile.am): Likewise.
19939         * modules/sys_ioctl (Makefile.am): Likewise.
19940         * modules/sys_select (Makefile.am): Likewise.
19941         * modules/sys_socket (Makefile.am): Likewise.
19942         * modules/sys_stat (Makefile.am): Likewise.
19943         * modules/sys_time (Makefile.am): Likewise.
19944         * modules/sys_times (Makefile.am): Likewise.
19945         * modules/sys_utsname (Makefile.am): Likewise.
19946         * modules/sys_wait (Makefile.am): Likewise.
19947         * modules/sysexits (Makefile.am): Likewise.
19948         * modules/termios (Makefile.am): Likewise.
19949         * modules/time (Makefile.am): Likewise.
19950         * modules/unistd (Makefile.am): Likewise.
19951         * modules/wchar (Makefile.am): Likewise.
19952         * modules/wctype-h (Makefile.am): Likewise.
19953         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
19954
19955 2011-04-05  Bruno Haible  <bruno@clisp.org>
19956
19957         pipe2: Relicense under LGPLv2+.
19958         * modules/pipe2 (License): Change to LGPLv2+.
19959         Requested by Eric Blake, for libvirt.
19960
19961 2011-04-05  Bruce Korb  <bkorb@gnu.org>
19962
19963         bootstrap: compute gnulib_extra_files after updating build_aux
19964         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
19965         change build_aux or also supply gnulib_extra_files.  Handle correctly.
19966
19967 2011-04-05  Eric Blake  <eblake@redhat.com>
19968
19969         bootstrap: preserve git whitelist item sorting
19970         * build-aux/bootstrap (sort_patterns): New function.
19971         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
19972
19973 2011-04-05  Simon Josefsson  <simon@josefsson.org>
19974
19975         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
19976         sc_space_tab check.
19977
19978 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19979
19980         areadlink, areadlinkat: rewrite in terms of careadlinkat
19981         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
19982         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
19983         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
19984         (malloc, realloc): Remove #undefs.
19985         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
19986         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
19987         readlink, ssize_t, stdint, unistd.
19988         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
19989         areadlink, stdint.
19990
19991         careadlinkat: new module
19992         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
19993         * modules/careadlinkat: New files, written by me with
19994         a review and feedback from Ben Pfaff in
19995         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
19996
19997 2011-04-01  Bruno Haible  <bruno@clisp.org>
19998
19999         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
20000         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
20001         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
20002         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
20003         Reported by Bruce Korb <bruce.korb@gmail.com>.
20004
20005 2011-04-01  Bruno Haible  <bruno@clisp.org>
20006
20007         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
20008         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
20009         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
20010         * modules/wcpcpy (Depends-on): Add extensions.
20011         * modules/wcpncpy (Depends-on): Likewise.
20012         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
20013         systems.
20014         * doc/posix-functions/wcpncpy.texi: Likewise.
20015         * doc/posix-functions/wcwidth.texi: Likewise.
20016
20017 2011-03-31  Eric Blake  <eblake@redhat.com>
20018
20019         nonblocking: fix mingw test failures
20020         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
20021         non-blocking flag on regular file.
20022         (get_nonblocking_flag): Set errno on invalid fd.
20023         * tests/test-nonblocking.c (main): Avoid test failure on
20024         directories if fchdir is not active.
20025         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
20026
20027 2011-03-31  Bruno Haible  <bruno@clisp.org>
20028
20029         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
20030         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
20031         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
20032         Reported by Simon Josefsson <simon@josefsson.org>.
20033
20034 2011-03-31  Bruno Haible  <bruno@clisp.org>
20035         and Eric Blake  <eblake@redhat.com>
20036
20037         nonblocking: new module
20038         * modules/nonblocking: New module.
20039         * modules/nonblocking-tests: Likewise.
20040         * lib/nonblocking.h: New file.
20041         * lib/nonblocking.c: Likewise.
20042         * tests/test-nonblocking.c: New test.
20043         * lib/ioctl.c (ioctl) [mingw]: Update comment.
20044
20045 2011-03-30  Bruno Haible  <bruno@clisp.org>
20046
20047         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
20048         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
20049         instead of 'printf' format for GCC >= 4.4.
20050         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
20051         (fprintf, printf, vfprintf, vprintf): Declare with
20052         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
20053         the system's vfprintf() function.
20054         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
20055
20056 2011-03-30  Eric Blake  <eblake@redhat.com>
20057
20058         passfd: fix scoping bug
20059         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
20060         before sendmsg/recvmsg.
20061
20062         passfd: standardize coding conventions
20063         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
20064         can be learned at compile time.
20065         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
20066         ifdefs.
20067         (sendfd, recvfd): Follow gnulib code conventions.
20068
20069         passfd: fix incorrect sendmsg arguments
20070         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
20071         incorrect msg_controllen value.
20072         * modules/passfd-tests (Depends-on): Check for alarm.
20073         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
20074         Reported by Bastien ROUCARIES.
20075
20076 2011-03-30  Bruno Haible  <bruno@clisp.org>
20077
20078         c-strcasestr: Relicense under LGPLv2+.
20079         * modules/c-strcasestr (License): Change to LGPLv2+.
20080         Requested by Eric Blake, for libvirt.
20081
20082 2011-03-30  Simon Josefsson  <simon@josefsson.org>
20083
20084         * users.txt: Add libidn2.  Fix libtasn1 link.
20085
20086 2011-03-30  Jim Meyering  <meyering@redhat.com>
20087
20088         tests: readlink* ("",... fails with EINVAL on newer kernels
20089         readlink and readlinkat have typically failed with ENOENT for
20090         the invalid, empty file name,  "".  However, with the advent
20091         of linux-2.6.39, they fail with EINVAL.
20092         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
20093         when operating on the empty file name.
20094         * tests/test-readlink.h (test_readlink): Likewise.
20095
20096 2011-03-29  Bruno Haible  <bruno@clisp.org>
20097
20098         Relicense some modules under LGPLv2+, for libidn2.
20099         * modules/array-mergesort (License): Change to LGPLv2+.
20100         * modules/c-strcaseeq (License): Likewise.
20101         * modules/striconveh (License): Likewise.
20102         * modules/striconveha (License): Likewise.
20103         * modules/uniconv/base (License): Likewise.
20104         * modules/uniconv/u8-conv-from-enc (License): Likewise.
20105         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
20106         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
20107         * modules/unictype/base (License): Likewise.
20108         * modules/unictype/bidiclass-of (License): Likewise.
20109         * modules/unictype/category-M (License): Likewise.
20110         * modules/unictype/category-none (License): Likewise.
20111         * modules/unictype/category-of (License): Likewise.
20112         * modules/unictype/category-test (License): Likewise.
20113         * modules/unictype/category-test-withtable (License): Likewise.
20114         * modules/unictype/combining-class (License): Likewise.
20115         * modules/unictype/joiningtype-of (License): Likewise.
20116         * modules/unictype/scripts (License): Likewise.
20117         * modules/uninorm/base (License): Likewise.
20118         * modules/uninorm/canonical-decomposition (License): Likewise.
20119         * modules/uninorm/composition (License): Likewise.
20120         * modules/uninorm/decompose-internal (License): Likewise.
20121         * modules/uninorm/decomposition-table (License): Likewise.
20122         * modules/uninorm/nfc (License): Likewise.
20123         * modules/uninorm/nfd (License): Likewise.
20124         * modules/uninorm/u32-normalize (License): Likewise.
20125         * modules/unistr/base (License): Likewise.
20126         * modules/unistr/u32-cpy (License): Likewise.
20127         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
20128         * modules/unistr/u32-to-u8 (License): Likewise.
20129         * modules/unistr/u32-uctomb (License): Likewise.
20130         * modules/unistr/u8-check (License): Likewise.
20131         * modules/unistr/u8-mblen (License): Likewise.
20132         * modules/unistr/u8-mbtouc (License): Likewise.
20133         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
20134         * modules/unistr/u8-mbtoucr (License): Likewise.
20135         * modules/unistr/u8-prev (License): Likewise.
20136         * modules/unistr/u8-strlen (License): Likewise.
20137         * modules/unistr/u8-to-u32 (License): Likewise.
20138         * modules/unistr/u8-uctomb (License): Likewise.
20139         * modules/unitypes (License): Likewise.
20140         Requested by Simon Josefsson.
20141
20142 2011-03-29  Simon Josefsson  <simon@josefsson.org>
20143
20144         lib-symbol-visibility: Add a notice.
20145         * modules/lib-symbol-visibility (Notice): New field.
20146
20147 2011-03-29  Bruno Haible  <bruno@clisp.org>
20148
20149         getaddrinfo: Doc fix.
20150         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
20151         section "fixed in Gnulib".
20152
20153 2011-03-28  Simon Josefsson  <simon@josefsson.org>
20154
20155         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
20156         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
20157
20158 2011-03-26  Bruno Haible  <bruno@clisp.org>
20159
20160         unictype/property-byname: Reduce the number of load-time relocations.
20161         * lib/unictype/pr_byname.c: Include <stdlib.h>.
20162         (UC_PROPERTY_INDEX_*): New enumeration values.
20163         (uc_property_byname): Convert an index from the lookup table to an
20164         uc_property_t.
20165         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
20166         values.
20167
20168 2011-03-26  Bruno Haible  <bruno@clisp.org>
20169
20170         unictype/property-byname: Allow omitted word separators and aliases.
20171         * lib/unictype/pr_byname.gperf: Add property names without word
20172         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
20173         for 'space'.
20174
20175 2011-03-26  Bruno Haible  <bruno@clisp.org>
20176
20177         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
20178         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
20179         also hyphens to space.
20180         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
20181         without spaces.
20182         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
20183
20184 2011-03-26  Bruno Haible  <bruno@clisp.org>
20185
20186         unictype/joiningtype-byname: Recognize long names as well.
20187         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
20188         a long name.
20189         * lib/unictype/joiningtype_byname.c: Include <string.h>,
20190         unictype/joiningtype_byname.h.
20191         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
20192         * lib/unictype/joiningtype_byname.gperf: New file.
20193         * modules/unictype/joiningtype-byname (Files): Add
20194         lib/unictype/joiningtype_byname.gperf.
20195         (Depends-on): Add gperf.
20196         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
20197         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
20198         long names.
20199
20200         Tests for module 'unictype/joiningtype-longname'.
20201         * modules/unictype/joiningtype-longname-tests: New file.
20202         * tests/unictype/test-joiningtype_longname.c: New file.
20203
20204         New module 'unictype/joiningtype-longname'.
20205         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
20206         * lib/unictype/joiningtype_longname.c: New file.
20207         * modules/unictype/joiningtype-longname: New file.
20208         * modules/unictype/joiningtype-all (Depends-on): Add
20209         unictype/joiningtype-longname.
20210
20211 2011-03-26  Bruno Haible  <bruno@clisp.org>
20212
20213         unictype/bidiclass-byname: Recognize long names as well.
20214         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
20215         name.
20216         * lib/unictype/bidi_byname.c: Include <string.h>,
20217         unictype/bidi_byname.h.
20218         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
20219         * lib/unictype/bidi_byname.gperf: New file.
20220         * modules/unictype/bidiclass-byname (Files): Add
20221         lib/unictype/bidi_byname.gperf.
20222         (Depends-on): Add gperf.
20223         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
20224         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
20225         long names.
20226
20227         Tests for module 'unictype/bidiclass-longname'.
20228         * modules/unictype/bidiclass-longname-tests: New file.
20229         * tests/unictype/test-bidi_longname.c: New file.
20230
20231         New module 'unictype/bidiclass-longname'.
20232         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
20233         * lib/unictype/bidi_longname.c: New file.
20234         * modules/unictype/bidiclass-longname: New file.
20235         * modules/unictype/bidiclass-all (Depends-on): Add
20236         unictype/bidiclass-longname.
20237
20238 2011-03-26  Bruno Haible  <bruno@clisp.org>
20239
20240         unictype/bidi*: Rename modules.
20241         * modules/unictype/bidiclass-all: Renamed from
20242         modules/unictype/bidicategory-all.
20243         * modules/unictype/bidiclass-name: Renamed from
20244         modules/unictype/bidiclass-name.
20245         (Description): Update.
20246         * modules/unictype/bidiclass-name-tests: Renamed from
20247         modules/unictype/bidicategory-name-tests.
20248         * modules/unictype/bidiclass-byname: Renamed from
20249         modules/unictype/bidicategory-byname.
20250         (Description): Update.
20251         * modules/unictype/bidiclass-byname-tests: Renamed from
20252         modules/unictype/bidicategory-byname-tests.
20253         * modules/unictype/bidiclass-of: Renamed from
20254         modules/unictype/bidicategory-of.
20255         (Description): Update.
20256         * modules/unictype/bidiclass-of-tests: Renamed from
20257         modules/unictype/bidicategory-of-tests.
20258         * modules/unictype/bidiclass-test: Renamed from
20259         modules/unictype/bidicategory-test.
20260         (Description): Update.
20261         * modules/unictype/bidiclass-test-tests: Renamed from
20262         modules/unictype/bidicategory-test-tests.
20263         * modules/unictype/bidicategory-all: New file, a simple redirection.
20264         * modules/unictype/bidicategory-name: Likewise.
20265         * modules/unictype/bidicategory-byname: Likewise.
20266         * modules/unictype/bidicategory-of: Likewise.
20267         * modules/unictype/bidicategory-test: Likewise.
20268         * modules/unictype/property-bidi-* (Dependencies): Update.
20269         * lib/unictype/bidi_*.c: Update comment.
20270
20271 2011-03-26  Bruno Haible  <bruno@clisp.org>
20272
20273         unictype/bidi*: Rename functions, part 2.
20274         * modules/unictype/bidicategory-name (configure.ac): Update required
20275         libunistring version.
20276         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
20277
20278 2011-03-25  Bruno Haible  <bruno@clisp.org>
20279
20280         New module 'unictype/combining-class-all'.
20281         * modules/unictype/combining-class-all: New file.
20282
20283         Tests for module 'unictype/combining-class-byname'.
20284         * modules/unictype/combining-class-byname-tests: New file.
20285         * tests/unictype/test-combiningclass_byname.c: New file.
20286
20287         New module 'unictype/combining-class-byname'.
20288         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
20289         * lib/unictype/combiningclass_byname.c: New file.
20290         * lib/unictype/combiningclass_byname.gperf: New file.
20291         * modules/unictype/combining-class-byname: New file.
20292
20293         Tests for module 'unictype/combining-class-longname'.
20294         * modules/unictype/combining-class-longname-tests: New file.
20295         * tests/unictype/test-combiningclass_longname.c: New file.
20296
20297         New module 'unictype/combining-class-longname'.
20298         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
20299         * lib/unictype/combiningclass_longname.c: New file.
20300         * modules/unictype/combining-class-longname: New file.
20301
20302         Tests for module 'unictype/combining-class-name'.
20303         * modules/unictype/combining-class-name-tests: New file.
20304         * tests/unictype/test-combiningclass_name.c: New file.
20305
20306         New module 'unictype/combining-class-name'.
20307         * lib/unictype.in.h (uc_combining_class_name): New declaration.
20308         * lib/unictype/combiningclass_name.c: New file.
20309         * modules/unictype/combining-class-name: New file.
20310
20311 2011-03-25  Bruno Haible  <bruno@clisp.org>
20312
20313         unictype/combining-class: Rename source files.
20314         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
20315         of unictype/combining.h.
20316         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
20317         Update.
20318         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
20319         * modules/unictype/combining-class (Description): Fix.
20320         (Files, Makefile.am): Update.
20321         * tests/unictype/test-combiningclass.c: Renamed from
20322         tests/unictype/test-combining.c.
20323         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
20324
20325 2011-03-25  Bruno Haible  <bruno@clisp.org>
20326
20327         unictype: Update list of canonical combining classes.
20328         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
20329
20330 2011-03-25  Bruno Haible  <bruno@clisp.org>
20331
20332         unictype/category-byname: Recognize long names as well.
20333         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
20334         a long name.
20335         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
20336         unictype/categ_byname.h.
20337         (UC_CATEGORY_INDEX_*): New enumeration values.
20338         (uc_general_category_byname): Use uc_general_category_lookup and
20339         convert from index to value.
20340         * lib/unictype/categ_byname.gperf: New file.
20341         * modules/unictype/category-byname (Files): Add
20342         lib/unictype/categ_byname.gperf.
20343         (Depends-on): Add gperf.
20344         (Makefile.am): Add rule for generating unictype/categ_byname.h.
20345         * tests/unictype/test-categ_byname.c (main): Test the recognition of
20346         long names.
20347
20348         Tests for module 'unictype/category-longname'.
20349         * modules/unictype/category-longname-tests: New file.
20350         * tests/unictype/test-categ_longname.c: New file.
20351
20352         New module 'unictype/category-longname'.
20353         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
20354         * lib/unictype/categ_longname.c: New file.
20355         * modules/unictype/category-longname: New file.
20356         * modules/unictype/category-all (Depends-on): Add it.
20357
20358 2011-03-25  Bruno Haible  <bruno@clisp.org>
20359
20360         Tests for module 'unictype/category-LC'.
20361         * modules/unictype/category-LC-tests: New file.
20362         * tests/unictype/test-categ_LC.c: New file, automatically generated.
20363
20364         New module 'unictype/category-LC'.
20365         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
20366         (UC_CATEGORY_LC): New declaration.
20367         (UC_CASED_LETTER): New macro.
20368         * lib/gen-uni-tables.c (is_category_LC): New function.
20369         (output_categories): Also handle category LC.
20370         (UC_CATEGORY_MASK_LC): New enumeration value.
20371         (general_category_byname): Also handle category LC.
20372         * lib/unictype/categ_LC.c: New file.
20373         * lib/unictype/categ_LC.h: New file, automatically generated.
20374         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
20375         category LC.
20376         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
20377         * modules/unictype/category-LC: New file.
20378         * modules/unictype/category-byname (Depends-on): Add
20379         unictype/category-LC.
20380         * modules/unictype/category-all (Depends-on): Likewise.
20381
20382 2011-03-25  Eric Blake  <eblake@redhat.com>
20383
20384         xmalloc: revert yesterday's regression
20385         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
20386         realloc's underlying behavior (allowing allocation of zero-size
20387         objects, especially if malloc-gnu is also in use).
20388
20389 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
20390
20391         maint.mk: add missing version to VC-tag
20392         * top/maint.mk: git tag was missing actual tag name; add it.
20393
20394         valgrind: do leak checking, and exit with code 1 on error (not 0)
20395         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
20396         to VALGRIND.
20397
20398 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
20399
20400         posix-modules: say what it does.
20401         * posix-modules: Add a line to the --help output saying what it does.
20402
20403 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
20404
20405         xmalloc: Do not leak if underlying realloc is C99 compatible.
20406         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
20407         This avoids a leak on C99-based systems.  See
20408         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
20409
20410 2011-03-24  Eric Blake  <eblake@redhat.com>
20411
20412         realloc: document portability problem
20413         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
20414         passing 0 size to realloc.
20415
20416 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
20417
20418         doc: update users.txt
20419         * users.txt: Add cvsps, tmpwatch
20420
20421 2011-03-23  Matt Rice  <ratmice@gmail.com>
20422
20423         doc: update users.txt
20424         * users.txt: Add gdb.
20425
20426 2011-03-23  Jim Meyering  <meyering@redhat.com>
20427
20428         doc: update users.txt
20429         Looking through matches up to the following URL (there are still
20430         several more pages), I found several projects that use gnulib:
20431         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
20432         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
20433         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
20434
20435 2011-03-22  Bruno Haible  <bruno@clisp.org>
20436
20437         unictype/bidi*: Rename functions.
20438         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
20439         uc_bidi_class, uc_is_bidi_class): New declarations.
20440         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
20441         uc_bidi_category_byname.
20442         (uc_bidi_category_byname): New function.
20443         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
20444         u_bidi_category_name.
20445         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
20446         (uc_bidi_category_name): New function.
20447         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
20448         uc_bidi_category.
20449         (uc_bidi_category): New function.
20450         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
20451         uc_is_bidi_category. Invoke uc_bidi_class.
20452         (uc_is_bidi_category): New function.
20453         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
20454         instead of uc_bidi_category_byname.
20455         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
20456         instead of uc_bidi_category_name.
20457         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
20458         uc_bidi_category.
20459         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
20460         instead of uc_is_bidi_category.
20461
20462 2011-03-21  Bruno Haible  <bruno@clisp.org>
20463
20464         New module 'unictype/joininggroup-all'.
20465         * modules/unictype/joininggroup-all: New file.
20466
20467         Tests for module 'unictype/joininggroup-of'.
20468         * modules/unictype/joininggroup-of-tests: New file.
20469         * tests/unictype/test-joininggroup_of.c: New file.
20470         * tests/unictype/test-joininggroup_of.h: New file, automatically
20471         generated by gen-uni-tables.
20472
20473         New module 'unictype/joininggroup-of'.
20474         * modules/unictype/joininggroup-of: New file.
20475         * lib/unictype/joininggroup_of.c: New file.
20476         * lib/unictype/joininggroup_of.h: New file, automatically generated by
20477         gen-uni-tables.
20478
20479         Tests for module 'unictype/joininggroup-byname'.
20480         * modules/unictype/joininggroup-byname-tests: New file.
20481         * tests/unictype/test-joininggroup_byname.c: New file.
20482
20483         New module 'unictype/joininggroup-byname'.
20484         * modules/unictype/joininggroup-byname: New file.
20485         * lib/unictype/joininggroup_byname.c: New file.
20486         * lib/unictype/joininggroup_byname.gperf: New file.
20487
20488         Tests for module 'unictype/joininggroup-name'.
20489         * modules/unictype/joininggroup-name-tests: New file.
20490         * tests/unictype/test-joininggroup_name.c: New file.
20491
20492         New module 'unictype/joininggroup-name'.
20493         * modules/unictype/joininggroup-name: New file.
20494         * lib/unictype/joininggroup_name.c: New file.
20495         * lib/unictype/joininggroup_name.h: New file.
20496
20497         New module 'unictype/joiningtype-all'.
20498         * modules/unictype/joiningtype-all: New file.
20499
20500         Tests for module 'unictype/joiningtype-of'.
20501         * modules/unictype/joiningtype-of-tests: New file.
20502         * tests/unictype/test-joiningtype_of.c: New file.
20503         * tests/unictype/test-joiningtype_of.h: New file, automatically
20504         generated by gen-uni-tables.
20505
20506         New module 'unictype/joiningtype-of'.
20507         * modules/unictype/joiningtype-of: New file.
20508         * lib/unictype/joiningtype_of.c: New file.
20509         * lib/unictype/joiningtype_of.h: New file, automatically generated by
20510         gen-uni-tables.
20511
20512         Tests for module 'unictype/joiningtype-byname'.
20513         * modules/unictype/joiningtype-byname-tests: New file.
20514         * tests/unictype/test-joiningtype_byname.c: New file.
20515
20516         New module 'unictype/joiningtype-byname'.
20517         * modules/unictype/joiningtype-byname: New file.
20518         * lib/unictype/joiningtype_byname.c: New file.
20519
20520         Tests for module 'unictype/joiningtype-name'.
20521         * modules/unictype/joiningtype-name-tests: New file.
20522         * tests/unictype/test-joiningtype_name.c: New file.
20523
20524         New module 'unictype/joiningtype-name'.
20525         * modules/unictype/joiningtype-name: New file.
20526         * lib/unictype/joiningtype_name.c: New file.
20527
20528         unictype: Add support for Arabic shaping properties.
20529         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
20530         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
20531         declarations.
20532         (UC_JOINING_GROUP_*): New enumeration values.
20533         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
20534         declarations.
20535         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
20536         (unicode_joining_type): New variable.
20537         (UC_JOINING_GROUP_*): New enumeration values.
20538         (unicode_joining_group): New variable.
20539         (fill_arabicshaping, joining_type_as_c_identifier,
20540         output_joining_type_test, output_joining_type,
20541         joining_group_as_c_identifier, output_joining_group_test,
20542         output_joining_group): New functions.
20543         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
20544         fill_arabicshaping and output_joining_type_test, output_joining_type,
20545         output_joining_group_test, output_joining_group.
20546         Reported by Simon Josefsson.
20547
20548 2011-03-21  Jim Meyering  <meyering@redhat.com>
20549
20550         strftime: fix a bug in yesterday's change
20551         * lib/strftime.c (add): Accommodate width's initial value of -1.
20552         Otherwise, nstrftime would copy uninitialized data into
20553         the result buffer.
20554
20555 2011-03-21  Jim Meyering  <meyering@redhat.com>
20556
20557         tests: add strftime-tests module
20558         * tests/test-strftime.c: New file.
20559         * modules/strftime-tests: New module.
20560
20561 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20562
20563         strftime: don't assume a byte count fits in 'int'
20564         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
20565         found this problem by static analysis, using gcc -Wstrict-overflow
20566         (GCC 4.5.2, x86-64).  This reported an optimization that depended
20567         on an integer overflow having undefined behavior, but it turns out
20568         that the argument is a size, which might not fit in 'int' anyway,
20569
20570 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20571
20572         stdio: don't require ignore_value around fwrite
20573
20574         This patch works around libc bug 11959
20575         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
20576         Without this patch, applications must often write
20577         ignore_value (fwrite (...)) even though the ignore_value is
20578         not helpful here.  It's common to write many objects, using
20579         fwrite/printf/etc., and then use ferror to detect output error.
20580
20581         I considered making this patch optional, but decided against it,
20582         because libc is obviously being inconsistent here: there is no
20583         reason libc should insist that user code must inspect fwrite
20584         return's value without also insisting that it inspect printf's,
20585         putchar's, etc.  If user code wants to have a strict style where
20586         all these functions' values are checked (so that ferror need not
20587         be checked), we could add support for that style in a new gnulib
20588         module, but in the meantime it's better to be consistent and to
20589         support common usage.
20590
20591         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
20592         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
20593         that we are compiling in checking mode, and if not C++, and
20594         if not already wrapping fwrite for some other reason.
20595         (fwrite): #define to rpl_fwrite if the latter is defined.
20596
20597 2011-03-20  Bruno Haible  <bruno@clisp.org>
20598
20599         verror: Fix compilation error introduced on 2011-02-13.
20600         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
20601         instead of __attribute__.
20602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20603
20604 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
20605             Bruno Haible  <bruno@clisp.org>
20606
20607         socklen: do not depend on sys_socket
20608         While trying to modify Emacs to use gnulib's socklen module,
20609         I discovered a circular dependency: socklen depends on sys_socket
20610         and vice versa.  Emacs can use socklen, but it does not need
20611         sys_socket because it has its own substitute for sys/socket.h.
20612         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
20613         gl_TYPE_SOCKLEN_T.
20614         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
20615         gl_PREREQ_SYS_H_SOCKET.
20616         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
20617         gl_PREREQ_SYS_H_SOCKET.
20618         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
20619         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
20620         * modules/socklen (Depends-on): Do not depend on sys_socket.
20621         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
20622
20623 2011-03-20  Jim Meyering  <meyering@redhat.com>
20624
20625         maint.mk: sort file names *after* new transformation
20626         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
20627         prefix would have led to an unwarranted failure in GNU parted.
20628         Sort after that transformation.
20629
20630 2011-03-19  Jim Meyering  <meyering@redhat.com>
20631
20632         maint.mk: fix po-file syntax-check rule
20633         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
20634         Patch by Bruno Haible.
20635
20636 2011-03-19  Bruno Haible  <bruno@clisp.org>
20637
20638         socklen: Update comment.
20639         * m4/socklen.m4: Update comment about platforms.
20640
20641 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20642             Bruno Haible  <bruno@clisp.org>
20643
20644         inet_ntop, inet_pton: Simplify.
20645         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
20646         documented to provide socklen_t and we already depend on sys_socket.
20647         * modules/inet_pton (Depends-on): Likewise.
20648         * lib/arpa_inet.in.h: Adjust comment.
20649
20650 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
20651             Bruno Haible  <bruno@clisp.org>
20652
20653         netdb: Simplify.
20654         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
20655         documented to provide socklen_t and we already depend on sys_socket.
20656         * lib/netdb.in.h: Adjust comment.
20657
20658 2011-03-19  Bruno Haible  <bruno@clisp.org>
20659
20660         sys_socket, netdb: Document problem with socklen_t.
20661         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
20662         platforms.
20663         * doc/posix-headers/netdb.texi: Likewise.
20664
20665 2011-03-18  Eric Blake  <eblake@redhat.com>
20666
20667         maint.mk: let po check work in VPATH build
20668         * top/maint.mk (po_file): Allow cfg.mk override.
20669         (sc_po_check): Allow VPATH use.
20670         Reported by Jiri Denemark.
20671
20672 2011-03-16  Jim Meyering  <meyering@redhat.com>
20673
20674         maint.mk: allow fine-grained syntax-check exclusion via Make variables
20675         Before, you would have had to create one .x-sc_ file per rule in order
20676         to exempt offending files.  Now, you may instead use a Make variable --
20677         usually defined in cfg.mk -- whose name identifies the affected rule.
20678         * top/maint.mk (_sc_excl): Define.
20679         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
20680         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
20681
20682 2011-03-13  Bruno Haible  <bruno@clisp.org>
20683
20684         ignore-value tests: Avoid warnings.
20685         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
20686         empty for gcc < 3.4.
20687
20688 2011-03-13  Bruno Haible  <bruno@clisp.org>
20689
20690         passfd: Fix link error on Solaris.
20691         * modules/passfd (Description): Correct.
20692         (Depends-on): Add socketlib.
20693         (Link): New section.
20694         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
20695
20696 2011-03-13  Bruno Haible  <bruno@clisp.org>
20697
20698         passfd: Fix link error on AIX 5.2.
20699         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
20700
20701 2011-03-13  Bruno Haible  <bruno@clisp.org>
20702
20703         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
20704         * lib/sys_socket.in.h: Include <stddef.h>.
20705         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
20706         CMSG_FIRSTHDR. Remove unused variable.
20707
20708 2011-03-13  Bruno Haible  <bruno@clisp.org>
20709
20710         passfd: Fix compilation error on OpenBSD.
20711         * lib/passfd.c: Include <sys/uio.h>.
20712
20713 2011-03-13  Bruno Haible  <bruno@clisp.org>
20714
20715         passfd test: Fix warnings.
20716         * tests/test-passfd.c: Include <sys/wait.h>.
20717         (main): Fix typo.
20718
20719 2011-03-13  Bruno Haible  <bruno@clisp.org>
20720
20721         passfd module, part 4, tweaks.
20722         * tests/test-passfd.c: Reorder includes.
20723         (main): Fix perror and printf calls.
20724
20725 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20726
20727         passfd module, part 4.
20728         * modules/passfd-tests: New file.
20729         * tests/test-passfd.c: New file.
20730
20731 2011-03-13  Jim Meyering  <meyering@redhat.com>
20732
20733         Makefile: rely on GNU make; derive syntax-check rule names
20734         Rather than requiring that each sc_ rule be listed as a dependent
20735         of "check", use features of GNU make to derive the list.
20736         * Makefile (syntax-check-rules): Define.
20737         (check): Depend on the new variable, not the hard-coded list.
20738
20739 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
20740             Bruno Haible  <bruno@clisp.org>
20741
20742         passfd module, part 3.
20743         * lib/passfd.h (recvfd): Add a flags argument.
20744         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
20745         (recvfd): Add a flags argument.
20746         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
20747         exists.
20748         * modules/passfd (Depends-on): Add cloexec.
20749         Suggested by Eric Blake.
20750
20751 2011-03-13  Bruno Haible  <bruno@clisp.org>
20752
20753         passfd module, part 2, tweaks.
20754         * modules/passfd (Files): Reorder.
20755         (Depends-on): Remove errno.
20756         (Include): Remove <sys/socket.h>, <sys/un.h>.
20757         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
20758         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
20759         specification header. Include <sys/socket.h> always. Don't include
20760         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
20761         (sendfd): Clarify that it sets errno when it fails.
20762         (recvfd): Fix specification.
20763
20764 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20765
20766         passfd module, part 2.
20767         * modules/passfd: New file.
20768         * lib/passfd.h: New file.
20769         * lib/passfd.c: New file.
20770
20771 2011-03-12  Bruno Haible  <bruno@clisp.org>
20772
20773         wcswidth, mbswidth: Avoid integer overflow.
20774         * lib/wcswidth.c: Include <limits.h>.
20775         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
20776         * lib/mbswidth.c: Include <limits.h>.
20777         (mbsnwidth): Avoid 'int' overflow.
20778         Reported by Jim Meyering.
20779
20780 2011-03-12  Bruno Haible  <bruno@clisp.org>
20781
20782         futimens, utimensat: Avoid endless recursion on Solaris 10.
20783         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
20784         Solaris.
20785         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
20786         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
20787
20788 2011-03-11  Jim Meyering  <meyering@redhat.com>
20789
20790         maint.mk: relax a regexp to accommodate other formatting styles
20791         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
20792         between "ngettext" and the following "(".
20793
20794 2011-03-11  Pádraig Brady <P@draigBrady.com>
20795
20796         maint.mk: suppress a false positive warning
20797         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
20798         diagnostics are marked with ngettext.
20799
20800 2011-03-10  Eric Blake  <eblake@redhat.com>
20801
20802         wchar: add explicit dependencies, for Tru64
20803         * modules/mbmemcasecoll (Depends-on): Add wchar.
20804         * modules/mbtowc (Depends-on): Likewise.
20805         * modules/vasnprintf (Depends-on): Likewise.
20806         * modules/unistdio/u-printf-args (Depends-on): Likewise.
20807         * modules/wctomb (Depends-on): Likewise.
20808         Reported by Peter O'Gorman.
20809
20810 2011-03-08  Bruno Haible  <bruno@clisp.org>
20811
20812         passfd module, part 1, tweaks.
20813         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
20814         Improve indentation. Improve AC_MSG_CHECKING messages.
20815         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
20816         gl_SOCKET_FAMILIES.
20817
20818 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
20819
20820         passfd module, part 1.
20821         * m4/afunix.m4: New file.
20822         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
20823         sockets.
20824
20825 2011-03-08  Bruno Haible  <bruno@clisp.org>
20826
20827         regex-quote: New API.
20828         * lib/regex-quote.h: Include <stdbool.h>.
20829         (struct regex_quote_spec): New type.
20830         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20831         New declarations.
20832         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20833         'const struct regex_quote_spec *' argument.
20834         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
20835         (pcre_special): New constant.
20836         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
20837         New functions.
20838         (regex_quote_length, regex_quote_copy, regex_quote): Take a
20839         'const struct regex_quote_spec *' argument.
20840         * modules/regex-quote (Depends-on): Add stdbool.
20841         * tests/test-regex-quote.c (check): Update for new API. Add test for
20842         anchored results.
20843         * NEWS: Mention the API change.
20844         Reported by Reuben Thomas and Eric Blake.
20845
20846 2011-03-06  Bruno Haible  <bruno@clisp.org>
20847
20848         regex-quote: Fix creation of POSIX extended regular expressions.
20849         * lib/regex-quote.c (ere_special): Add grouping and alternation
20850         operators.
20851
20852 2011-03-05  Bruno Haible  <bruno@clisp.org>
20853
20854         doc: Improve doc regarding autopoint vs. gnulib.
20855         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
20856         disable autopoint while running autoreconf.
20857         Suggested by Ralf Wildenhues.
20858
20859 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20860
20861         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
20862         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
20863
20864 2011-03-03  Bruce Korb  <bkorb@gnu.org>
20865
20866         parse-duration: remove xalloc.h dependency
20867         * lib/parse-duration.c (parse_period): handle NULL return from
20868         strdup instead of calling xstrdup().
20869         * modules/parse-duration: remove "xalloc" dependency
20870
20871 2011-03-03  Matthew Booth  <mbooth@redhat.com>
20872
20873         bootstrap: honor m4_base when running aclocal
20874         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
20875
20876 2011-03-02  Jim Meyering  <meyering@redhat.com>
20877
20878         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
20879         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
20880         on request from Matt Booth.
20881
20882 2011-03-01  Eric Blake  <eblake@redhat.com>
20883
20884         test-link: work on Hurd
20885         * tests/test-link.h (test_link): Hurd rejects linking directories
20886         with EISDIR instead of the POSIX-mandated EPERM.
20887
20888 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
20889
20890         stdio: simplify by moving files to printf-posix, sigpipe
20891         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
20892         since this symbol is needed only if printf is replaced.
20893         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
20894         Require gl_ASM_SYMBOL_PREFIX.
20895         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
20896         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
20897         (Depends-on): Add 'raise'.
20898         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
20899         * modules/stdio (Files): Remove lib/stdio-write.c,
20900         m4/asm-underscore.m4.
20901         (Depends-on): Remove 'raise'.
20902
20903         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
20904         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
20905         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
20906         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
20907
20908 2011-02-28  Bruno Haible  <bruno@clisp.org>
20909
20910         localcharset: Assume ANSI C behaviour of free().
20911         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
20912         calling free().
20913         Suggested by Simon Josefsson <simon@josefsson.org>.
20914
20915 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
20916             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
20917             Bruno Haible  <bruno@clisp.org>  (tiny change)
20918
20919         On Cygwin, use /proc file system instead of win32 API.
20920         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
20921         Win32 file names.
20922         (DllMain): Simplify by removing Cygwin specific code.
20923         (find_shared_library_fullname): Use Linux specific implementation also
20924         for Cygwin.
20925         (get_shared_library_fullname): Update accordingly.
20926         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
20927         Win32 file names.
20928         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
20929         Cygwin specific code.
20930
20931 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
20932             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
20933
20934         Fix OpenMP flag detection for various Fortran compilers.
20935         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
20936         OpenMP-conditional compilation construct, to force compile
20937         failure with missing OpenMP flag.
20938         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
20939
20940 2011-02-25  Eric Blake  <eblake@redhat.com>
20941
20942         strstr: expand test coverage
20943         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
20944         compilation.
20945         * tests/test-memmem.c (main): Duplicate tests.
20946         * tests/test-strcasestr.c (main): Likewise.
20947         * tests/test-c-strcasestr.c (main): Likewise.
20948
20949 2011-02-25  Jim Meyering  <meyering@redhat.com>
20950
20951         maint.mk: detect missing-NL-at-EOF, too
20952         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
20953         it also detects when a file lacks a newline at EOF.
20954         (require_exactly_one_NL_at_EOF_): Renamed from
20955         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
20956         since people may well have .x-sc_... file names tied to the
20957         existing name.  Suggested by Eric Blake.
20958
20959 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
20960
20961         dirname: move m4/dos.m4 functionality into lib/dosname.h
20962
20963         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
20964         extracts symbols from it, puts them into config.h; but it's much
20965         easier to use the symbols directly.  filename.h already does this,
20966         but it disagrees with dos.m4 in some respects.  This patch
20967         introduces a different include file dosname.h that packages up
20968         dos.m4, and then later we can work on merging filename.h and
20969         dosname.h.  Applications that need only the easy-to-configure
20970         symbols should consider including dosname.h rather than dirname.h.
20971         * NEWS: Mention incompatible changes.
20972         * m4/dos.m4: Remove.
20973         * lib/dosname.h, modules/dosname: New files.
20974         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
20975         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
20976         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
20977         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
20978         Include dosname.h, not dirname.h.
20979         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
20980         Include dosname.h, for definitions of symbols like ISSLASH
20981         that used to be in config.h.
20982         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
20983         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
20984         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
20985         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
20986         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
20987         * modules/rmdir (Files): Likewise.
20988         * modules/stat (Files): Likewise.
20989         * modules/unlink (Files): Likewise.
20990         * modules/dirname-lgpl (Depends-on): Add dosname.
20991         * modules/lstat (Depends-on): Likewise.
20992         * modules/openat (Depends-on): Likewise.
20993         * modules/rmdir (Depends-on): Likewise.
20994         * modules/savewd (Depends-on): Likewise.
20995         * modules/stat (Depends-on): Likewise.
20996         * modules/unlink (Depends-on): Likewise.
20997         * modules/openat (Depends-on): Remove dirname-lgpl.
20998         * modules/savewd (Depends-on): Likewise.
20999         * tests/test-dirname.c: Do not use removed symbols like
21000         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
21001         the remaining symbols, e.g., ISSLASH ('\\').
21002
21003 2011-02-25  Eric Blake  <eblake@redhat.com>
21004
21005         strstr: revert patches that introduced bug and pessimization
21006         * lib/str-two-way.h: Add another reference.
21007         (two_way_short_needle, two_way_long_needle): Revert changes from
21008         2011-02-24; they pessimize search speed.
21009         (critical_factorization): Partially revert changes from
21010         2010-06-22; they violate the requirement that the left half of the
21011         needle be smaller than the period of the needle.
21012
21013 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
21014
21015         filenamecat: remove unnecessary dependency on dirname-lgpl
21016         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
21017         is no direct dependency, just an indirect one via filenamecat-lgpl.
21018
21019         remove: remove unnecessary use of m4/dos.m4
21020         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
21021         * modules/remove (FILES): Remove m4/dos.m4.
21022
21023         * lib/openat-proc.c: Don't include dirname.h; not needed.
21024
21025         backupfile: remove unnecessary use of m4/dos.m4
21026         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
21027         of its symbols are used by the backupfile code.  backupfile.c does
21028         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
21029         for the rare case of programs that want all their backup file
21030         names to live within 8+3 limits, and dos.m4 doesn't address that.
21031         * modules/backupfile (Files): Remove m4/dos.m4.
21032
21033 2011-02-24  Jim Meyering  <meyering@redhat.com>
21034
21035         strstr: fix a bug whereby strstr would mistakenly return NULL
21036         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
21037         in period calculation.
21038         (two_way_long_needle): Likewise.
21039         The original problem was reported by Mike Stump in
21040         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
21041         Ralf Wildenhues provided the short needle and haystack.
21042         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
21043         Add a more involved test to trigger the bug in two_way_long_needle.
21044
21045 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
21046
21047         gnulib-tool: remove use of bold display in help screen
21048         * gnulib-tool (func_usage): Do not use bold display anymore in the
21049         help screen.  That was just meant to be a temporary emphasis for a
21050         backward-incompatible change.
21051
21052 2011-02-23  Bruno Haible  <bruno@clisp.org>
21053
21054         Fix misindentation of preprocessor directives.
21055         * lib/argp-namefrob.h: Reindent preprocessor directives.
21056         * lib/getopt_int.h (struct _getopt_data): Likewise.
21057         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
21058         * lib/vasnprintf.c (decode_long_double): Likewise.
21059         * tests/test-argmatch.c: Insert blank lines, for clarity.
21060         * tests/test-exclude.c: Likewise.
21061
21062 2011-02-22  Bruno Haible  <bruno@clisp.org>
21063
21064         ioctl: Fix for MacOS X in 64-bit mode.
21065         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
21066         value.
21067         Suggested by Eric Blake.
21068         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
21069
21070 2011-02-22  Jim Meyering  <meyering@redhat.com>
21071
21072         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
21073         * Makefile (sc_cpp_indent_check): Don't limit the check to files
21074         in lib/.
21075
21076 2011-02-22  Eric Blake  <eblake@redhat.com>
21077
21078         maint: avoid any CDPATH issue
21079         * Makefile (sc_cpp_indent_check): Anchor cd argument.
21080
21081         maint: adjust cpp indentation for my modules, as well
21082         * Makefile (sc_cpp_indent_check): Add my name.
21083         * lib/fbufmode.c: Filter through cppi.
21084         * lib/fpurge.c: Likewise.
21085         * lib/freadable.c: Likewise.
21086         * lib/freading.c: Likewise.
21087         * lib/fwritable.c: Likewise.
21088         * lib/fwriting.c: Likewise.
21089         * lib/sigaction.c: Likewise.
21090
21091 2011-02-22  Jim Meyering  <meyering@redhat.com>
21092
21093         maint: adjust cpp indentation to reflect nesting depth
21094         I.e., in a block of code that begins with an unnested "#if",
21095         put one space between the "#" in column 1 and following token.
21096         For example,
21097         -#include <sys/vfs.h>
21098         +# include <sys/vfs.h>
21099         Do this only in .c files that are part of a module I maintain.
21100         * lib/linkat.c: Filter through cppi.
21101         * lib/nanosleep.c: Likewise.
21102         * lib/openat.c: Likewise.
21103         * lib/openat-die.c: Likewise.
21104         * lib/dup3.c: Likewise.
21105         * lib/fchownat.c: Likewise.
21106         * lib/flock.c: Likewise.
21107         * lib/fsync.c: Likewise.
21108         * lib/fts.c: Likewise.
21109         * lib/getpass.c: Likewise.
21110         * lib/gettimeofday.c: Likewise.
21111         * lib/userspec.c: Likewise.
21112         * Makefile (sc_cpp_indent_check): New rule, to check this.
21113
21114 2011-02-22  Bruno Haible  <bruno@clisp.org>
21115
21116         New module 'wctomb'.
21117         * lib/stdlib.in.h (wctomb): New declaration.
21118         * lib/wctomb.c: New file.
21119         * lib/wctomb-impl.h: New file.
21120         * m4/wctomb.m4: New file.
21121         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
21122         REPLACE_WCTOMB.
21123         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
21124         REPLACE_WCTOMB.
21125         * modules/wctomb: New file.
21126         * tests/test-stdlib-c++.cc: Test signature of wctomb.
21127         * doc/posix-functions/wctomb.texi: Mention the new module.
21128         * modules/wctob (Depends-on): Add wctomb.
21129
21130 2011-02-22  Bruno Haible  <bruno@clisp.org>
21131
21132         New module 'mbtowc'.
21133         * lib/stdlib.in.h (mbtowc): New declaration.
21134         * lib/mbtowc.c: New file.
21135         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
21136         * m4/mbtowc.m4: New file.
21137         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
21138         REPLACE_MBTOWC.
21139         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
21140         REPLACE_MBTOWC.
21141         * modules/mbtowc: New file.
21142         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
21143         * doc/posix-functions/mbtowc.texi: Mention the new module.
21144         * modules/btowc (Depends-on): Add mbtowc.
21145
21146 2011-02-22  Bruno Haible  <bruno@clisp.org>
21147
21148         wcrtomb: Add more tests for native Windows platforms.
21149         * tests/test-wcrtomb-w32-1.sh: New file.
21150         * tests/test-wcrtomb-w32-2.sh: New file.
21151         * tests/test-wcrtomb-w32-3.sh: New file.
21152         * tests/test-wcrtomb-w32-4.sh: New file.
21153         * tests/test-wcrtomb-w32-5.sh: New file.
21154         * tests/test-wcrtomb-w32.c: New file.
21155         * modules/wcrtomb-tests (Files): Add them.
21156         (Makefile.am): Arrange to run these tests.
21157         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
21158         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
21159
21160 2011-02-20  Bruno Haible  <bruno@clisp.org>
21161
21162         wcrtomb: Enhance test.
21163         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
21164
21165 2011-02-20  Bruno Haible  <bruno@clisp.org>
21166
21167         mbrtowc: Tiny optimization.
21168         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
21169
21170 2011-02-20  Jim Meyering  <meyering@redhat.com>
21171
21172         test-exclude.c: remove unmatched #endif
21173         * tests/test-exclude.c: Remove stray #endif, left over from
21174         the change of a week ago.
21175
21176 2011-02-19  Jim Meyering  <meyering@redhat.com>
21177
21178         git-version-gen: skip "-dirty" check when appropriate
21179         * build-aux/git-version-gen: Don't run any git commands when the
21180         version string comes from .tarball-version.  Prior to this, we
21181         would run git update-index --refresh even from a just-unpacked
21182         tarball directory, and that could affect a .git/ directory in a
21183         parent of the build directory.  Reported by Mike Frysinger.
21184
21185 2011-02-19  Bruno Haible  <bruno@clisp.org>
21186
21187         unictype/property-byname: Reduce the size of the 'data' segment.
21188         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
21189
21190 2011-02-19  Bruno Haible  <bruno@clisp.org>
21191
21192         unictype/scripts: Reduce the size of the 'data' segment.
21193         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
21194         '%pic'.
21195         * lib/unictype/scripts_byname.gperf: Regenerated.
21196
21197 2011-02-19  Bruno Haible  <bruno@clisp.org>
21198
21199         stdint: Update documentation.
21200         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
21201
21202 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
21203
21204         stdint: omit redundant check for wchar.h
21205         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
21206         always tests whether wchar.h exists, so remove the now-redundant test.
21207
21208 2011-02-18  Bruno Haible  <bruno@clisp.org>
21209
21210         stdint: Cut dependency to module 'wchar'.
21211         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
21212         include the necessary prerequisites.
21213         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
21214         * modules/stdint (Depends-on): Remove wchar.
21215         (Makefile.am): Substitute HAVE_WCHAR_H.
21216         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
21217
21218 2011-02-18  Eric Blake  <eblake@redhat.com>
21219
21220         longlong: skip, rather than fail, on cross-compilation
21221         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
21222         when cross-compiling; regression from 2011-02-16.
21223
21224 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21225
21226         * NEWS: Mention 2011-02-08 change to stdlib.
21227
21228 2011-02-17  Bruno Haible  <bruno@clisp.org>
21229
21230         getloadavg: Add comments about platforms.
21231         * m4/getloadavg.m4: Add comment.
21232         * lib/getloadavg.c: Likewise.
21233
21234 2011-02-17  Bruno Haible  <bruno@clisp.org>
21235
21236         getloadavg: Fix link error on Solaris 2.6.
21237         * modules/getloadavg (Link): New section.
21238         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
21239         linking test-getloadavg.
21240         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
21241         getloadavg.
21242
21243 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
21244
21245         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
21246         It was 'int', but this doesn't match the IRIX 6.5 manual.
21247         Suggested by Bruno Haible in
21248         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
21249
21250 2011-02-17  Bruno Haible  <bruno@clisp.org>
21251
21252         havelib: Fix comments.
21253         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
21254         change.
21255
21256 2011-02-17  Bruno Haible  <bruno@clisp.org>
21257
21258         havelib: Update config.rpath.
21259         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
21260
21261 2011-02-17  Bruno Haible  <bruno@clisp.org>
21262
21263         getloadavg test: Add some plausibility checks.
21264         * tests/test-getloadavg.c (check_avg): Print a warning when the value
21265         is improbable.
21266
21267 2011-02-16  Eric Blake  <eblake@redhat.com>
21268
21269         maintainer-makefile: make syntax-check a no-op from tarballs
21270         * top/maint.mk (no-vc-detected): New rule.
21271         (local-checks-available): Use it to avoid hanging if someone tries
21272         'make syntax-check' from a tarball.  Also append to any non-syntax
21273         checks already defined in cfg.mk.
21274
21275 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
21276
21277         longlong: tune, particularly for common case of c99
21278
21279         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
21280         or running anything if c99, or if unsigned long long int does not
21281         work.  In either case, we know the answer without further tests.
21282         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
21283         it at most once, and use its results for both long long int and
21284         unsigned long long int.  This is more likely to be efficient in
21285         the common case where the program wants to check for both long
21286         long int and unsigned long long int.
21287         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
21288         since the answer is already known.
21289
21290 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
21291
21292         getloadavg: set errno
21293         * lib/getloadavg.c: Set errno when returning -1.  If no other
21294         error number looks appropriate, set it to ENOSYS if the getloadavg
21295         looks like it can't possibly ever work, ENOTSUP otherwise.
21296         Suggested by Bruno Haible in
21297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
21298
21299         getloadavg: trim unused parts and speed up 'configure'
21300         * NEWS: Document this.
21301         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
21302         always compiled if getloadavg is absent.
21303         Move test code to ...
21304         * tests/test-getloadavg.c: New file, containing previous
21305         contents of test from lib/getloadavg.c.  It also contains
21306         suggestions by Bruno Haible in
21307         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
21308         * modules/getloadavg-tests: New file.
21309         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
21310         Do tests in the same order as they're needed for getloadavg.c.
21311         Omit setgid-related tests that generate symbols KMEM_GROUP,
21312         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
21313         Do only the tests that are needed to see whether the system has
21314         getloadavg, moving the other tests into ...
21315         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
21316         NLIST_NAME_UNION; nobody should be using it.  Do not define
21317         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
21318         relevant, as the user of this module shouldn't care how getloadavg
21319         is implemented.
21320
21321         getloadavg: omit unused var
21322         * lib/getloadavg.c (getloadavg): Omit unused local variable.
21323
21324 2011-02-15  Jim Meyering  <meyering@redhat.com>
21325
21326         doc: update users.txt
21327         * users.txt: Update iwhd's URL.
21328
21329 2011-02-13  Bruno Haible  <bruno@clisp.org>
21330
21331         Consistent macro naming for macros that use GCC __attribute__.
21332         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
21333         _ATTRIBUTE_NONNULL_.
21334         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
21335         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
21336         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
21337         ATTRIBUTE_DEPRECATED.
21338         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
21339         ATTRIBUTE_NORETURN.
21340         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21341         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21342         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21343         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
21344         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
21345         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
21346         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
21347         ATTRIBUTE_SENTINEL.
21348         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
21349         ATTRIBUTE_RETURN_CHECK.
21350         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
21351         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
21352         ATTRIBUTE_NORETURN.
21353         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
21354         Reported by Paul Eggert.
21355
21356 2011-02-13  Bruno Haible  <bruno@clisp.org>
21357
21358         Don't interfere with a program's definition of __attribute__.
21359         * lib/argp.h (__attribute__): Remove definition.
21360         (_GL_ATTRIBUTE_FORMAT): New macro.
21361         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
21362         * lib/argp-fmtstream.h (__attribute__): Remove definition.
21363         (_GL_ATTRIBUTE_FORMAT): New macro.
21364         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
21365         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
21366         GCC 3 or newer.
21367         * lib/error.h (__attribute__): Remove definition.
21368         (_GL_ATTRIBUTE_FORMAT): New macro.
21369         (error, error_at_line): Use it.
21370         * lib/hash.h (__attribute__): Remove definition.
21371         (ATTRIBUTE_WUR): Update definition. Define always.
21372         * lib/openat.h (__attribute__): Remove definition.
21373         (ATTRIBUTE_NORETURN): Update definition. Define always.
21374         * lib/sigpipe-die.h (__attribute__): Remove definition.
21375         (ATTRIBUTE_NORETURN): Update definition. Define always.
21376         * lib/vasnprintf.h (__attribute__): Remove definition.
21377         (_GL_ATTRIBUTE_FORMAT): New macro.
21378         (asnprintf, vasnprintf): Use it.
21379         * lib/xalloc.h (__attribute__): Remove definition.
21380         (ATTRIBUTE_NORETURN): Update definition. Define always.
21381         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
21382         * lib/xmemdup0.h (__attribute__): Remove definition.
21383         (ATTRIBUTE_NORETURN): Update definition. Define always.
21384         * lib/xprintf.h (__attribute__): Remove definition.
21385         (_GL_ATTRIBUTE_FORMAT): New macro.
21386         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
21387         * lib/xstrtol.h (__attribute__): Remove definition.
21388         (ATTRIBUTE_NORETURN): Update definition. Define always.
21389         * lib/xvasprintf.h (__attribute__): Remove definition.
21390         (_GL_ATTRIBUTE_FORMAT): New macro.
21391         (xasprintf, xvasprintf): Use it.
21392         * tests/test-argmatch.c (__attribute__): Remove definition.
21393         (ATTRIBUTE_NORETURN): Update definition. Define always.
21394         * tests/test-exclude.c (__attribute__): Remove definition.
21395         (ATTRIBUTE_NORETURN): Update definition. Define always.
21396         Reported by Paul Eggert.
21397
21398 2011-02-13  Bruno Haible  <bruno@clisp.org>
21399
21400         mbrtowc: Add more tests for native Windows platforms.
21401         * tests/test-mbrtowc-w32-1.sh: New file.
21402         * tests/test-mbrtowc-w32-2.sh: New file.
21403         * tests/test-mbrtowc-w32-3.sh: New file.
21404         * tests/test-mbrtowc-w32-4.sh: New file.
21405         * tests/test-mbrtowc-w32-5.sh: New file.
21406         * tests/test-mbrtowc-w32.c: New file.
21407         * modules/mbrtowc-tests (Files): Add them.
21408         (Makefile.am): Arrange to run these tests.
21409         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
21410         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
21411
21412 2011-02-13  Bruno Haible  <bruno@clisp.org>
21413
21414         mbrtowc: Work around native Windows bug.
21415         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
21416         guess when no suitable locale for testing was found.
21417         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
21418
21419 2011-02-13  Bruno Haible  <bruno@clisp.org>
21420
21421         mbsinit: Work around mingw bug.
21422         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
21423         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
21424         Windows.
21425         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
21426
21427 2011-02-13  Bruno Haible  <bruno@clisp.org>
21428
21429         mbsinit: Don't crash for a NULL argument.
21430         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
21431         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
21432
21433 2011-02-13  Bruno Haible  <bruno@clisp.org>
21434
21435         Don't interfere with a program's definition of __attribute__.
21436         * lib/stdio.in.h (__attribute__): Remove definition.
21437         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
21438         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
21439         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
21440         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
21441         * lib/string.in.h (__attribute__): Remove definition.
21442         Reported by Paul Eggert.
21443
21444 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21445
21446         stdlib: don't get in the way of non-GCC __attribute__
21447         See thread starting at
21448         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
21449         Revert previous stdlib change, installing the following instead:
21450         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
21451         to get in the way of a non-GCC compiler that supports __attribute__.
21452         (_GL_ATTRIBUTE_RETURN): New macro.
21453         (_Exit): Use it instead of __attribute__.
21454
21455 2011-02-12  Bruno Haible  <bruno@clisp.org>
21456
21457         quotearg test: Avoid test failure on mingw.
21458         * tests/test-quotearg.sh: Convert the locale identifier from native
21459         Windows syntax to Unix syntax.
21460
21461 2011-02-12  Bruno Haible  <bruno@clisp.org>
21462
21463         setlocale: Prefer gnulib's override over libintl's override.
21464         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
21465         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
21466         GNULIB_defined_setlocale is set.
21467
21468 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
21469
21470         stdlib: support non-GCC __attribute__
21471
21472         Fix a serious and tricky problem encountered when attempting to
21473         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
21474         5.5, but it crashed due to memory corruption on Solaris 10 with
21475         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
21476         bits that are otherwise zero.  This tagging is optional inside
21477         Emacs but is preferred and is used when __attribute__ ((__aligned
21478         (8))) works, as it does with both recent-enough GCC and with Sun C
21479         5.11.  However, Sun C 5.11 is not GCC and does not #define
21480         __GNUC__ and __GNUC_MINOR__.
21481
21482         When I added the getloadavg module to Emacs, it brought in
21483         stdlib.in.h, which contained this fragment:
21484
21485            #ifndef __attribute__
21486            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
21487            #  define __attribute__(Spec)   /* empty */
21488            # endif
21489            #endif
21490
21491         When files that include <stdlib.h> were compiled with Sun C 5.11,
21492         the above code disabled __attribute__ ((__aligned (8))), which
21493         caused variables to not be properly aligned, which eventually led
21494         to the pointer corruption mentioned above.  (This was a bit hard
21495         to diagnose, unfortunately.)
21496
21497         Several "#define __attribute__(X) /* empty */" code snippets need
21498         to be eradicated from Gnulib to work with non-GCC compilers that
21499         support __attribute__.  The Autoconf way to do this is to test for
21500         each kind of attribute that we want support for, and selectively
21501         enable that in source code.
21502
21503         Fix this problem just for stdlib.h, by adding a test for the
21504         __noreturn__ attribute, and change stdlib.in.h to use that test
21505         when needed.  This technique can be easily generalized to the
21506         other *.in.h files and attributes, and a similar technique can be
21507         used for *.h and *.c files.  This patch is enough to solve the
21508         problem for Emacs + getloadavg, and I thought I'd publish it for
21509         feedback before undertaking further, similar fixes in other
21510         modules.
21511
21512         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
21513         because it's not needed for stdlib.h.  It merely substitutes the
21514         value directly into stdlib.h.  We may well need to #define it, or
21515         similar symbols, for other modules, but it's nice to also have an
21516         option to not #define it for applications like Emacs that do not
21517         need it.
21518
21519         * lib/stdlib.in.h (__attribute__): Do not #define.
21520         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
21521         be defined only if the _Exit module is also used.
21522         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
21523         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
21524         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
21525         platforms.
21526         * modules/_Exit (Files): Add m4/attribute.m4.
21527         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
21528         * m4/attribute.m4: New file.
21529
21530 2011-02-12  Bruno Haible  <bruno@clisp.org>
21531
21532         wcsrtombs: Work around bug on native Windows.
21533         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
21534         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
21535         instead of len.
21536         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
21537
21538 2011-02-12  Bruno Haible  <bruno@clisp.org>
21539
21540         mbsrtowcs: Work around bug on native Windows.
21541         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
21542         against mingw bug.
21543         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
21544
21545 2011-02-12  Bruno Haible  <bruno@clisp.org>
21546
21547         Avoid setlocale bugs in tests.
21548         * modules/btowc (Dependencies): Add setlocale.
21549         * modules/c-strcase (Dependencies): Likewise.
21550         * modules/mbmemcasecmp (Dependencies): Likewise.
21551         * modules/mbmemcasecoll (Dependencies): Likewise.
21552         * modules/mbrtowc (Dependencies): Likewise.
21553         * modules/mbscasecmp (Dependencies): Likewise.
21554         * modules/mbscasestr (Dependencies): Likewise.
21555         * modules/mbschr (Dependencies): Likewise.
21556         * modules/mbscspn (Dependencies): Likewise.
21557         * modules/mbsinit (Dependencies): Likewise.
21558         * modules/mbsncasecmp (Dependencies): Likewise.
21559         * modules/mbsnrtowcs (Dependencies): Likewise.
21560         * modules/mbspbrk (Dependencies): Likewise.
21561         * modules/mbspcasecmp (Dependencies): Likewise.
21562         * modules/mbsrchr (Dependencies): Likewise.
21563         * modules/mbsrtowcs (Dependencies): Likewise.
21564         * modules/mbsspn (Dependencies): Likewise.
21565         * modules/mbsstr (Dependencies): Likewise.
21566         * modules/nl_langinfo (Dependencies): Likewise.
21567         * modules/quotearg (Dependencies): Likewise.
21568         * modules/unicase/locale-language (Dependencies): Likewise.
21569         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
21570         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
21571         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
21572         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
21573         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
21574         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
21575         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
21576         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
21577         * modules/vasnprintf-posix (Dependencies): Likewise.
21578         * modules/wcrtomb (Dependencies): Likewise.
21579         * modules/wcsnrtombs (Dependencies): Likewise.
21580         * modules/wcsrtombs (Dependencies): Likewise.
21581
21582 2011-02-12  Bruno Haible  <bruno@clisp.org>
21583
21584         setlocale: Workaround native Windows bug.
21585         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
21586         succeeds but sets LC_CTYPE to "C", report a failure.
21587         * tests/test-setlocale2.sh: New file.
21588         * tests/test-setlocale2.c: New file.
21589         * modules/setlocale-tests (Files): Add the new files.
21590         (Makefile.am): Enable test-setlocale2.sh test.
21591         * doc/posix-functions/setlocale.texi: Mention workaround.
21592
21593 2011-02-11  Bruno Haible  <bruno@clisp.org>
21594
21595         Tests for module 'setlocale'.
21596         * modules/setlocale-tests: New file.
21597         * tests/test-setlocale1.sh: New file.
21598         * tests/test-setlocale1.c: New file.
21599
21600         New module 'setlocale'.
21601         * lib/locale.in.h (setlocale): New declaration.
21602         * lib/setlocale.c: New file, based on
21603         gettext/gettext-runtime/intl/setlocale.c.
21604         * m4/setlocale.m4: New file.
21605         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
21606         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
21607         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
21608         REPLACE_SETLOCALE.
21609         * modules/setlocale: New file.
21610         * tests/test-locale-c++.cc: Test the declaration of setlocale.
21611         * doc/posix-functions/setlocale.texi: Mention the new module.
21612
21613 2011-02-11  Bruno Haible  <bruno@clisp.org>
21614
21615         Prepare for locale dependent tests on mingw.
21616         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
21617         because it has the wrong locale encoding.
21618         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
21619         French_France.1252 instead of "fr".
21620         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
21621         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
21622         because it has the wrong locale encoding.
21623         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
21624         native Windows, try Turkish_Turkey.65001.
21625         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
21626         Chinese_China.54936.
21627
21628         Prepare for locale dependent tests on mingw.
21629         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
21630         differently.
21631         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
21632         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
21633         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
21634         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
21635
21636 2011-02-11  Eric Blake  <eblake@redhat.com>
21637
21638         strptime: avoid compiler warnings
21639         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
21640         compiler warnings about dead code.
21641         Reported by Daniel P. Berrange.
21642
21643 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
21644
21645         doc: update users.txt
21646         * users.txt: Add rcs.
21647
21648 2011-02-10  John W. Eaton  <jwe@gnu.org>
21649
21650         doc: update users.txt
21651         * users.txt: Add octave.
21652
21653 2011-02-10  Jim Meyering  <meyering@redhat.com>
21654
21655         doc: update users.txt
21656         * users.txt: Add iwhd.
21657
21658 2011-02-09  Bruno Haible  <bruno@clisp.org>
21659
21660         gnulib-tool: Make copyright notice adjustment more robust.
21661         * gnulib-tool (func_import): In sed_transform_main_lib_file,
21662         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
21663         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
21664         License".
21665         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
21666
21667 2011-02-06  Bruno Haible  <bruno@clisp.org>
21668
21669         New module 'towctrans'.
21670         * modules/towctrans: New file.
21671         * lib/wctype.in.h (towctrans): New declaration.
21672         * lib/towctrans.c: New file.
21673         * lib/towctrans-impl.h: New file.
21674         * m4/towctrans.m4: New file.
21675         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
21676         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
21677         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
21678         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
21679         * doc/posix-functions/towctrans.texi: Mention the new module.
21680
21681 2011-02-06  Bruno Haible  <bruno@clisp.org>
21682
21683         New module 'wctrans'.
21684         * modules/wctrans: New file.
21685         * lib/wctype.in.h (wctrans): New declaration.
21686         * lib/wctrans.c: New file.
21687         * lib/wctrans-impl.h: New file.
21688         * m4/wctrans.m4: New file.
21689         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
21690         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
21691         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
21692         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
21693         * doc/posix-functions/wctrans.texi: Mention the new module.
21694
21695 2011-02-06  Bruno Haible  <bruno@clisp.org>
21696
21697         New module 'iswctype'.
21698         * modules/iswctype: New file.
21699         * lib/wctype.in.h (iswctype): New declaration.
21700         * lib/iswctype.c: New file.
21701         * lib/iswctype-impl.h: New file.
21702         * m4/iswctype.m4: New file.
21703         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
21704         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
21705         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
21706         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
21707         * doc/posix-functions/iswctype.texi: Mention the new module and the
21708         HP-UX 11.00 problem.
21709
21710 2011-02-06  Bruno Haible  <bruno@clisp.org>
21711
21712         New module 'wctype'.
21713         * modules/wctype: Change to represent the wctype() substitute.
21714         * lib/wctype.in.h (wctype): New declaration.
21715         * lib/wctype.c: New file.
21716         * lib/wctype-impl.h: New file.
21717         * m4/wctype.m4: New file.
21718         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
21719         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
21720         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
21721         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
21722         * doc/posix-functions/wctype.texi: Mention the new module and the
21723         HP-UX 11.00 problem.
21724
21725 2011-02-06  Bruno Haible  <bruno@clisp.org>
21726
21727         wctype-h: Ensure wctype_t and wctrans_t are defined.
21728         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
21729         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21730         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
21731         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
21732         HAVE_WCTRANS_T.
21733         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
21734
21735 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
21736
21737         flock: fix license typo
21738
21739         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
21740         omitted.
21741
21742 2011-02-08  Bruno Haible  <bruno@clisp.org>
21743
21744         Split large sed scripts, for HP-UX sed.
21745         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
21746         to avoid HP-UX limit of 99 commands, in the near future.
21747         * modules/stdlib (Makefile.am): Likewise.
21748         * modules/unistd (Makefile.am): Likewise.
21749         * modules/wchar (Makefile.am): Likewise.
21750         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21751         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
21752         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
21753
21754 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21755             Bruno Haible  <bruno@clisp.org>
21756
21757         stdlib: improve random_r modularization
21758         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
21759         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
21760         you also need the random_r module to get this material right.
21761         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
21762         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
21763         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
21764
21765 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
21766
21767         stdlib: don't depend on stdint
21768         * lib/stdlib.in.h: Don't include <stdint.h> merely because
21769         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
21770         be independent of whether stdint.h is needed.
21771         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
21772         here, instead of ...
21773         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
21774         struct random_data should be using the random_r module, not just
21775         the stdlib module (which wouldn't make sense: what package needs
21776         just struct random_data without also needing random_r?).
21777         * modules/stdlib (Depends-on): Remove stdint.
21778
21779         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
21780         See the thread rooted at
21781         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
21782         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
21783         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
21784         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
21785         __VMS)); previously it was always included (via fcntl--.h).
21786         (getloadavg): Do not use c_strtod.  Instead, approximate it by
21787         hand; this is good enough for load averages.  Also, do not use
21788         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
21789         flags directly if available and don't bother otherwise.  (Packages
21790         that need the extra reliability should use the modules that define
21791         these flags on older platforms that lack them.)
21792         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
21793         fcntl-safer.
21794
21795 2011-02-08  Jim Meyering  <meyering@redhat.com>
21796
21797         di-set.h, ino-map.h: add multiple-inclusion guard
21798         Technically, the guard is required only for ino-map.h, due to its
21799         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
21800         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
21801         * lib/ino-map.h: Likewise.
21802
21803 2011-02-06  Bruno Haible  <bruno@clisp.org>
21804
21805         iswblank: Ensure declaration on glibc systems.
21806         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
21807         * modules/iswblank (Dependencies): Add 'extensions'.
21808         * doc/posix-functions/iswblank.texi: Document the glibc problem.
21809
21810 2011-02-06  Bruno Haible  <bruno@clisp.org>
21811
21812         New module 'iswblank'.
21813         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
21814         * modules/iswblank: New file.
21815         * modules/wctype-h (Files): Remove lib/iswblank.c.
21816         (Makefile.am): Substitute GNULIB_ISWBLANK.
21817         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
21818         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
21819         (gl_WCTYPE_H_DEFAULTS): New macro.
21820         (gl_WCTYPE_H): Require it. Remove iswblank related code.
21821         * modules/iswblank-tests: New file.
21822         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
21823         * tests/test-wctype-h.c (main): Remove iswblank tests.
21824         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
21825         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
21826         of 'wctype-h'.
21827         * NEWS: Mention the change.
21828         * modules/mbchar (Depends-on): Add iswblank.
21829
21830 2011-02-08  Bruno Haible  <bruno@clisp.org>
21831
21832         di-set tests: Refactor.
21833         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
21834         unnecessary includes.
21835         (ASSERT): Remove macro.
21836         (main): Make C90 compliant by avoiding variable declaration after
21837         statement.
21838         * modules/di-set-tests (Files): Add tests/macros.h.
21839
21840 2011-02-08  Bruno Haible  <bruno@clisp.org>
21841
21842         ino-map tests: Refactor.
21843         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
21844         unnecessary includes.
21845         (ASSERT): Remove macro.
21846         (main): Make C90 compliant by avoiding variable declaration after
21847         statement.
21848         * modules/ino-map-tests (Files): Add tests/macros.h.
21849
21850 2011-02-08  Jim Meyering  <meyering@redhat.com>
21851
21852         di-set: add "const" to a cast
21853         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
21854         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
21855
21856 2011-02-06  Bruno Haible  <bruno@clisp.org>
21857
21858         Rename module 'wctype' to 'wctype-h'.
21859         * modules/wctype-h: Renamed from modules/wctype.
21860         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
21861         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
21862         (Files, Depends-on, Makefile.am): Update.
21863         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
21864         (Files, Makefile.am): Update.
21865         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
21866         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
21867         * doc/posix-headers/wctype.texi: Update.
21868         * doc/posix-functions/iswalnum.texi: Update.
21869         * doc/posix-functions/iswalpha.texi: Update.
21870         * doc/posix-functions/iswblank.texi: Update.
21871         * doc/posix-functions/iswcntrl.texi: Update.
21872         * doc/posix-functions/iswdigit.texi: Update.
21873         * doc/posix-functions/iswgraph.texi: Update.
21874         * doc/posix-functions/iswlower.texi: Update.
21875         * doc/posix-functions/iswprint.texi: Update.
21876         * doc/posix-functions/iswpunct.texi: Update.
21877         * doc/posix-functions/iswspace.texi: Update.
21878         * doc/posix-functions/iswupper.texi: Update.
21879         * doc/posix-functions/iswxdigit.texi: Update.
21880         * doc/posix-functions/towlower.texi: Update.
21881         * doc/posix-functions/towupper.texi: Update.
21882         * NEWS: Mention the change.
21883         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
21884         * modules/mbchar (Dependencies): Likewise.
21885         * modules/mbswidth (Dependencies): Likewise.
21886         * modules/quotearg (Dependencies): Likewise.
21887         * modules/regex (Dependencies): Likewise.
21888         * modules/wcscasecmp (Dependencies): Likewise.
21889         * modules/wcsncasecmp (Dependencies): Likewise.
21890         * modules/wcwidth (Dependencies): Likewise.
21891
21892 2011-02-06  Bruno Haible  <bruno@clisp.org>
21893
21894         New module 'wcswidth'.
21895         * modules/wcswidth: New file.
21896         * lib/wchar.in.h (wcswidth): New declaration.
21897         * lib/wcswidth.c: New file.
21898         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
21899         * m4/wcswidth.m4: New file.
21900         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
21901         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
21902         REPLACE_WCSWIDTH.
21903         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
21904         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
21905         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
21906         * doc/posix-functions/wcswidth.texi: Mention the new module.
21907
21908 2011-02-06  Bruno Haible  <bruno@clisp.org>
21909
21910         New module 'wcstok'.
21911         * modules/wcstok: New file.
21912         * lib/wchar.in.h (wcstok): New declaration.
21913         * lib/wcstok.c: New file.
21914         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
21915         * m4/wcstok.m4: New file.
21916         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
21917         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
21918         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
21919         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
21920         * doc/posix-functions/wcstok.texi: Mention the new module.
21921
21922 2011-02-06  Bruno Haible  <bruno@clisp.org>
21923
21924         New module 'wcsstr'.
21925         * modules/wcsstr: New file.
21926         * lib/wchar.in.h (wcsstr): New declaration.
21927         * lib/wcsstr.c: New file.
21928         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
21929         * m4/wcsstr.m4: New file.
21930         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
21931         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
21932         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
21933         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
21934         * doc/posix-functions/wcsstr.texi: Mention the new module.
21935
21936 2011-02-06  Bruno Haible  <bruno@clisp.org>
21937
21938         New module 'wcspbrk'.
21939         * modules/wcspbrk: New file.
21940         * lib/wchar.in.h (wcspbrk): New declaration.
21941         * lib/wcspbrk.c: New file.
21942         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
21943         * m4/wcspbrk.m4: New file.
21944         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
21945         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
21946         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
21947         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
21948         * doc/posix-functions/wcspbrk.texi: Mention the new module.
21949
21950 2011-02-06  Bruno Haible  <bruno@clisp.org>
21951
21952         New module 'wcsspn'.
21953         * modules/wcsspn: New file.
21954         * lib/wchar.in.h (wcsspn): New declaration.
21955         * lib/wcsspn.c: New file.
21956         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
21957         * m4/wcsspn.m4: New file.
21958         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
21959         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
21960         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
21961         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
21962         * doc/posix-functions/wcsspn.texi: Mention the new module.
21963
21964 2011-02-06  Bruno Haible  <bruno@clisp.org>
21965
21966         New module 'wcscspn'.
21967         * modules/wcscspn: New file.
21968         * lib/wchar.in.h (wcscspn): New declaration.
21969         * lib/wcscspn.c: New file.
21970         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
21971         * m4/wcscspn.m4: New file.
21972         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
21973         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
21974         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
21975         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
21976         * doc/posix-functions/wcscspn.texi: Mention the new module.
21977
21978 2011-02-06  Bruno Haible  <bruno@clisp.org>
21979
21980         New module 'wcsrchr'.
21981         * modules/wcsrchr: New file.
21982         * lib/wchar.in.h (wcsrchr): New declaration.
21983         * lib/wcsrchr.c: New file.
21984         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
21985         * m4/wcsrchr.m4: New file.
21986         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
21987         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
21988         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
21989         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
21990         * doc/posix-functions/wcsrchr.texi: Mention the new module.
21991
21992 2011-02-06  Bruno Haible  <bruno@clisp.org>
21993
21994         New module 'wcschr'.
21995         * modules/wcschr: New file.
21996         * lib/wchar.in.h (wcschr): New declaration.
21997         * lib/wcschr.c: New file.
21998         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
21999         * m4/wcschr.m4: New file.
22000         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
22001         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
22002         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
22003         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
22004         * doc/posix-functions/wcschr.texi: Mention the new module.
22005
22006 2011-02-06  Bruno Haible  <bruno@clisp.org>
22007
22008         New module 'wcsdup'.
22009         * modules/wcsdup: New file.
22010         * lib/wchar.in.h (wcsdup): New declaration.
22011         * lib/wcsdup.c: New file.
22012         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
22013         * m4/wcsdup.m4: New file.
22014         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
22015         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
22016         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
22017         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
22018         * doc/posix-functions/wcsdup.texi: Mention the new module.
22019
22020 2011-02-06  Bruno Haible  <bruno@clisp.org>
22021
22022         New module 'wcsxfrm'.
22023         * modules/wcsxfrm: New file.
22024         * lib/wchar.in.h (wcsxfrm): New declaration.
22025         * lib/wcsxfrm.c: New file.
22026         * lib/wcsxfrm-impl.h: New file.
22027         * m4/wcsxfrm.m4: New file.
22028         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
22029         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
22030         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
22031         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
22032         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
22033
22034 2011-02-06  Bruno Haible  <bruno@clisp.org>
22035
22036         New module 'wcscoll'.
22037         * modules/wcscoll: New file.
22038         * lib/wchar.in.h (wcscoll): New declaration.
22039         * lib/wcscoll.c: New file.
22040         * lib/wcscoll-impl.h: New file.
22041         * m4/wcscoll.m4: New file.
22042         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
22043         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
22044         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
22045         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
22046         * doc/posix-functions/wcscoll.texi: Mention the new module.
22047
22048 2011-02-06  Bruno Haible  <bruno@clisp.org>
22049
22050         New module 'wcsncasecmp'.
22051         * modules/wcsncasecmp: New file.
22052         * lib/wchar.in.h (wcsncasecmp): New declaration.
22053         * lib/wcsncasecmp.c: New file.
22054         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
22055         * m4/wcsncasecmp.m4: New file.
22056         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
22057         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
22058         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
22059         HAVE_WCSNCASECMP.
22060         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
22061         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
22062
22063 2011-02-06  Bruno Haible  <bruno@clisp.org>
22064
22065         New module 'wcscasecmp'.
22066         * modules/wcscasecmp: New file.
22067         * lib/wchar.in.h (wcscasecmp): New declaration.
22068         * lib/wcscasecmp.c: New file.
22069         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
22070         * m4/wcscasecmp.m4: New file.
22071         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
22072         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
22073         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
22074         HAVE_WCSCASECMP.
22075         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
22076         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
22077
22078 2011-02-05  Bruno Haible  <bruno@clisp.org>
22079
22080         New module 'wcsncmp'.
22081         * modules/wcsncmp: New file.
22082         * lib/wchar.in.h (wcsncmp): New declaration.
22083         * lib/wcsncmp.c: New file.
22084         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
22085         * m4/wcsncmp.m4: New file.
22086         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
22087         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
22088         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
22089         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
22090         * doc/posix-functions/wcsncmp.texi: Mention the new module.
22091
22092 2011-02-05  Bruno Haible  <bruno@clisp.org>
22093
22094         New module 'wcscmp'.
22095         * modules/wcscmp: New file.
22096         * lib/wchar.in.h (wcscmp): New declaration.
22097         * lib/wcscmp.c: New file.
22098         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
22099         * m4/wcscmp.m4: New file.
22100         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
22101         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
22102         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
22103         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
22104         * doc/posix-functions/wcscmp.texi: Mention the new module.
22105
22106 2011-02-05  Bruno Haible  <bruno@clisp.org>
22107
22108         New module 'wcsncat'.
22109         * modules/wcsncat: New file.
22110         * lib/wchar.in.h (wcsncat): New declaration.
22111         * lib/wcsncat.c: New file.
22112         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
22113         * m4/wcsncat.m4: New file.
22114         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
22115         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
22116         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
22117         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
22118         * doc/posix-functions/wcsncat.texi: Mention the new module.
22119
22120 2011-02-05  Bruno Haible  <bruno@clisp.org>
22121
22122         New module 'wcscat'.
22123         * modules/wcscat: New file.
22124         * lib/wchar.in.h (wcscat): New declaration.
22125         * lib/wcscat.c: New file.
22126         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
22127         * m4/wcscat.m4: New file.
22128         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
22129         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
22130         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
22131         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
22132         * doc/posix-functions/wcscat.texi: Mention the new module.
22133
22134 2011-02-05  Bruno Haible  <bruno@clisp.org>
22135
22136         New module 'wcpncpy'.
22137         * modules/wcpncpy: New file.
22138         * lib/wchar.in.h (wcpncpy): New declaration.
22139         * lib/wcpncpy.c: New file.
22140         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
22141         * m4/wcpncpy.m4: New file.
22142         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
22143         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
22144         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
22145         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
22146         * doc/posix-functions/wcpncpy.texi: Mention the new module.
22147
22148 2011-02-05  Bruno Haible  <bruno@clisp.org>
22149
22150         New module 'wcsncpy'.
22151         * modules/wcsncpy: New file.
22152         * lib/wchar.in.h (wcsncpy): New declaration.
22153         * lib/wcsncpy.c: New file.
22154         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
22155         * m4/wcsncpy.m4: New file.
22156         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
22157         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
22158         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
22159         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
22160         * doc/posix-functions/wcsncpy.texi: Mention the new module.
22161
22162 2011-02-05  Bruno Haible  <bruno@clisp.org>
22163
22164         New module 'wcpcpy'.
22165         * modules/wcpcpy: New file.
22166         * lib/wchar.in.h (wcpcpy): New declaration.
22167         * lib/wcpcpy.c: New file.
22168         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
22169         * m4/wcpcpy.m4: New file.
22170         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
22171         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
22172         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
22173         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
22174         * doc/posix-functions/wcpcpy.texi: Mention the new module.
22175
22176 2011-02-05  Bruno Haible  <bruno@clisp.org>
22177
22178         New module 'wcscpy'.
22179         * modules/wcscpy: New file.
22180         * lib/wchar.in.h (wcscpy): New declaration.
22181         * lib/wcscpy.c: New file.
22182         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
22183         * m4/wcscpy.m4: New file.
22184         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
22185         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
22186         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
22187         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
22188         * doc/posix-functions/wcscpy.texi: Mention the new module.
22189
22190 2011-02-05  Bruno Haible  <bruno@clisp.org>
22191
22192         New module 'wcsnlen'.
22193         * modules/wcsnlen: New file.
22194         * lib/wchar.in.h (wcsnlen): New declaration.
22195         * lib/wcsnlen.c: New file.
22196         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
22197         * m4/wcsnlen.m4: New file.
22198         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
22199         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
22200         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
22201         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
22202         * doc/posix-functions/wcsnlen.texi: Mention the new module.
22203
22204 2011-02-05  Bruno Haible  <bruno@clisp.org>
22205
22206         New module 'wcslen'.
22207         * modules/wcslen: New file.
22208         * lib/wchar.in.h (wcslen): New declaration.
22209         * lib/wcslen.c: New file.
22210         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
22211         * m4/wcslen.m4: New file.
22212         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
22213         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
22214         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
22215         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
22216         * doc/posix-functions/wcslen.texi: Mention the new module.
22217
22218 2011-02-05  Bruno Haible  <bruno@clisp.org>
22219
22220         New module 'wmemset'.
22221         * modules/wmemset: New file.
22222         * lib/wchar.in.h (wmemset): New declaration.
22223         * lib/wmemset.c: New file.
22224         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
22225         * m4/wmemset.m4: New file.
22226         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
22227         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
22228         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
22229         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
22230         * doc/posix-functions/wmemset.texi: Mention the new module.
22231
22232 2011-02-05  Bruno Haible  <bruno@clisp.org>
22233
22234         New module 'wmemmove'.
22235         * modules/wmemmove: New file.
22236         * lib/wchar.in.h (wmemmove): New declaration.
22237         * lib/wmemmove.c: New file.
22238         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
22239         * m4/wmemmove.m4: New file.
22240         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
22241         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
22242         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
22243         HAVE_WMEMMOVE.
22244         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
22245         * doc/posix-functions/wmemmove.texi: Mention the new module.
22246
22247 2011-02-05  Bruno Haible  <bruno@clisp.org>
22248
22249         New module 'wmemcpy'.
22250         * modules/wmemcpy: New file.
22251         * lib/wchar.in.h (wmemcpy): New declaration.
22252         * lib/wmemcpy.c: New file.
22253         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
22254         * m4/wmemcpy.m4: New file.
22255         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
22256         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
22257         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
22258         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
22259         * doc/posix-functions/wmemcpy.texi: Mention the new module.
22260
22261 2011-02-05  Bruno Haible  <bruno@clisp.org>
22262
22263         New module 'wmemcmp'.
22264         * modules/wmemcmp: New file.
22265         * lib/wchar.in.h (wmemcmp): New declaration.
22266         * lib/wmemcmp.c: New file.
22267         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
22268         * m4/wmemcmp.m4: New file.
22269         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
22270         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
22271         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
22272         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
22273         * doc/posix-functions/wmemcmp.texi: Mention the new module.
22274
22275 2011-02-07  Jim Meyering  <meyering@redhat.com>
22276
22277         di-set, ino-map: new modules, from coreutils
22278         * lib/di-set.c: New file.
22279         * lib/di-set.h: Likewise.
22280         * lib/ino-map.c: Likewise.
22281         * lib/ino-map.h: Likewise.
22282         * modules/di-set: Likewise.
22283         * modules/di-set-tests: Likewise.
22284         * modules/ino-map: Likewise.
22285         * modules/ino-map-tests: Likewise.
22286         * tests/test-di-set.c: Likewise.
22287         * tests/test-ino-map.c: Likewise.
22288
22289 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
22290
22291         getloadavg: merge minor changes from Emacs
22292
22293         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
22294         (getloadavg): Use memset, not bzero.
22295
22296         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
22297         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
22298         clash (bug#86).
22299
22300 2010-11-14  Bruno Haible  <bruno@clisp.org>
22301
22302         Allow multiple gnulib generated replacements to coexist.
22303         * lib/getopt.in.h (struct option): Avoid identical redefinition.
22304         * lib/inttypes.in.h (imaxdiv_t): Likewise.
22305         * lib/langinfo.in.h (nl_item): Likewise.
22306         * lib/math.in.h (_NaN, NAN): Likewise.
22307         * lib/netdb.in.h (struct addrinfo): Likewise.
22308         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
22309         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
22310         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
22311         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
22312         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
22313         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
22314         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
22315         pthread_mutexattr_init, pthread_mutexattr_settype,
22316         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
22317         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
22318         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
22319         pthread_spin_trylock, pthread_spin_unlock): Likewise.
22320         * lib/sched.in.h (struct sched_param): Likewise.
22321         * lib/se-selinux.in.h (security_class_t, security_context_t,
22322         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
22323         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
22324         lsetfilecon, fsetfilecon, security_check_context,
22325         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
22326         Likewise.
22327         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
22328         Likewise.
22329         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
22330         _gl_function_taking_int_returning_void_t, union sigval,
22331         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
22332         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
22333         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
22334         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
22335         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
22336         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
22337         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
22338         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
22339         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
22340         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
22341         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
22342         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
22343         socklen_t, rpl_fd_isset): Likewise.
22344         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
22345         * lib/sys_time.in.h (struct timeval): Likewise.
22346         * lib/sys_times.in.h (struct tms): Likewise.
22347         * lib/sys_utsname.in.h (struct utsname):
22348         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
22349         * lib/unistd.in.h (getpagesize): Likewise.
22350         * lib/wchar.in.h (mbstate_t): Likewise.
22351         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
22352         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
22353         towlower, towupper): Likewise.
22354         Reported by Sam Steingold <sds@gnu.org>.
22355
22356 2011-02-05  Eric Blake  <eblake@redhat.com>
22357
22358         unsetenv: work around Haiku issues
22359         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
22360         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
22361
22362 2010-12-30  Bruce Korb  <bkorb@gnu.org>
22363
22364         libposix: avoid calling error() within libposix
22365         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
22366         is defined.
22367
22368 2011-02-05  Eric Blake  <eblake@redhat.com>
22369
22370         strerror_r-posix: port to cygwin
22371         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
22372         implementation.
22373         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
22374         * tests/test-strerror_r.c (main): Fix test.
22375         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
22376         issue.
22377
22378 2011-02-05  Bruno Haible  <bruno@clisp.org>
22379
22380         New module 'wmemchr'.
22381         * modules/wmemchr: New file.
22382         * lib/wchar.in.h (wmemchr): New declaration.
22383         * lib/wmemchr.c: New file.
22384         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
22385         * m4/wmemchr.m4: New file.
22386         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
22387         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
22388         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
22389         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
22390         * doc/posix-functions/wmemchr.texi: Mention the new module.
22391
22392 2011-02-04  Eric Blake  <eblake@redhat.com>
22393
22394         fdopendir: detect FreeBSD bug
22395         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
22396         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
22397
22398 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
22399
22400         stdbool: do not define HAVE_STDBOOL_H
22401         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
22402         AC_HEADER_STDBOOL.  All uses changed.  Do not define
22403         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
22404         imported from the latest Autoconf git.  It was motivated by Emacs,
22405         which uses gnulib but does not need HAVE_STDBOOL_H.
22406
22407 2011-02-04  Bruno Haible  <bruno@clisp.org>
22408
22409         wcsnrtombs: Prepare for new module wwcsnrtombs.
22410         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
22411         * lib/wcsnrtombs.c: Include it.
22412         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
22413
22414         wcsrtombs: Prepare for new module wwcsrtombs.
22415         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
22416         * lib/wcsrtombs.c: Include it.
22417         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
22418
22419         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
22420         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
22421         * lib/mbsnrtowcs.c: Include it.
22422         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
22423
22424         mbsrtowcs: Prepare for new module mbsrtowwcs.
22425         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
22426         * lib/mbsrtowcs.c: Include it.
22427         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
22428
22429 2011-02-04  Bruno Haible  <bruno@clisp.org>
22430
22431         vasnprintf: Reduce use of malloc for small format strings.
22432         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
22433         (arguments): Add room for the first 7 arguments.
22434         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
22435         (char_directives, u8_directives, u16_directives, u32_directives): Add
22436         room for the first 7 directives.
22437         * lib/printf-parse.c: Include <string.h>.
22438         (PRINTF_PARSE): Change memory handling code so that it uses the first
22439         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
22440         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
22441         Reported by Pádraig Brady <P@draigbrady.com>.
22442
22443 2011-01-31  Eric Blake  <eblake@redhat.com>
22444
22445         dup2: work around Haiku bug
22446         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
22447         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
22448         * doc/posix-functions/dup2.texi (dup2): Document the bug.
22449         * tests/test-dup2.c (main): Enhance test.
22450
22451 2011-01-31  Simon Josefsson  <simon@josefsson.org>
22452
22453         doc: off_t is not available in eglibc 2.11.2 stdio.h.
22454         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
22455         declared by eglibc 2.11.2.
22456         * lib/stdio.in.h: Likewise.
22457
22458 2011-01-31  Eric Blake  <eblake@redhat.com>
22459
22460         ignore-value: add missing test dependency
22461         * tests/test-ignore-value.c: Revert previous change; stdio.h
22462         provides off_t.
22463         * modules/ignore-value-tests (Depends-on): Add missing dependency.
22464
22465 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
22466
22467         mktime: clarify long_int width checking
22468         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
22469         the top level, to make it clearer that the assumption about
22470         long_int width is being checked.  See
22471         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
22472
22473 2011-01-30  Simon Josefsson  <simon@josefsson.org>
22474
22475         ignore-value: Fix self-test.
22476         * tests/test-ignore-value.c: Include sys/types.h for off_t.
22477
22478 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
22479
22480         TYPE_MAXIMUM: avoid theoretically undefined behavior
22481         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
22482         negative number, which the C Standard says has undefined behavior.
22483         In practice this is not a problem, but might as well do it by the book.
22484         Reported by Rich Felker and Eric Blake; see
22485         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
22486         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
22487         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22488         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22489         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
22490         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22491         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
22492
22493         mktime: #undef mktime before #defining it
22494         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
22495
22496         mktime: systematically normalize tm_isdst comparisons
22497         * lib/mktime.c (isdst_differ): New function.
22498         (__mktime_internal): Use it systematically for all isdst comparisons.
22499         This completes the fix for libc BZ #6723, and removes the need for
22500         normalizing tm_isdst.  See
22501         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
22502         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
22503
22504         mktime: fix some integer overflow issues and sidestep the rest
22505
22506         This was prompted by a bug report by Benjamin Lindner for MinGW
22507         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
22508         His bug is due to signed integer overflow (0 - INT_MIN), and I
22509         I scanned through mktime.c looking for other integer overflow
22510         problems, fixing all the bugs I found.
22511
22512         Although the C Standard says the resulting code is still not safe
22513         in the presence of integer overflow, in practice it should be good
22514         enough for all real-world two's-complement implementations, except
22515         for debugging environments that deliberately trap on integer
22516         overflow (e.g., gcc -ftrapv).
22517
22518         * lib/mktime.c (WRAPV): New macro.
22519         (SHR): Also check that long_int and time_t shift right in the
22520         usual way, before using the fast-but-unportable method.
22521         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
22522         used.  The code already assumed two's complement, so there's
22523         no need to test for alternatives.  All uses removed.
22524         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
22525         the C standard.  Problem reported by Rich Felker in
22526         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
22527         (twos_complement_arithmetic): Also check long_int and time_t.
22528         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
22529         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
22530         (__mktime_internal): Avoid integer overflow with unary subtraction
22531         in two instances where -1 - X is an adequate replacement for -X,
22532         since the calculations are approximate.
22533
22534 2011-01-29  Eric Blake  <eblake@redhat.com>
22535
22536         mktime: avoid infinite loop
22537         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
22538         type; behavior is still undefined but portable to all known targets.
22539         Reported by Rich Felker.
22540
22541 2011-01-29  Simon Josefsson  <simon@josefsson.org>
22542
22543         rename, unlink, same-inode: Relicense.
22544         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
22545         * modules/unlink (License): Likewise.
22546         * modules/same-inode (License): Likewise.
22547
22548 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
22549
22550         mktime: avoid problems on NetBSD 5 / i386
22551         * lib/mktime.c (long_int): New type.  This works around a problem
22552         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
22553         but time_t is 64 bits, and where I expect the existing code is
22554         wrong in some cases.
22555         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
22556         (ydhms_diff): Bring back the compile-time check for wide-enough
22557         year and yday.
22558
22559         mktime: fix misspelling in comment
22560         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
22561         This merges all recent glibc changes of importance.
22562
22563 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22564
22565         move-if-change: cope with concurrent mv of identical file.
22566         * build-aux/move-if-change (CMPPROG): Accept environment
22567         variable as an override for `cmp'.
22568         (usage): Document CMPPROG.
22569         Adjust comparison to drop stdout.  Cope with failure of mv if
22570         the target file exists and is identical to the source, for
22571         parallel builds.
22572         Report from H.J. Lu against binutils in PR binutils/12283.
22573
22574 2011-01-28  Bruce Korb  <bkorb@gnu.org>
22575
22576         * users.txt: Mention sharutils.
22577
22578 2011-01-28  Simon Josefsson  <simon@josefsson.org>
22579
22580         * users.txt: Mention OATH Toolkit.
22581
22582 2011-01-27  Bruno Haible  <bruno@clisp.org>
22583
22584         Prepare for supporting FreeBSD 10.
22585         * build-aux/config.libpath: Remove handling of freebsd1*.
22586
22587 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
22588
22589         Prepare for supporting FreeBSD 10.
22590         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
22591         match FreeBSD 10.0.
22592
22593 2011-01-27  Bruno Haible  <bruno@clisp.org>
22594
22595         vma-iter, get-rusage-as: Add OpenBSD support.
22596         * modules/vma-iter (configure.ac): Test for mquery.
22597         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
22598         * lib/vma-iter.c: Include <sys/mman.h>.
22599         (vma_iterate): Add an implementation based on mquery().
22600         * lib/resource-ext.h (get_rusage_as): Update comments.
22601         * lib/get-rusage-as.c: Likewise.
22602         * lib/get-rusage-data.c: Likewise.
22603
22604 2011-01-26  Karl Berry  <karl@gnu.org>
22605
22606         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
22607         variables to make it easier to override the makeinfo program used.
22608
22609 2011-01-26  Eric Blake  <eblake@redhat.com>
22610
22611         fcntl: work around Haiku F_DUPFD bugs
22612         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
22613         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
22614         cloexec bit on duplication.
22615         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
22616
22617 2011-01-26  Bruno Haible  <bruno@clisp.org>
22618
22619         Enable memory leak tests on AIX.
22620         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
22621         * tests/test-fprintf-posix3.c (main): Likewise.
22622
22623 2011-01-26  Bruno Haible  <bruno@clisp.org>
22624
22625         Tests for module 'get-rusage-data'.
22626         * modules/get-rusage-data-tests: New file.
22627         * tests/test-get-rusage-data.c: New file.
22628
22629         New module 'get-rusage-data'.
22630         * lib/resource-ext.h (get_rusage_data): New declaration.
22631         * lib/get-rusage-data.c: New file.
22632         * modules/get-rusage-data: New file.
22633
22634 2011-01-25  Bruno Haible  <bruno@clisp.org>
22635
22636         get-rusage-as: Allow for easier testing.
22637         * lib/resource-ext.h (get_rusage_as): Add comment.
22638         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
22639         (main): New function for interactive testing.
22640
22641 2011-01-25  Bruno Haible  <bruno@clisp.org>
22642
22643         vma-iter: Treat Haiku like BeOS.
22644         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
22645         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
22646
22647 2011-01-25  Eric Blake  <eblake@redhat.com>
22648
22649         c-stack: fix regression on cygwin when libsigsegv is present
22650         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
22651
22652 2011-01-24  Bruno Haible  <bruno@clisp.org>
22653
22654         vma-iter: Avoid empty intervals.
22655         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
22656         on an empty interval.
22657
22658 2011-01-24  Jim Meyering  <meyering@redhat.com>
22659
22660         u64: remove unnecessary #include
22661         * lib/u64.h: Don't include <stddef.h>.  It was not used.
22662
22663 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
22664
22665         Allow the user to avoid the HAVE_RAW_DECL_* macros.
22666         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
22667
22668 2011-01-23  Bruno Haible  <bruno@clisp.org>
22669
22670         New module 'vma-iter'.
22671         * lib/vma-iter.h: New file.
22672         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
22673         * modules/vma-iter: New file.
22674         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
22675         for get_rusage_as_via_iterator.
22676         (vma_iterate_callback): New function.
22677         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
22678         * modules/get-rusage-as (Depends-on): Add vma-iter.
22679
22680 2011-01-23  Bruno Haible  <bruno@clisp.org>
22681
22682         uninorm: Tweak includes.
22683         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
22684         Reported by Jim Meyering.
22685
22686 2011-01-23  Bruno Haible  <bruno@clisp.org>
22687
22688         get-rusage-as: Improve on NetBSD.
22689         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
22690         /proc, like on FreeBSD.
22691
22692 2011-01-23  Jim Meyering  <meyering@redhat.com>
22693
22694         xreadlink.h: remove unnecessary #include
22695         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
22696
22697         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
22698         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
22699
22700 2011-01-23  Bruno Haible  <bruno@clisp.org>
22701
22702         get-rusage-as: Fix bug.
22703         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
22704         original limit when aborting the first loop.
22705
22706 2011-01-23  Bruno Haible  <bruno@clisp.org>
22707
22708         wctype: Ensure valid C syntax.
22709         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
22710         unconditionally, instead of gl_NEXT_HEADERS conditionally.
22711
22712 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
22713
22714         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
22715         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
22716         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
22717         as they are needed only for configure's test case.
22718         This removes two unnecessary symbols from config.h.
22719
22720         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
22721         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
22722         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
22723         AC_CHECK_HEADERS_ONCE on a header that we also invoke
22724         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
22725         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
22726         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
22727         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
22728         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
22729         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22730         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
22731         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22732         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22733         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
22734         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
22735         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22736         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22737         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
22738
22739 2011-01-21  Eric Blake  <eblake@redhat.com>
22740
22741         maintainer-makefile: work with older git for submodule check
22742         * top/maint.mk (public-submodule-commit): Rewrite to avoid
22743         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
22744         Reported by Matthias Bolte.
22745
22746         bootstrap: minor portability fixes
22747         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
22748         (usage): Omit leading capital and trailing . on help phrases, per
22749         GNU Coding Standards.
22750         (check_versions, top level): Prefix messages with script name.
22751
22752 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
22753
22754         bootstrap: support --no-git option
22755         * build-aux/bootstrap: Add --no-git option, to be used when
22756         --gnulib-srcdir points to the exact desired checkout.
22757
22758 2011-01-21  Eric Blake  <eblake@redhat.com>
22759
22760         strerror_r-posix: work with glibc 2.13
22761         * lib/strerror_r.c (strerror_r): Fix return type.
22762
22763 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22764             Bruno Haible  <bruno@clisp.org>
22765
22766         uN_strstr: New unit tests.
22767         * modules/unistr/u8-strstr-tests: New file.
22768         * modules/unistr/u16-strstr-tests: New file.
22769         * modules/unistr/u32-strstr-tests: New file.
22770         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
22771         * tests/unistr/test-u8-strstr.c: New file.
22772         * tests/unistr/test-u16-strstr.c: New file.
22773         * tests/unistr/test-u32-strstr.c: New file.
22774
22775 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22776             Bruno Haible  <bruno@clisp.org>
22777
22778         Make uN_strstr functions O(n) worst-case.
22779         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
22780         16-bit and 32-bit unit cases, use the unibyte algorithm from
22781         lib/mbsstr.c.
22782         * lib/unistr/u8-strstr.c: Include <string.h>.
22783         (UNIT_IS_UINT8_T): New macro.
22784         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
22785         (U_STRLEN, U_STRNLEN): New macros.
22786         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
22787         (U_STRLEN, U_STRNLEN): New macros.
22788         * modules/unistr/u8-strstr (Depends-on): Add strstr.
22789         (configure.ac): Update required libunistring version.
22790         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
22791         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
22792         malloca.
22793         (configure.ac): Update required libunistring version.
22794         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
22795         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
22796         malloca.
22797         (configure.ac): Update required libunistring version.
22798
22799 2011-01-21  Pádraig Brady  <P@draigBrady.com>
22800             Bruno Haible  <bruno@clisp.org>
22801
22802         Prepare for faster uN_strstr functions.
22803         * lib/str-kmp.h: Support definable UNITs.
22804         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
22805         needle_len argument.
22806         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
22807         * lib/mbscasestr.c (mbscasestr): Likewise.
22808
22809 2011-01-21  Pádraig Brady <P@draigBrady.com>
22810
22811         malloca-tests: make faster by unsetting MALLOC_PERTURB_
22812         * tests/test-malloca.c (main): Unset the environment variable
22813         to greatly speed up the test.
22814         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
22815         * modules/malloca-tests: Depend on unsetenv.
22816
22817 2011-01-21  Pádraig Brady <P@draigBrady.com>
22818
22819         ignore-value: remove stdint dependency
22820         * lib/ignore-value.h: Remove <stdint.h>
22821         * modules/ignore-value: Remove stdint dependency.
22822
22823 2011-01-21  Jim Meyering  <meyering@redhat.com>
22824
22825         maint.mk: adjust variable name to be consistent with other gl_ vars
22826         * top/maint.mk (gl_public_submodule_commit): Rename the variable
22827         to be lower case.
22828
22829 2011-01-20  Jim Meyering  <meyering@redhat.com>
22830
22831         maint.mk: make "check" depend on public-submodule-commit by default
22832         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
22833
22834 2011-01-20  Bruno Haible  <bruno@clisp.org>
22835
22836         mbfile, mbiter: Complete change from 2008-12-21.
22837         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
22838         * m4/mbiter.m4 (gl_MBITER): Likewise.
22839
22840 2011-01-20  Jim Meyering  <meyering@redhat.com>
22841
22842         init.sh: insert space between each function name and "()"
22843         * tests/init.sh: Make it a little easier to see that a function's
22844         name is "warn_", and not "warn" when looking at the first part of
22845         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
22846
22847 2011-01-20  Jim Meyering  <meyering@redhat.com>
22848
22849         mountlist: clean up code formatting
22850         * lib/mountlist.c (read_file_system_list): Split a long line,
22851         correct bracing style, use NULL in place of "(struct statfs *)0",
22852         don't parenthesize return value, add spaces around "=" and after
22853         ";-in-for-stmt".
22854
22855 2011-01-14  Markus Duft <mduft@gentoo.org>
22856
22857         mountlist: add support for Interix
22858         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
22859         Apply statvfs to all entries of /dev/fs.
22860         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
22861         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
22862
22863 2011-01-20  Jim Meyering  <meyering@redhat.com>
22864
22865         maint.mk: improve the public-submodule-commit rule
22866         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
22867         to suppress printing of its commands... unless V=1.
22868         Add git submodule's --quiet option to suppress printing of e.g.,
22869         "Entering gnulib" output.
22870         "cd" into $(srcdir) before running git submodule.
22871
22872 2011-01-20  Bruno Haible  <bruno@clisp.org>
22873
22874         include_next: Fix bug introduced on 2011-01-18.
22875         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
22876         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
22877         ac_cv_header_... variable if the second argument is not 'check'.
22878         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
22879         gl_NEXT_HEADERS_INTERNAL.
22880
22881 2011-01-20  Bruno Haible  <bruno@clisp.org>
22882
22883         Allow the user to avoid the GNULIB_TEST_* macros.
22884         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
22885         Suggested by Paul Eggert.
22886
22887 2011-01-14  Jim Meyering  <meyering@redhat.com>
22888
22889         bootstrap: avoid failure when there is no .gitmodules file
22890         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
22891         has been assigned to, even when its value is the empty string.
22892         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
22893         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
22894         Reported by John W. Eaton <jwe@gnu.org>.
22895
22896 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
22897
22898         assume <ctype.h>, ..., <time.h> exist
22899         For years gnulib has been assuming the existence of the headers
22900         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
22901         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
22902         them, since they don't appear to be needed.
22903         * README (Portability guidelines): Document this.
22904         * lib/flock.c: Assume <fcntl.h> exists.
22905         * lib/regex_internal.h: Assume <locale.h> exists.
22906         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
22907         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
22908         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
22909         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
22910         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
22911         * m4/regex.m4 (gl_REGEX): Likewise.
22912         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
22913         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
22914         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
22915         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
22916         * tests/test-argp.c: Likewise.
22917         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
22918
22919         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
22920         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
22921         AA_APPLE_UNIVERSAL_BUILD.  See
22922         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
22923         * NEWS: Document this.
22924
22925 2011-01-19  Eric Blake  <eblake@redhat.com>
22926
22927         c-stack: assume stack overflow if SA_SIGINFO unsupported
22928         * lib/c-stack.c (SIGACTION_WORKS): Rename...
22929         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
22930         sigaction will work.
22931         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
22932         behavior match Linux.
22933         * tests/test-c-stack.c (main): Prefer NULL for pointers.
22934
22935         stdbool-tests: accommodate Haiku
22936         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
22937
22938         binary-io: fix O_TEXT on Haiku
22939         * modules/binary-io (Depends-on): Add fcntl-h.
22940         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
22941         than blindly undefining O_TEXT.
22942         Reported by Scott McCreary.
22943
22944 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22945
22946         include_next: do not check for standard headers like stddef.h
22947
22948         I found this problem when modifying Emacs to use gnulib.
22949         I noticed that it added HAVE_STDDEF_H to config.h, even though
22950         gnulib always assumes <stddef.h> exists as per README and this
22951         symbol is unnecessary.
22952         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
22953         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
22954         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
22955         faster for headers like stddef.h that are known to exist.
22956         (gl_CHECK_NEXT_HEADERS): Use it.
22957         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
22958         rather than gl_CHECK_NEXT_HEADERS.
22959         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
22960         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
22961
22962 2011-01-18  Eric Blake  <eblake@redhat.com>
22963
22964         ansi-c++-opt: skip C++ dependency style if C++ is unused
22965         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
22966         tests when we know C++ compilation is not desired.
22967         Reported by Scott McCreary.
22968
22969 2011-01-18  Bruno Haible  <bruno@clisp.org>
22970
22971         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
22972         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
22973         (main): Perform test also when getrlimit and setrlimit don't exist or
22974         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
22975         limiting the address space size using setrlimit, compare the address
22976         space size before and after the the test.
22977         * tests/test-dprintf-posix2.c: Likewise.
22978         * tests/test-fprintf-posix3.sh: Update skip messages.
22979         * tests/test-dprintf-posix2.sh: Likewise.
22980         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
22981         * modules/dprintf-posix-tests (Depends-on): Likewise.
22982         Reported by Bruce Korb <bkorb@gnu.org> and
22983         Gary V. Vaughan <gary@gnu.org>.
22984
22985 2011-01-18  Bruno Haible  <bruno@clisp.org>
22986
22987         get-rusage-as: Improvement for Cygwin.
22988         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
22989         areas that are merely reserved.
22990
22991 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
22992
22993         strftime: remove dependencies on multibyte modules
22994
22995         strftime depended on mbrlen, mbsinit, and wchar, but these modules
22996         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
22997         only if __osf__ is defined, and I suspect OSF doesn't need these
22998         other modules.  If my guess is wrong, we'll need to come up with a
22999         variant of strftime that doesn't need the multibyte modules.
23000
23001         I discovered this problem when attempting modify Emacs to use the
23002         strftime module.  With the previous gnulib, this caused Emacs to
23003         need 31 new files, ranging from lib/config.charset to
23004         m4/wint_t.m4.  This was overkill and I expect would be offputting
23005         to the Emacs maintainers.  After this change, only 6 new files are
23006         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
23007         stdbool.m4, and tm_gmtoff.m4.
23008
23009         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
23010         Suggested by Bruno Haible in
23011         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
23012         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
23013         and do not check for wchar.h.
23014         * modules/strftime (Files): Remove m4/mbstate_t.m4.
23015         (Depends-on): Remove mbrlen, mbsinit, wchar.
23016
23017 2011-01-18  Bruno Haible  <bruno@clisp.org>
23018
23019         Tests for module 'get-rusage-as'.
23020         * modules/get-rusage-as-tests: New file.
23021         * tests/test-get-rusage-as.c: New file.
23022
23023         New module 'get-rusage-as'.
23024         * modules/get-rusage-as: New file.
23025         * lib/resource-ext.h: New file.
23026         * lib/get-rusage-as.c: New file.
23027
23028 2011-01-17  Eric Blake  <eblake@redhat.com>
23029
23030         sigaction: relax license from LGPLv3+ to LGPLv2+
23031         * modules/sigaction (License): Relax to LGPLv2+.
23032
23033 2011-01-14  Bruno Haible  <bruno@clisp.org>
23034
23035         filemode: Make function declarations usable in C++ mode.
23036         * lib/filemode.h: Enclose function declarations in extern "C" block.
23037         Reported by John W. Eaton <jwe@gnu.org>.
23038
23039 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
23040
23041         save-cwd: no longer include "xgetcwd.h"
23042         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
23043         This avoids a compilation failure in projects that use save-cwd
23044         without also using the xgetcwd module.
23045
23046 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23047
23048         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
23049         This is so that a program like Emacs, which needs only dtoastr,
23050         does not have to bother with distributing and compiling ftoastr
23051         and ldtoastr.
23052         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
23053         * modules/dtoastr, modules/ldtoastr: New files.
23054         * modules/ftoastr: Now works just for 'float'.
23055         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
23056         (Makefile.am): Remove ftoastr.h (not needed and no effect),
23057         dtoastr.c, ldtoastr.c.
23058
23059 2011-01-11  Jim Meyering  <meyering@redhat.com>
23060
23061         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
23062         There is no need to work around the lack of the fchdir function,
23063         since gnulib can now provide a replacement when required.
23064         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
23065         * modules/save-cwd (Depends-on): Add fchdir.
23066
23067 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
23068
23069         openat, save-cwd: avoid xmalloc
23070
23071         This removes a direct (but undocumented) dependency of openat on
23072         xalloc, along with an indirect dependency via save-cwd.  It also
23073         removes a dependency of save-cwd on xgetcwd, and thereby
23074         indirectly on xalloc.  This change causes the openat substitute
23075         to fall back on save_cwd when memory is tight, and for save_cwd to
23076         fail instead of dying when memory is tight, but that's good enough.
23077         Problem and initial idea for fix reported by Bastien Roucaries in
23078         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
23079
23080         * lib/openat-proc.c: Include stdlib.h (for malloc), not
23081         xalloc.h (for xmalloc).
23082         (openat_proc_name): Use malloc, not xmalloc.
23083         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
23084         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
23085
23086         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
23087         This avoids heap allocation for file names whose lengths are in
23088         the range 512..1023, with the upper bound increasing to at most
23089         4031 depending on the platform's PATH_MAX.  (We do not want
23090         pathmax.h here as it might supply a non-constant PATH_MAX.)
23091         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
23092         Perhaps they should be moved to malloca.h?
23093         (OPENAT_BUFFER_SIZE): Use them.
23094
23095 2011-01-10  Bruno Haible  <bruno@clisp.org>
23096
23097         doc: Update users.txt.
23098         * users.txt: Add recutils.
23099
23100 2011-01-09  Karl Berry  <karl@gnu.org>
23101
23102         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
23103
23104         * doc/configmake.texi: New file.
23105         * doc/gnulib.texi: Include it.
23106         * modules/configmake: Move documentation from here.
23107
23108 2011-01-09  Bruno Haible  <bruno@clisp.org>
23109
23110         Update to Unicode 6.0.0.
23111         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
23112         (get_lbp): Update for Unicode 6.0.0.
23113         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
23114         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
23115         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
23116         U+11001, U+11038..U+11046. Remove U+06DE.
23117         (uc_width): Fix bounds of planes.
23118         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23119         lib/uniwidth/width.c.
23120         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
23121         trailing whitespace removed.
23122         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
23123         without comments, but with the original copyright notice.
23124         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
23125         * lib/unicase/ignorable.h: Likewise.
23126         * lib/unicase/tocasefold.h: Likewise.
23127         * lib/unicase/tolower.h: Likewise.
23128         * lib/unicase/totitle.h: Likewise.
23129         * lib/unicase/toupper.h: Likewise.
23130         * lib/unictype/bidi_of.h: Likewise.
23131         * lib/unictype/blocks.h: Likewise.
23132         * lib/unictype/categ_C.h: Likewise.
23133         * lib/unictype/categ_Cn.h: Likewise.
23134         * lib/unictype/categ_L.h: Likewise.
23135         * lib/unictype/categ_Ll.h: Likewise.
23136         * lib/unictype/categ_Lm.h: Likewise.
23137         * lib/unictype/categ_Lo.h: Likewise.
23138         * lib/unictype/categ_Lu.h: Likewise.
23139         * lib/unictype/categ_M.h: Likewise.
23140         * lib/unictype/categ_Mc.h: Likewise.
23141         * lib/unictype/categ_Me.h: Likewise.
23142         * lib/unictype/categ_Mn.h: Likewise.
23143         * lib/unictype/categ_N.h: Likewise.
23144         * lib/unictype/categ_Nd.h: Likewise.
23145         * lib/unictype/categ_No.h: Likewise.
23146         * lib/unictype/categ_P.h: Likewise.
23147         * lib/unictype/categ_Po.h: Likewise.
23148         * lib/unictype/categ_S.h: Likewise.
23149         * lib/unictype/categ_Sc.h: Likewise.
23150         * lib/unictype/categ_Sk.h: Likewise.
23151         * lib/unictype/categ_Sm.h: Likewise.
23152         * lib/unictype/categ_So.h: Likewise.
23153         * lib/unictype/categ_of.h: Likewise.
23154         * lib/unictype/combining.h: Likewise.
23155         * lib/unictype/ctype_alnum.h: Likewise.
23156         * lib/unictype/ctype_alpha.h: Likewise.
23157         * lib/unictype/ctype_graph.h: Likewise.
23158         * lib/unictype/ctype_lower.h: Likewise.
23159         * lib/unictype/ctype_print.h: Likewise.
23160         * lib/unictype/ctype_punct.h: Likewise.
23161         * lib/unictype/ctype_upper.h: Likewise.
23162         * lib/unictype/decdigit.h: Likewise.
23163         * lib/unictype/digit.h: Likewise.
23164         * lib/unictype/numeric.h: Likewise.
23165         * lib/unictype/pr_alphabetic.h: Likewise.
23166         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23167         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23168         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23169         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23170         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23171         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23172         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23173         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23174         * lib/unictype/pr_case_ignorable.h: Likewise.
23175         * lib/unictype/pr_cased.h: Likewise.
23176         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
23177         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
23178         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
23179         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
23180         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
23181         * lib/unictype/pr_combining.h: Likewise.
23182         * lib/unictype/pr_composite.h: Likewise.
23183         * lib/unictype/pr_currency_symbol.h: Likewise.
23184         * lib/unictype/pr_decimal_digit.h: Likewise.
23185         * lib/unictype/pr_deprecated.h: Likewise.
23186         * lib/unictype/pr_format_control.h: Likewise.
23187         * lib/unictype/pr_grapheme_base.h: Likewise.
23188         * lib/unictype/pr_grapheme_extend.h: Likewise.
23189         * lib/unictype/pr_grapheme_link.h: Likewise.
23190         * lib/unictype/pr_id_continue.h: Likewise.
23191         * lib/unictype/pr_id_start.h: Likewise.
23192         * lib/unictype/pr_ideographic.h: Likewise.
23193         * lib/unictype/pr_lowercase.h: Likewise.
23194         * lib/unictype/pr_math.h: Likewise.
23195         * lib/unictype/pr_numeric.h: Likewise.
23196         * lib/unictype/pr_other_alphabetic.h: Likewise.
23197         * lib/unictype/pr_other_id_continue.h: Likewise.
23198         * lib/unictype/pr_other_math.h: Likewise.
23199         * lib/unictype/pr_punctuation.h: Likewise.
23200         * lib/unictype/pr_sentence_terminal.h: Likewise.
23201         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23202         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23203         * lib/unictype/pr_unified_ideograph.h: Likewise.
23204         * lib/unictype/pr_uppercase.h: Likewise.
23205         * lib/unictype/pr_xid_continue.h: Likewise.
23206         * lib/unictype/pr_xid_start.h: Likewise.
23207         * lib/unictype/scripts.h: Likewise.
23208         * lib/unictype/scripts_byname.gperf: Likewise.
23209         * lib/unictype/sy_java_ident.h: Likewise.
23210         * lib/unigbrk/gbrkprop.h: Likewise.
23211         * lib/unilbrk/lbrkprop1.h: Likewise.
23212         * lib/unilbrk/lbrkprop2.h: Likewise.
23213         * lib/uninorm/decomposition-table2.h: Likewise.
23214         * lib/uniwbrk/wbrkprop.h: Likewise.
23215         * tests/unicase/test-cased.c: Likewise.
23216         * tests/unicase/test-ignorable.c: Likewise.
23217         * tests/unicase/test-uc_tolower.c: Likewise.
23218         * tests/unicase/test-uc_totitle.c: Likewise.
23219         * tests/unicase/test-uc_toupper.c: Likewise.
23220         * tests/unictype/test-categ_C.c: Likewise.
23221         * tests/unictype/test-categ_Cn.c: Likewise.
23222         * tests/unictype/test-categ_L.c: Likewise.
23223         * tests/unictype/test-categ_Ll.c: Likewise.
23224         * tests/unictype/test-categ_Lm.c: Likewise.
23225         * tests/unictype/test-categ_Lo.c: Likewise.
23226         * tests/unictype/test-categ_Lu.c: Likewise.
23227         * tests/unictype/test-categ_M.c: Likewise.
23228         * tests/unictype/test-categ_Mc.c: Likewise.
23229         * tests/unictype/test-categ_Me.c: Likewise.
23230         * tests/unictype/test-categ_Mn.c: Likewise.
23231         * tests/unictype/test-categ_N.c: Likewise.
23232         * tests/unictype/test-categ_Nd.c: Likewise.
23233         * tests/unictype/test-categ_No.c: Likewise.
23234         * tests/unictype/test-categ_P.c: Likewise.
23235         * tests/unictype/test-categ_Po.c: Likewise.
23236         * tests/unictype/test-categ_S.c: Likewise.
23237         * tests/unictype/test-categ_Sc.c: Likewise.
23238         * tests/unictype/test-categ_Sk.c: Likewise.
23239         * tests/unictype/test-categ_Sm.c: Likewise.
23240         * tests/unictype/test-categ_So.c: Likewise.
23241         * tests/unictype/test-ctype_alnum.c: Likewise.
23242         * tests/unictype/test-ctype_alpha.c: Likewise.
23243         * tests/unictype/test-ctype_graph.c: Likewise.
23244         * tests/unictype/test-ctype_lower.c: Likewise.
23245         * tests/unictype/test-ctype_print.c: Likewise.
23246         * tests/unictype/test-ctype_punct.c: Likewise.
23247         * tests/unictype/test-ctype_upper.c: Likewise.
23248         * tests/unictype/test-decdigit.h: Likewise.
23249         * tests/unictype/test-digit.h: Likewise.
23250         * tests/unictype/test-numeric.h: Likewise.
23251         * tests/unictype/test-pr_alphabetic.c: Likewise.
23252         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23253         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
23254         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
23255         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23256         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23257         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23258         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23259         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23260         * tests/unictype/test-pr_case_ignorable.c: Likewise.
23261         * tests/unictype/test-pr_cased.c: Likewise.
23262         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
23263         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
23264         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
23265         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
23266         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
23267         * tests/unictype/test-pr_combining.c: Likewise.
23268         * tests/unictype/test-pr_composite.c: Likewise.
23269         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23270         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23271         * tests/unictype/test-pr_deprecated.c: Likewise.
23272         * tests/unictype/test-pr_format_control.c: Likewise.
23273         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23274         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23275         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23276         * tests/unictype/test-pr_id_continue.c: Likewise.
23277         * tests/unictype/test-pr_id_start.c: Likewise.
23278         * tests/unictype/test-pr_ideographic.c: Likewise.
23279         * tests/unictype/test-pr_lowercase.c: Likewise.
23280         * tests/unictype/test-pr_math.c: Likewise.
23281         * tests/unictype/test-pr_numeric.c: Likewise.
23282         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23283         * tests/unictype/test-pr_other_id_continue.c: Likewise.
23284         * tests/unictype/test-pr_other_math.c: Likewise.
23285         * tests/unictype/test-pr_punctuation.c: Likewise.
23286         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23287         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23288         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23289         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23290         * tests/unictype/test-pr_uppercase.c: Likewise.
23291         * tests/unictype/test-pr_xid_continue.c: Likewise.
23292         * tests/unictype/test-pr_xid_start.c: Likewise.
23293         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23294         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23295         changes.
23296         * lib/unictype/categ_Cc.h: Likewise.
23297         * lib/unictype/categ_Cf.h: Likewise.
23298         * lib/unictype/categ_Co.h: Likewise.
23299         * lib/unictype/categ_Cs.h: Likewise.
23300         * lib/unictype/categ_Lt.h: Likewise.
23301         * lib/unictype/categ_Nl.h: Likewise.
23302         * lib/unictype/categ_Pc.h: Likewise.
23303         * lib/unictype/categ_Pd.h: Likewise.
23304         * lib/unictype/categ_Pe.h: Likewise.
23305         * lib/unictype/categ_Pf.h: Likewise.
23306         * lib/unictype/categ_Pi.h: Likewise.
23307         * lib/unictype/categ_Ps.h: Likewise.
23308         * lib/unictype/categ_Z.h: Likewise.
23309         * lib/unictype/categ_Zl.h: Likewise.
23310         * lib/unictype/categ_Zp.h: Likewise.
23311         * lib/unictype/categ_Zs.h: Likewise.
23312         * lib/unictype/ctype_blank.h: Likewise.
23313         * lib/unictype/ctype_cntrl.h: Likewise.
23314         * lib/unictype/ctype_digit.h: Likewise.
23315         * lib/unictype/ctype_space.h: Likewise.
23316         * lib/unictype/ctype_xdigit.h: Likewise.
23317         * lib/unictype/mirror.h: Likewise.
23318         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23319         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23320         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23321         * lib/unictype/pr_bidi_control.h: Likewise.
23322         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23323         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23324         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23325         * lib/unictype/pr_bidi_pdf.h: Likewise.
23326         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23327         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23328         * lib/unictype/pr_dash.h: Likewise.
23329         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23330         * lib/unictype/pr_diacritic.h: Likewise.
23331         * lib/unictype/pr_extender.h: Likewise.
23332         * lib/unictype/pr_hex_digit.h: Likewise.
23333         * lib/unictype/pr_hyphen.h: Likewise.
23334         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23335         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23336         * lib/unictype/pr_ignorable_control.h: Likewise.
23337         * lib/unictype/pr_iso_control.h: Likewise.
23338         * lib/unictype/pr_join_control.h: Likewise.
23339         * lib/unictype/pr_left_of_pair.h: Likewise.
23340         * lib/unictype/pr_line_separator.h: Likewise.
23341         * lib/unictype/pr_logical_order_exception.h: Likewise.
23342         * lib/unictype/pr_non_break.h: Likewise.
23343         * lib/unictype/pr_not_a_character.h: Likewise.
23344         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23345         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23346         * lib/unictype/pr_other_id_start.h: Likewise.
23347         * lib/unictype/pr_other_lowercase.h: Likewise.
23348         * lib/unictype/pr_other_uppercase.h: Likewise.
23349         * lib/unictype/pr_paired_punctuation.h: Likewise.
23350         * lib/unictype/pr_paragraph_separator.h: Likewise.
23351         * lib/unictype/pr_pattern_syntax.h: Likewise.
23352         * lib/unictype/pr_pattern_white_space.h: Likewise.
23353         * lib/unictype/pr_private_use.h: Likewise.
23354         * lib/unictype/pr_quotation_mark.h: Likewise.
23355         * lib/unictype/pr_radical.h: Likewise.
23356         * lib/unictype/pr_soft_dotted.h: Likewise.
23357         * lib/unictype/pr_space.h: Likewise.
23358         * lib/unictype/pr_titlecase.h: Likewise.
23359         * lib/unictype/pr_variation_selector.h: Likewise.
23360         * lib/unictype/pr_white_space.h: Likewise.
23361         * lib/unictype/pr_zero_width.h: Likewise.
23362         * lib/unictype/sy_c_ident.h: Likewise.
23363         * lib/unictype/sy_c_whitespace.h: Likewise.
23364         * lib/unictype/sy_java_whitespace.h: Likewise.
23365         * lib/uninorm/composition-table.gperf: Likewise.
23366         * lib/uninorm/decomposition-table1.h: Likewise.
23367         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
23368         LB8.
23369         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23370         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23371         * modules/unictype/*: Bump version number of expected libunistring
23372         version.
23373
23374 2011-01-09  Bruno Haible  <bruno@clisp.org>
23375
23376         Update to Unicode 5.2.0.
23377         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
23378         trailing whitespace removed.
23379
23380 2011-01-09  Bruno Haible  <bruno@clisp.org>
23381
23382         New Unicode character properties, from Unicode 5.2.0.
23383         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
23384         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
23385         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
23386         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
23387         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
23388         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
23389         uc_is_property_cased, uc_is_property_case_ignorable,
23390         uc_is_property_changes_when_lowercased,
23391         uc_is_property_changes_when_uppercased,
23392         uc_is_property_changes_when_titlecased,
23393         uc_is_property_changes_when_casefolded,
23394         uc_is_property_changes_when_casemapped): New declarations.
23395         * lib/unictype/pr_byname.gperf: Add the new properties.
23396         * modules/unictype/property-byname (Depends-on): Depend on the new
23397         properties modules.
23398         * modules/unictype/property-all (Depends-on): Likewise.
23399         * MODULES.html.sh (Unicode string functions): Add
23400         unictype/property-case-ignorable, unictype/property-cased,
23401         unictype/property-changes-when-casefolded,
23402         unictype/property-changes-when-casemapped,
23403         unictype/property-changes-when-lowercased,
23404         unictype/property-changes-when-titlecased,
23405         unictype/property-changes-when-uppercased.
23406
23407         New module 'unictype/property-changes-when-casemapped'.
23408         * modules/unictype/property-changes-when-casemapped: New file.
23409         * lib/unictype/pr_changes_when_casemapped.c: New file.
23410         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
23411         generated by gen-uni-tables.
23412         * modules/unictype/property-changes-when-casemapped-tests: New file.
23413         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
23414         automatically generated by gen-uni-tables.
23415
23416         New module 'unictype/property-changes-when-casefolded'.
23417         * modules/unictype/property-changes-when-casefolded: New file.
23418         * lib/unictype/pr_changes_when_casefolded.c: New file.
23419         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
23420         generated by gen-uni-tables.
23421         * modules/unictype/property-changes-when-casefolded-tests: New file.
23422         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
23423         automatically generated by gen-uni-tables.
23424
23425         New module 'unictype/property-changes-when-titlecased'.
23426         * modules/unictype/property-changes-when-titlecased: New file.
23427         * lib/unictype/pr_changes_when_titlecased.c: New file.
23428         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
23429         generated by gen-uni-tables.
23430         * modules/unictype/property-changes-when-titlecased-tests: New file.
23431         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
23432         automatically generated by gen-uni-tables.
23433
23434         New module 'unictype/property-changes-when-uppercased'.
23435         * modules/unictype/property-changes-when-uppercased: New file.
23436         * lib/unictype/pr_changes_when_uppercased.c: New file.
23437         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
23438         generated by gen-uni-tables.
23439         * modules/unictype/property-changes-when-uppercased-tests: New file.
23440         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
23441         automatically generated by gen-uni-tables.
23442
23443         New module 'unictype/property-changes-when-lowercased'.
23444         * modules/unictype/property-changes-when-lowercased: New file.
23445         * lib/unictype/pr_changes_when_lowercased.c: New file.
23446         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
23447         generated by gen-uni-tables.
23448         * modules/unictype/property-changes-when-lowercased-tests: New file.
23449         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
23450         automatically generated by gen-uni-tables.
23451
23452         New module 'unictype/property-case-ignorable'.
23453         * modules/unictype/property-case-ignorable: New file.
23454         * lib/unictype/pr_case_ignorable.c: New file.
23455         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
23456         by gen-uni-tables.
23457         * modules/unictype/property-case-ignorable-tests: New file.
23458         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
23459         generated by gen-uni-tables.
23460
23461         New module 'unictype/property-cased'.
23462         * modules/unictype/property-cased: New file.
23463         * lib/unictype/pr_cased.c: New file.
23464         * lib/unictype/pr_cased.h: New file, automatically generated by
23465         gen-uni-tables.
23466         * modules/unictype/property-cased-tests: New file.
23467         * tests/unictype/test-pr_cased.c: New file, automatically generated by
23468         gen-uni-tables.
23469
23470 2011-01-09  Bruno Haible  <bruno@clisp.org>
23471
23472         Update to Unicode 5.2.0.
23473         * lib/gen-uni-tables.c (output_predicate, output_category,
23474         output_combclass, output_bidi_category, output_decimal_digit_test,
23475         output_decimal_digit, output_digit_test, output_digit,
23476         output_numeric_test, output_numeric, output_mirror, output_scripts,
23477         output_scripts_byname, output_blocks, output_ident_category): Fix
23478         comment header.
23479         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
23480         get_wbp.
23481         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
23482         items.
23483         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
23484         Changes_When_Lowercased, Changes_When_Uppercased,
23485         Changes_When_Titlecased, Changes_When_Casefolded,
23486         Changes_When_Casemapped.
23487         (is_property_alphabetic, is_property_default_ignorable_code_point):
23488         Update for Unicode 5.2.0.
23489         (is_property_cased, is_property_case_ignorable,
23490         is_property_changes_when_lowercased,
23491         is_property_changes_when_uppercased,
23492         is_property_changes_when_titlecased,
23493         is_property_changes_when_casefolded,
23494         is_property_changes_when_casemapped): New functions.
23495         (output_properties): Output also the properties cased, case_ignorable,
23496         changes_when_lowercased, changes_when_uppercased,
23497         changes_when_titlecased, changes_when_casefolded,
23498         changes_when_casemapped.
23499         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
23500         Unicode TR#11 revision 17 -> 19.
23501         (LBP_CP): New enumeration value.
23502         (LBP_*): Adjust values accordingly.
23503         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23504         TR#14 revision 22 -> 24.
23505         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
23506         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
23507         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
23508         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
23509         is_WBP_MIDLETTER.
23510         (output_composition_tables): Allow for 24 bits instead of 16 bits in
23511         the code1 and code2 of each composition rule.
23512         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
23513         * lib/unicase/ignorable.h: Likewise.
23514         * lib/unicase/tocasefold.h: Likewise.
23515         * lib/unicase/tolower.h: Likewise.
23516         * lib/unicase/totitle.h: Likewise.
23517         * lib/unicase/toupper.h: Likewise.
23518         * lib/unictype/bidi_of.h: Likewise.
23519         * lib/unictype/blocks.h: Likewise.
23520         * lib/unictype/categ_C.h: Likewise.
23521         * lib/unictype/categ_Cf.h: Likewise.
23522         * lib/unictype/categ_Cn.h: Likewise.
23523         * lib/unictype/categ_L.h: Likewise.
23524         * lib/unictype/categ_Ll.h: Likewise.
23525         * lib/unictype/categ_Lm.h: Likewise.
23526         * lib/unictype/categ_Lo.h: Likewise.
23527         * lib/unictype/categ_Lu.h: Likewise.
23528         * lib/unictype/categ_M.h: Likewise.
23529         * lib/unictype/categ_Mc.h: Likewise.
23530         * lib/unictype/categ_Mn.h: Likewise.
23531         * lib/unictype/categ_N.h: Likewise.
23532         * lib/unictype/categ_Nd.h: Likewise.
23533         * lib/unictype/categ_Nl.h: Likewise.
23534         * lib/unictype/categ_No.h: Likewise.
23535         * lib/unictype/categ_P.h: Likewise.
23536         * lib/unictype/categ_Pd.h: Likewise.
23537         * lib/unictype/categ_Po.h: Likewise.
23538         * lib/unictype/categ_S.h: Likewise.
23539         * lib/unictype/categ_Sc.h: Likewise.
23540         * lib/unictype/categ_So.h: Likewise.
23541         * lib/unictype/categ_of.h: Likewise.
23542         * lib/unictype/combining.h: Likewise.
23543         * lib/unictype/ctype_alnum.h: Likewise.
23544         * lib/unictype/ctype_alpha.h: Likewise.
23545         * lib/unictype/ctype_graph.h: Likewise.
23546         * lib/unictype/ctype_lower.h: Likewise.
23547         * lib/unictype/ctype_print.h: Likewise.
23548         * lib/unictype/ctype_punct.h: Likewise.
23549         * lib/unictype/ctype_upper.h: Likewise.
23550         * lib/unictype/decdigit.h: Likewise.
23551         * lib/unictype/digit.h: Likewise.
23552         * lib/unictype/numeric.h: Likewise.
23553         * lib/unictype/pr_alphabetic.h: Likewise.
23554         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
23555         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
23556         * lib/unictype/pr_bidi_european_digit.h: Likewise.
23557         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
23558         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
23559         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
23560         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
23561         * lib/unictype/pr_combining.h: Likewise.
23562         * lib/unictype/pr_composite.h: Likewise.
23563         * lib/unictype/pr_currency_symbol.h: Likewise.
23564         * lib/unictype/pr_dash.h: Likewise.
23565         * lib/unictype/pr_decimal_digit.h: Likewise.
23566         * lib/unictype/pr_deprecated.h: Likewise.
23567         * lib/unictype/pr_diacritic.h: Likewise.
23568         * lib/unictype/pr_extender.h: Likewise.
23569         * lib/unictype/pr_grapheme_base.h: Likewise.
23570         * lib/unictype/pr_grapheme_extend.h: Likewise.
23571         * lib/unictype/pr_grapheme_link.h: Likewise.
23572         * lib/unictype/pr_id_continue.h: Likewise.
23573         * lib/unictype/pr_id_start.h: Likewise.
23574         * lib/unictype/pr_ideographic.h: Likewise.
23575         * lib/unictype/pr_ignorable_control.h: Likewise.
23576         * lib/unictype/pr_logical_order_exception.h: Likewise.
23577         * lib/unictype/pr_lowercase.h: Likewise.
23578         * lib/unictype/pr_numeric.h: Likewise.
23579         * lib/unictype/pr_other_alphabetic.h: Likewise.
23580         * lib/unictype/pr_punctuation.h: Likewise.
23581         * lib/unictype/pr_sentence_terminal.h: Likewise.
23582         * lib/unictype/pr_terminal_punctuation.h: Likewise.
23583         * lib/unictype/pr_unassigned_code_value.h: Likewise.
23584         * lib/unictype/pr_unified_ideograph.h: Likewise.
23585         * lib/unictype/pr_uppercase.h: Likewise.
23586         * lib/unictype/pr_xid_continue.h: Likewise.
23587         * lib/unictype/pr_xid_start.h: Likewise.
23588         * lib/unictype/pr_zero_width.h: Likewise.
23589         * lib/unictype/scripts.h: Likewise.
23590         * lib/unictype/scripts_byname.gperf: Likewise.
23591         * lib/unictype/sy_java_ident.h: Likewise.
23592         * lib/unigbrk/gbrkprop.h: Likewise.
23593         * lib/unilbrk/lbrkprop1.h: Likewise.
23594         * lib/unilbrk/lbrkprop2.h: Likewise.
23595         * lib/unilbrk/lbrktables.h: Likewise.
23596         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
23597         LBP_CP. Implement rule LB30.
23598         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
23599         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
23600         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
23601         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
23602         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
23603         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
23604         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
23605         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
23606         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
23607         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
23608         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
23609         bits instead of 16 bits in the code1 and code2 of each composition
23610         rule.
23611         (uc_composition): Update for Unicode 5.2.0.
23612         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
23613         * lib/uninorm/decomposition-table2.h: Likewise.
23614         * lib/uniwbrk/wbrkprop.h: Likewise.
23615         * tests/unicase/test-cased.c: Likewise.
23616         * tests/unicase/test-ignorable.c: Likewise.
23617         * tests/unicase/test-uc_tolower.c: Likewise.
23618         * tests/unicase/test-uc_totitle.c: Likewise.
23619         * tests/unicase/test-uc_toupper.c: Likewise.
23620         * tests/unictype/test-categ_C.c: Likewise.
23621         * tests/unictype/test-categ_Cf.c: Likewise.
23622         * tests/unictype/test-categ_Cn.c: Likewise.
23623         * tests/unictype/test-categ_L.c: Likewise.
23624         * tests/unictype/test-categ_Ll.c: Likewise.
23625         * tests/unictype/test-categ_Lm.c: Likewise.
23626         * tests/unictype/test-categ_Lo.c: Likewise.
23627         * tests/unictype/test-categ_Lu.c: Likewise.
23628         * tests/unictype/test-categ_M.c: Likewise.
23629         * tests/unictype/test-categ_Mc.c: Likewise.
23630         * tests/unictype/test-categ_Mn.c: Likewise.
23631         * tests/unictype/test-categ_N.c: Likewise.
23632         * tests/unictype/test-categ_Nd.c: Likewise.
23633         * tests/unictype/test-categ_Nl.c: Likewise.
23634         * tests/unictype/test-categ_No.c: Likewise.
23635         * tests/unictype/test-categ_P.c: Likewise.
23636         * tests/unictype/test-categ_Pd.c: Likewise.
23637         * tests/unictype/test-categ_Po.c: Likewise.
23638         * tests/unictype/test-categ_S.c: Likewise.
23639         * tests/unictype/test-categ_Sc.c: Likewise.
23640         * tests/unictype/test-categ_So.c: Likewise.
23641         * tests/unictype/test-ctype_alnum.c: Likewise.
23642         * tests/unictype/test-ctype_alpha.c: Likewise.
23643         * tests/unictype/test-ctype_graph.c: Likewise.
23644         * tests/unictype/test-ctype_lower.c: Likewise.
23645         * tests/unictype/test-ctype_print.c: Likewise.
23646         * tests/unictype/test-ctype_punct.c: Likewise.
23647         * tests/unictype/test-ctype_upper.c: Likewise.
23648         * tests/unictype/test-decdigit.h: Likewise.
23649         * tests/unictype/test-digit.h: Likewise.
23650         * tests/unictype/test-numeric.h: Likewise.
23651         * tests/unictype/test-pr_alphabetic.c: Likewise.
23652         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
23653         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
23654         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
23655         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
23656         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
23657         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
23658         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
23659         * tests/unictype/test-pr_combining.c: Likewise.
23660         * tests/unictype/test-pr_composite.c: Likewise.
23661         * tests/unictype/test-pr_currency_symbol.c: Likewise.
23662         * tests/unictype/test-pr_dash.c: Likewise.
23663         * tests/unictype/test-pr_decimal_digit.c: Likewise.
23664         * tests/unictype/test-pr_deprecated.c: Likewise.
23665         * tests/unictype/test-pr_diacritic.c: Likewise.
23666         * tests/unictype/test-pr_extender.c: Likewise.
23667         * tests/unictype/test-pr_grapheme_base.c: Likewise.
23668         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
23669         * tests/unictype/test-pr_grapheme_link.c: Likewise.
23670         * tests/unictype/test-pr_id_continue.c: Likewise.
23671         * tests/unictype/test-pr_id_start.c: Likewise.
23672         * tests/unictype/test-pr_ideographic.c: Likewise.
23673         * tests/unictype/test-pr_ignorable_control.c: Likewise.
23674         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
23675         * tests/unictype/test-pr_lowercase.c: Likewise.
23676         * tests/unictype/test-pr_numeric.c: Likewise.
23677         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
23678         * tests/unictype/test-pr_punctuation.c: Likewise.
23679         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
23680         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
23681         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
23682         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
23683         * tests/unictype/test-pr_uppercase.c: Likewise.
23684         * tests/unictype/test-pr_xid_continue.c: Likewise.
23685         * tests/unictype/test-pr_xid_start.c: Likewise.
23686         * tests/unictype/test-pr_zero_width.c: Likewise.
23687         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
23688         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
23689         changed behaviour: line breaking is now disallowed between a letter
23690         or '=' and '('.
23691         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
23692         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
23693         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
23694         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
23695         * tests/uniwidth/test-uc_width2.sh: Same updates as in
23696         lib/uniwidth/width.c.
23697         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
23698         without comments, but with the original copyright notice.
23699         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
23700         changes.
23701         * lib/unictype/categ_Cc.h: Likewise.
23702         * lib/unictype/categ_Co.h: Likewise.
23703         * lib/unictype/categ_Cs.h: Likewise.
23704         * lib/unictype/categ_Lt.h: Likewise.
23705         * lib/unictype/categ_Me.h: Likewise.
23706         * lib/unictype/categ_Pc.h: Likewise.
23707         * lib/unictype/categ_Pe.h: Likewise.
23708         * lib/unictype/categ_Pf.h: Likewise.
23709         * lib/unictype/categ_Pi.h: Likewise.
23710         * lib/unictype/categ_Ps.h: Likewise.
23711         * lib/unictype/categ_Sk.h: Likewise.
23712         * lib/unictype/categ_Sm.h: Likewise.
23713         * lib/unictype/categ_Z.h: Likewise.
23714         * lib/unictype/categ_Zl.h: Likewise.
23715         * lib/unictype/categ_Zp.h: Likewise.
23716         * lib/unictype/categ_Zs.h: Likewise.
23717         * lib/unictype/ctype_blank.h: Likewise.
23718         * lib/unictype/ctype_cntrl.h: Likewise.
23719         * lib/unictype/ctype_digit.h: Likewise.
23720         * lib/unictype/ctype_space.h: Likewise.
23721         * lib/unictype/ctype_xdigit.h: Likewise.
23722         * lib/unictype/mirror.h: Likewise.
23723         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
23724         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
23725         * lib/unictype/pr_bidi_block_separator.h: Likewise.
23726         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
23727         * lib/unictype/pr_bidi_common_separator.h: Likewise.
23728         * lib/unictype/pr_bidi_control.h: Likewise.
23729         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
23730         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
23731         * lib/unictype/pr_bidi_pdf.h: Likewise.
23732         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
23733         * lib/unictype/pr_bidi_whitespace.h: Likewise.
23734         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
23735         * lib/unictype/pr_format_control.h: Likewise.
23736         * lib/unictype/pr_hex_digit.h: Likewise.
23737         * lib/unictype/pr_hyphen.h: Likewise.
23738         * lib/unictype/pr_ids_binary_operator.h: Likewise.
23739         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
23740         * lib/unictype/pr_iso_control.h: Likewise.
23741         * lib/unictype/pr_join_control.h: Likewise.
23742         * lib/unictype/pr_left_of_pair.h: Likewise.
23743         * lib/unictype/pr_line_separator.h: Likewise.
23744         * lib/unictype/pr_math.h: Likewise.
23745         * lib/unictype/pr_non_break.h: Likewise.
23746         * lib/unictype/pr_not_a_character.h: Likewise.
23747         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
23748         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
23749         * lib/unictype/pr_other_id_continue.h: Likewise.
23750         * lib/unictype/pr_other_id_start.h: Likewise.
23751         * lib/unictype/pr_other_lowercase.h: Likewise.
23752         * lib/unictype/pr_other_math.h: Likewise.
23753         * lib/unictype/pr_other_uppercase.h: Likewise.
23754         * lib/unictype/pr_paired_punctuation.h: Likewise.
23755         * lib/unictype/pr_paragraph_separator.h: Likewise.
23756         * lib/unictype/pr_pattern_syntax.h: Likewise.
23757         * lib/unictype/pr_pattern_white_space.h: Likewise.
23758         * lib/unictype/pr_private_use.h: Likewise.
23759         * lib/unictype/pr_quotation_mark.h: Likewise.
23760         * lib/unictype/pr_radical.h: Likewise.
23761         * lib/unictype/pr_soft_dotted.h: Likewise.
23762         * lib/unictype/pr_space.h: Likewise.
23763         * lib/unictype/pr_titlecase.h: Likewise.
23764         * lib/unictype/pr_variation_selector.h: Likewise.
23765         * lib/unictype/pr_white_space.h: Likewise.
23766         * lib/unictype/sy_c_ident.h: Likewise.
23767         * lib/unictype/sy_c_whitespace.h: Likewise.
23768         * lib/unictype/sy_java_whitespace.h: Likewise.
23769         * modules/uni*/*: Bump version number of expected libunistring version.
23770         Reported by Simon Josefsson.
23771
23772 2011-01-09  Karl Heuer  <kwzh@gnu.org>
23773
23774         useless-if-before-free: fix typo in --help and make the internal,
23775         automatic version date update process work once again.
23776         --help output contained a NUL character instead of the
23777         backslash-zero that was intended.  Also, the "must lie within
23778         the first 8 lines" line is on line 9, and hence not getting
23779         automatically updated.
23780         * build-aux/useless-if-before-free: Fix the former by adding a
23781         backslash, and the latter by condensing the three lines of what-it-does
23782         to a single line, leaving one line of slack for the future.
23783
23784 2011-01-09  Bruno Haible  <bruno@clisp.org>
23785
23786         uniwidth/width: Fix width of U+1D173..U+1D17A.
23787         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
23788         symbolic_width, output_width_property_test): New functions.
23789         (main): Invoke output_nonspacing_property, output_width_property_test.
23790         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
23791         U+1D173..U+1D17A.
23792         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
23793         1.
23794         * modules/uniwidth/*: Bump version number of expected libunistring
23795         version.
23796         * modules/unilbrk/*: Likewise.
23797
23798 2011-01-08  Bruno Haible  <bruno@clisp.org>
23799
23800         uninorm tests: Preserve copyright of Unicode data file.
23801         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
23802         Mention modifications.
23803
23804 2011-01-08  Bruno Haible  <bruno@clisp.org>
23805
23806         gen-uni-tables: Prepare for Unicode 5.2.0.
23807         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
23808         (debug_output_lbp, output_lbp): Update.
23809
23810 2011-01-08  Bruno Haible  <bruno@clisp.org>
23811
23812         unilbrk: Clarify gen-uni-tables.c code.
23813         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
23814         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
23815         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
23816
23817 2011-01-07  Bruno Haible  <bruno@clisp.org>
23818
23819         strtod: Restore errno when successfully parsing Infinity or NaN.
23820         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
23821         restore the original errno.
23822
23823 2011-01-07  Bruno Haible  <bruno@clisp.org>
23824
23825         remove test: Avoid failure on HP-UX 11.
23826         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
23827
23828 2011-01-07  Bruno Haible  <bruno@clisp.org>
23829
23830         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
23831         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
23832         error code.
23833
23834 2011-01-07  Pádraig Brady <P@draigBrady.com>
23835
23836         ignore-value: fixup comments, and add Eric Blake
23837         as an author since he rewrote the macros.
23838         * lib/ignore-value.h (ignore_value):  State that
23839         we now support aggregates.  Also specify exactly
23840         when the GCC warn_unused_result feature was added.
23841
23842 2011-01-06  Eric Blake  <eblake@redhat.com>
23843
23844         ignore-value: support aggregate types
23845         * lib/ignore-value.h (ignore_value): Provide separate gcc
23846         definition.
23847         * modules/ignore-value-tests: New test module.
23848         * tests/test-ignore-value.c: New test.
23849
23850         maint.mk: improve sc_prohibit_strcmp regex
23851         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
23852         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
23853         definition of STRNEQ.
23854
23855         signal: work around Haiku issue with SIGBUS
23856         * lib/siglist.h: Add comment.
23857         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
23858         strsignal's favoring of SIGSEGV.
23859         * tests/test-signal.c (main): Avoid test failure.
23860         * doc/posix-headers/signal.texi (signal.h): Document the issue.
23861         Reported by Scott McCreary.
23862
23863         maint.mk: add pre-release check to ensure submodule commits are public
23864         * top/maint.mk (public-submodule-commit): New rule.
23865         (submodule-checks): New variable.
23866         (alpha beta stable): Depend on the variable.
23867
23868 2011-01-05  Pádraig Brady <P@draigBrady.com>
23869         and Jim Meyering  <meyering@redhat.com>
23870
23871         ignore-value: make ignore_value more generic; deprecate ignore_ptr
23872         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
23873         (ATTRIBUTE_DEPRECATED): Define.
23874         (_ignore_case): New function.
23875         (ignore_value): New macro, to replace the old function.
23876         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
23877         * modules/ignore-value (Depends-on): Add stdint.
23878
23879 2011-01-04  Eric Blake  <eblake@redhat.com>
23880
23881         doc: regenerate INSTALL
23882         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
23883         @firstparagraphindent support, now that autoconf dropped it.
23884         (INSTALL_PRELUDE): Reinstate old macro.
23885         * doc/install.texi: Resync from autoconf.
23886         * doc/INSTALL: Reflect recent autoconf update.
23887         * doc/INSTALL.ISO: Likewise.
23888         * doc/INSTALL.UTF-8: Likewise.
23889         Reported by Karl Berry.
23890
23891 2011-01-04  Bruce Korb  <address@hidden>
23892
23893         git-version-gen: avoid a sub-shell
23894         * build-aux/git-version-gen: Redirect stderr in `...` via
23895         "exec 2>...", rather than via an added sub-shell.
23896
23897 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
23898
23899         git-version-gen: use (...) rather than sh -c '...'
23900         * build-aux/git-version-gen: Rather than hard-coding a shell's name
23901         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
23902
23903 2011-01-03  Jim Meyering  <meyering@redhat.com>
23904
23905         git-version-gen: convert leading TABs to spaces
23906         * build-aux/git-version-gen: Expand leading TABs.
23907
23908         git-version-gen: handle failed "git rev-list"
23909         * build-aux/git-version-gen: Rather than leaking a "fatal" error
23910         from git and proceeding as if it had succeeded but printed no SHA1
23911         checksums, suppress the diagnostic and handle the failure.
23912         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
23913
23914         git-version-gen: include command name in one more diagnostic
23915         * build-aux/git-version-gen: When the required .tarball-version file
23916         was missing or unreadable, you might see the diagnostic from "cat",
23917         but no trace of the name of the invoking script.  Now, you still see
23918         the diagnostic from cat, but also get one from "git-version-gen: ".
23919         Inspired by a patch from Bruce Korb.
23920
23921         update-copyright: adjust test to match changed code
23922         * tests/test-update-copyright.sh: Change test's expected output
23923         to match new actual output.
23924
23925 2011-01-02  Bruno Haible  <bruno@clisp.org>
23926
23927         getlogin_r: Avoid test failure on HP-UX 11.
23928         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
23929         ERANGE when the second argument is zero.
23930         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
23931         portability problem.
23932
23933 2011-01-02  Bruce Korb  <bkorb@gnu.org>
23934
23935         * build-aux/update-copyright: doc Simon's changes
23936
23937 2011-01-02  Simon Josefsson  <simon@josefsson.org>
23938
23939         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
23940         environment variable.
23941
23942 2011-01-02  Bruno Haible  <bruno@clisp.org>
23943
23944         unigbrk: Avoid gcc warnings.
23945         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
23946         unused variable.
23947         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
23948         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
23949         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
23950         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
23951         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
23952         Change type of first argument to 'const char *'.
23953         (main): Remove unused variable.
23954         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
23955         type of first argument to 'const char *'.
23956         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
23957         Likewise.
23958         (main): Change type of variable 's'.
23959         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
23960         to 'int'.
23961
23962 2011-01-02  Bruno Haible  <bruno@clisp.org>
23963
23964         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
23965         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
23966         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
23967         bug.
23968         * lib/pwrite.c: Undo 2010-12-31 patch.
23969         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
23970
23971 2011-01-02  Bruno Haible  <bruno@clisp.org>
23972
23973         pread: Fix test whether it works.
23974         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
23975
23976 2011-01-02  Bruno Haible  <bruno@clisp.org>
23977
23978         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
23979         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
23980         ends in "6". Don't require a specific month name. Try also the locale
23981         names found on HP-UX 11 and Solaris 7.
23982
23983 2011-01-02  Bruno Haible  <bruno@clisp.org>
23984
23985         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
23986         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
23987         C linkage.
23988         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
23989
23990 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
23991
23992         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
23993         for consistency, since the "cluster" term is not used elsewhere.
23994         * lib/unigbrk.in.h: Update name.
23995         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
23996         * lib/unigbrk/u16-grapheme-next.c: Update name.
23997         * lib/unigbrk/u16-grapheme-prev.c: Update name.
23998         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
23999         * lib/unigbrk/u32-grapheme-next.c: Update name.
24000         * lib/unigbrk/u32-grapheme-prev.c: Update name.
24001         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
24002         * lib/unigbrk/u8-grapheme-next.c: Update name.
24003         * lib/unigbrk/u8-grapheme-prev.c: Update name.
24004         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
24005         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
24006         Suggested by Bruno Haible.
24007
24008 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24009
24010         Remove module 'u8-grapheme-len' as too redundant with
24011         'u8-grapheme-next'.
24012         * modules/unigbrk/u8-grapheme-len: Delete file.
24013         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
24014         * lib/unigbrk.in.h: Remove prototype for deleted function.
24015         * lib/unigbrk/u8-grapheme-len.c: Delete file.
24016         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
24017
24018         Remove module 'u16-grapheme-len' as too redundant with
24019         'u16-grapheme-next'.
24020         * modules/unigbrk/u16-grapheme-len: Delete file.
24021         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
24022         * lib/unigbrk.in.h: Remove prototype for deleted function.
24023         * lib/unigbrk/u16-grapheme-len.c: Delete file.
24024         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
24025
24026         Remove module 'u32-grapheme-len' as too redundant with
24027         'u32-grapheme-next'.
24028         * modules/unigbrk/u32-grapheme-len: Delete file.
24029         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
24030         * lib/unigbrk.in.h: Remove prototype for deleted function.
24031         * lib/unigbrk/u32-grapheme-len.c: Delete file.
24032         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
24033
24034         Suggested by Bruno Haible.
24035
24036 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
24037
24038         * unigbrk.in.h: Fix typo: "ben" => "been".
24039         Reported by Bruno Haible.
24040
24041 2011-01-01  Jim Meyering  <meyering@redhat.com>
24042
24043         maint: update almost all copyright ranges to include 2011
24044         Run the new "make update-copyright" rule.
24045
24046 2011-01-01  Jim Meyering  <meyering@redhat.com>
24047
24048         maint: update-copyright: exempt doc/INSTALL*
24049         * Makefile (update-copyright): Also exclude doc/INSTALL*,
24050         since they are generated.  Suggested by Bruno Haible.
24051
24052 2011-01-01  Jim Meyering  <meyering@redhat.com>
24053
24054         maint: refine the update-copyright rule
24055         * Makefile (update-copyright): Also exclude any file that includes
24056         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
24057         code that merely generates the comment.
24058
24059 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24060
24061         New module 'u8-grapheme-len'.
24062         * modules/unigbrk/u8-grapheme-len: New file.
24063         * modules/unigbrk/u8-grapheme-len-tests: New file.
24064         * lib/unigbrk.in.h: Add prototype for new function.
24065         * lib/unigbrk/u8-grapheme-len.c: New file.
24066         * tests/unigbrk/test-u8-grapheme-len.c: New file.
24067
24068         New module 'u16-grapheme-len'.
24069         * modules/unigbrk/u16-grapheme-len: New file.
24070         * modules/unigbrk/u16-grapheme-len-tests: New file.
24071         * lib/unigbrk.in.h: Add prototype for new function.
24072         * lib/unigbrk/u16-grapheme-len.c: New file.
24073         * tests/unigbrk/test-u16-grapheme-len.c: New file.
24074
24075         New module 'u32-grapheme-len'.
24076         * modules/unigbrk/u32-grapheme-len: New file.
24077         * modules/unigbrk/u32-grapheme-len-tests: New file.
24078         * lib/unigbrk.in.h: Add prototype for new function.
24079         * lib/unigbrk/u32-grapheme-len.c: New file.
24080         * tests/unigbrk/test-u32-grapheme-len.c: New file.
24081
24082         New module 'u8-grapheme-next'.
24083         * modules/unigbrk/u8-grapheme-next: New file.
24084         * modules/unigbrk/u8-grapheme-next-tests: New file.
24085         * lib/unigbrk.in.h: Add prototype for new function.
24086         * lib/unigbrk/u8-grapheme-next.c: New file.
24087         * tests/unigbrk/test-u8-grapheme-next.c: New file.
24088
24089         New module 'u16-grapheme-next'.
24090         * modules/unigbrk/u16-grapheme-next: New file.
24091         * modules/unigbrk/u16-grapheme-next-tests: New file.
24092         * lib/unigbrk.in.h: Add prototype for new function.
24093         * lib/unigbrk/u16-grapheme-next.c: New file.
24094         * tests/unigbrk/test-u16-grapheme-next.c: New file.
24095
24096         New module 'u32-grapheme-next'.
24097         * modules/unigbrk/u32-grapheme-next: New file.
24098         * modules/unigbrk/u32-grapheme-next-tests: New file.
24099         * lib/unigbrk.in.h: Add prototype for new function.
24100         * lib/unigbrk/u32-grapheme-next.c: New file.
24101         * tests/unigbrk/test-u32-grapheme-next.c: New file.
24102
24103         New module 'u8-grapheme-prev'.
24104         * modules/unigbrk/u8-grapheme-prev: New file.
24105         * modules/unigbrk/u8-grapheme-prev-tests: New file.
24106         * lib/unigbrk.in.h: Add prototype for new function.
24107         * lib/unigbrk/u8-grapheme-prev.c: New file.
24108         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
24109
24110         New module 'u16-grapheme-prev'.
24111         * modules/unigbrk/u16-grapheme-prev: New file.
24112         * modules/unigbrk/u16-grapheme-prev-tests: New file.
24113         * lib/unigbrk.in.h: Add prototype for new function.
24114         * lib/unigbrk/u16-grapheme-prev.c: New file.
24115         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
24116
24117         New module 'u32-grapheme-prev'.
24118         * modules/unigbrk/u32-grapheme-prev: New file.
24119         * modules/unigbrk/u32-grapheme-prev-tests: New file.
24120         * lib/unigbrk.in.h: Add prototype for new function.
24121         * lib/unigbrk/u32-grapheme-prev.c: New file.
24122         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
24123
24124         New module 'u8-grapheme-breaks'.
24125         * modules/unigbrk/u8-grapheme-breaks: New file.
24126         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
24127         * lib/unigbrk.in.h: Add prototype for new function.
24128         * lib/unigbrk/u8-grapheme-breaks.c: New file.
24129         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
24130
24131         New module 'u16-grapheme-breaks'.
24132         * modules/unigbrk/u16-grapheme-breaks: New file.
24133         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
24134         * lib/unigbrk.in.h: Add prototype for new function.
24135         * lib/unigbrk/u16-grapheme-breaks.c: New file.
24136         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
24137
24138         New module 'u32-grapheme-breaks'.
24139         * modules/unigbrk/u32-grapheme-breaks: New file.
24140         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
24141         * lib/unigbrk.in.h: Add prototype for new function.
24142         * lib/unigbrk/u32-grapheme-breaks.c: New file.
24143         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
24144
24145         New module 'ulc-grapheme-breaks'.
24146         * modules/unigbrk/ulc-grapheme-breaks: New file.
24147         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
24148         * m4/locale-ar.m4: New file.
24149         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
24150         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
24151         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
24152
24153 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
24154
24155         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
24156         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
24157         modified how this file was generated before I initially submitted
24158         the module, but failed to regenerate it.  This meant that several
24159         of the level2 entries were wrong.
24160         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
24161         Remove the division-by-2 that is folded into the table now that
24162         gbrkprop.h has been regenerated properly.  Now -1 entries are
24163         handled correctly.
24164
24165         New module 'unigbrk/uc-gbrk-prop-tests'.
24166         * modules/unigbrk/uc-gbrk-prop-tests: New file.
24167         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
24168         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
24169         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
24170
24171 2011-01-01  Bruno Haible  <bruno@clisp.org>
24172
24173         Avoid use of hexadecimal escapes.
24174         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
24175         instead of hexadecimal escapes.
24176
24177 2011-01-01  Jim Meyering  <meyering@redhat.com>
24178
24179         maint: new rule to update copyright year ranges
24180         * Makefile (update-copyright): New rule.
24181
24182         maint: indent with TABs in Makefile
24183         * Makefile: Expand leading sequences of spaces to TABs
24184
24185         version-etc: update the copyright year it reports
24186         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
24187
24188 2010-12-31  Bruno Haible  <bruno@clisp.org>
24189
24190         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
24191         * lib/isfinite.c (zerof, zerod, zerol): New variables.
24192         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
24193         zero.
24194
24195 2010-12-31  Bruno Haible  <bruno@clisp.org>
24196
24197         pwrite: Work around HP-UX 11.11 bug.
24198         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
24199         works and set REPLACE_PWRITE if not.
24200         * lib/pwrite.c (pwrite): Add an implementation that uses the system
24201         function.
24202         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
24203
24204 2010-12-31  Bruno Haible  <bruno@clisp.org>
24205
24206         pread: Work around HP-UX 11 bugs.
24207         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
24208         and set REPLACE_PREAD if not.
24209         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
24210
24211 2010-12-31  Eric Blake  <eblake@redhat.com>
24212
24213         nl_langinfo: fix YESEXPR on Irix 6.5
24214         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
24215         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
24216         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
24217         it.
24218
24219 2010-12-31  Bruno Haible  <bruno@clisp.org>
24220
24221         iconv: Document HP-UX 11 bug.
24222         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
24223
24224 2010-12-31  Bruno Haible  <bruno@clisp.org>
24225
24226         ldexpl: Fix link error on HP-UX 11.
24227         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
24228         LDEXPL_LIBM, using $ISNANL_LIBM.
24229
24230 2010-12-31  Eric Blake  <eblake@redhat.com>
24231
24232         ftello: avoid compilation failure with SunStudio c89
24233         * lib/ftello.c (ftello): Use lseek, not llseek.
24234
24235         tests: avoid failing coreutils tests on cygwin
24236         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
24237         (create_exe_shims_): Return 0 when skipping.
24238
24239 2010-12-31  Bruno Haible  <bruno@clisp.org>
24240
24241         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
24242         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
24243
24244 2010-12-31  Bruno Haible  <bruno@clisp.org>
24245
24246         waitpid: Fix link error in C++ mode.
24247         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
24248
24249 2010-12-31  Bruno Haible  <bruno@clisp.org>
24250
24251         isnan: Use GCC built-ins when possible.
24252         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
24253         __builtin_isnan.
24254         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
24255         (isnan): Define using GCC built-ins for GCC >= 4.0.
24256
24257 2010-12-31  Bruno Haible  <bruno@clisp.org>
24258
24259         isnand: Fix mistake.
24260         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
24261         __builtin_isnand.
24262
24263 2010-12-31  Bruno Haible  <bruno@clisp.org>
24264
24265         open: Avoid C++ error on HP-UX 11.
24266         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
24267
24268 2010-12-31  Bruno Haible  <bruno@clisp.org>
24269
24270         time_r: Add missing declarations on HP-UX 11.
24271         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
24272         instead of HAVE_LOCALTIME_R.
24273         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
24274         HAVE_LOCALTIME_R always.
24275         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
24276         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
24277         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
24278         HAVE_LOCALTIME_R.
24279         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
24280         * doc/posix-functions/localtime_r.texi: Likewise.
24281
24282 2010-12-29  Eric Blake  <eblake@redhat.com>
24283
24284         mountlist: tweak previous commit
24285         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
24286         Reported by Paul Eggert.
24287
24288         mountlist: fix local drive detection on cygwin
24289         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
24290         that works for cygwin.
24291
24292 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
24293
24294         ftoastr, snprintf: ftoastr + snprintf module
24295         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
24296         since the snprintf module now should be good enough here.
24297         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
24298         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
24299         and gl_MODULE_INDICATOR([snprintf]), but the former enables
24300         GNULIB_SNPRINTF only for the test directory, and the latter
24301         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
24302         seems to suffice by itself.
24303
24304 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
24305
24306         alloca: one step towards thread-safety
24307         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
24308         need for a static variable.  All callers changed.  This does not
24309         make the alloca replacement thread-safe, but it's one step.
24310
24311         tests: minor indenting change
24312         * tests/init.sh: Sync from coreutils housekeeping patch
24313         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
24314         to keep lines within 80 columns.
24315
24316 2010-12-28  Jim Meyering  <meyering@redhat.com>
24317
24318         regex: don't infloop on persistent failing calloc
24319         * lib/regexec.c (build_trtable): Return failure indication upon
24320         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
24321         In glibc, this was fixed for version 2.13:
24322         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
24323
24324 2010-12-28  Bruno Haible  <bruno@clisp.org>
24325             Paul Eggert <eggert@cs.ucla.edu>
24326
24327         linkat: Make implementation robust against system behaviour variations.
24328         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
24329         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
24330         way, and to -2 if it needs a generic runtime test.
24331         * lib/linkat.c (solaris_optimized_link_immediate,
24332         solaris_optimized_link_follow): New functions.
24333         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
24334         (check_same_link): Use it.
24335
24336 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
24337
24338         New module 'unigbrk/base'.
24339         * modules/unigbrk/base: New file.
24340         * lib/unigbrk.in.h: New file.
24341
24342         New module 'unigbrk/uc-gbrk-prop'.
24343         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
24344         * modules/unigbrk/uc-gbrk-prop: New file.
24345         * lib/unigbrk/gbrkprop.h: New file.
24346         * lib/unigbrk/uc-gbrk-prop.c: New file.
24347
24348         New module 'unigbrk/uc-is-grapheme-break'.
24349         * modules/unigbrk/uc-is-grapheme-break: New file.
24350         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
24351         * lib/unigbrk/uc-is-grapheme-break.c: New file.
24352         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
24353         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
24354         * tests/unigbrk/GraphemeBreakTest.txt: New file.
24355
24356         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
24357
24358 2010-12-27  Bruno Haible  <bruno@clisp.org>
24359
24360         linkat test: Avoid failure on Solaris 11 2010-11.
24361         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
24362
24363 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24364
24365         utimens: work around glibc rounding bug on more platforms
24366         * lib/utimens.c (fdutimens): Work around rounding bug even if
24367         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
24368         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
24369
24370 2010-12-27  Bruno Haible  <bruno@clisp.org>
24371
24372         select tests: Improve comments.
24373         * tests/test-select.c (do_select): Add comments.
24374
24375 2010-12-27  Bruno Haible  <bruno@clisp.org>
24376
24377         select tests: Safer way of handling timeout.
24378         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
24379         at every invocation.
24380
24381 2010-12-27  Bruno Haible  <bruno@clisp.org>
24382
24383         select tests: Use 'bool' where appropriate.
24384         * tests/test-select.c (connect_to_socket): Change argument type to
24385         'bool'.
24386
24387 2010-12-27  Bruno Haible  <bruno@clisp.org>
24388
24389         select tests: Use existing modules.
24390         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
24391         (configure.ac): Don't test for unistd.h.
24392         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
24393         declared in <unistd.h>.
24394
24395 2010-12-27  Bruno Haible  <bruno@clisp.org>
24396
24397         mbrtowc: Work around a Solaris 7 bug.
24398         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
24399         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
24400         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
24401         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
24402         MBRTOWC_NULL_ARG1_BUG.
24403         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
24404         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
24405         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
24406         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
24407
24408 2010-12-27  Jim Meyering  <meyering@redhat.com>
24409
24410         read-file.c: tweak syntax
24411         * lib/read-file.c (fread_file): Remove space after "*" in function
24412         definitions.
24413
24414 2010-12-27  Bruno Haible  <bruno@clisp.org>
24415
24416         times test: Avoid gcc warnings on OSF/1.
24417         * tests/test-times.c (main): Cast printf arguments from clock_t to
24418         'long int'.
24419
24420 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
24421
24422         utimens: work around glibc rounding bug on older Linux kernels
24423         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
24424         on Linux with a glibc whose utimes might not work, then work
24425         around a longstanding glibc bug involving rounding rather than
24426         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
24427         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24428
24429 2010-12-26  Bruno Haible  <bruno@clisp.org>
24430
24431         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
24432         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
24433         _GL_CXXALIAS_SYS.
24434         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24435
24436 2010-12-26  Bruno Haible  <bruno@clisp.org>
24437
24438         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
24439         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
24440         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
24441         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
24442         looking for the declaration.
24443         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
24444         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
24445         problem.
24446         * doc/posix-functions/inet_pton.texi: Likewise.
24447
24448 2010-12-26  Bruno Haible  <bruno@clisp.org>
24449
24450         arpa_inet: Use the common idioms with C++ support.
24451         * lib/arpa_inet.in.h: Include c++defs.h.
24452         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
24453         support.
24454         * modules/arpa_inet (Depends-on): Add c++defs.
24455         (Makefile.am): Substitute the contents of c++defs.h.
24456         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
24457         * modules/arpa_inet-c++-tests: New file.
24458         * tests/test-arpa_inet-c++.cc: New file.
24459
24460 2010-12-25  Bruno Haible  <bruno@clisp.org>
24461
24462         Fix more C++ link errors on Solaris 8.
24463         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
24464         $(LIB_EACCESS).
24465         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
24466         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
24467         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
24468         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
24469         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
24470
24471 2010-12-25  Bruno Haible  <bruno@clisp.org>
24472
24473         printf-posix: Fix link error when a non-GCC compiler is used.
24474         * lib/stdio.in.h (printf): When not using GCC, override printf
24475         correctly.
24476         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24477
24478 2010-12-25  Bruno Haible  <bruno@clisp.org>
24479
24480         strerror_r-posix: Update doc.
24481         * doc/posix-functions/strerror_r.texi: Update doc about the return
24482         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
24483
24484 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
24485
24486         utimens: simplify the logic of the previous change
24487         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
24488         This should not affect whether the test succeeds or fails.
24489
24490         utimens: configure better on hosts with NFS clock skew
24491         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
24492         uses the clock of the local host.  It might use the clock of the
24493         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
24494         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
24495
24496 2010-12-25  Bruno Haible  <bruno@clisp.org>
24497
24498         ptsname test: Avoid failure on Solaris.
24499         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
24500         open a pseudo-terminal; don't use BSD-style ptys.
24501         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
24502
24503 2010-12-25  Bruno Haible  <bruno@clisp.org>
24504
24505         ptsname: Avoid ERANGE failure on some systems.
24506         * lib/ptsname.c (buffer): Increase size.
24507
24508 2010-12-25  Bruno Haible  <bruno@clisp.org>
24509
24510         rename, renameat: Avoid test failures at NFS mounted locations.
24511         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
24512         so that subsequent mkdir calls succeed.
24513
24514 2010-12-25  Bruno Haible  <bruno@clisp.org>
24515
24516         iswblank: Fix C++ link error on Solaris 8.
24517         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
24518         _GL_FUNCDECL_SYS.
24519
24520 2010-12-25  Bruno Haible  <bruno@clisp.org>
24521
24522         unistd: Fix C++ link error on Solaris 8.
24523         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
24524
24525 2010-12-25  Bruno Haible  <bruno@clisp.org>
24526
24527         readlink doc: Mention an old glibc bug.
24528         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
24529
24530 2010-12-25  Bruno Haible  <bruno@clisp.org>
24531
24532         fcntl-h: Fix for use of C++ on glibc systems.
24533         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
24534         also on glibc systems in C++ mode.
24535         Reported by Gary V. Vaughan <gary@gnu.org>.
24536
24537 2010-12-25  Bruno Haible  <bruno@clisp.org>
24538
24539         roundl-ieee: Make it work on OSF/1 5.1 with cc.
24540         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
24541
24542 2010-12-25  Bruno Haible  <bruno@clisp.org>
24543
24544         truncl-ieee: Make it work on OSF/1 5.1 with cc.
24545         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
24546         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
24547         test whether truncl works according to ISO C 99 with IEC 60559.
24548         * m4/truncl-ieee.m4: New file.
24549         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
24550         m4/signbit.m4.
24551         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
24552
24553 2010-12-25  Bruno Haible  <bruno@clisp.org>
24554
24555         ceill-ieee: Make it work on OSF/1 5.1 with cc.
24556         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
24557         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
24558         test whether ceill works according to ISO C 99 with IEC 60559.
24559         * m4/ceill-ieee.m4: New file.
24560         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
24561         m4/signbit.m4.
24562         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
24563
24564 2010-12-25  Bruno Haible  <bruno@clisp.org>
24565
24566         Ensure all prerequisites of <wchar.h> are included.
24567         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
24568         before <wchar.h>.
24569         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24570         gl_MBRLEN_NUL_RETVAL): Likewise.
24571         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24572         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
24573         AC_FUNC_MBRTOWC): Likewise.
24574         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24575         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
24576         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24577         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
24578         Likewise.
24579         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24580         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
24581         (gl_WCHAR_H): Improve comments.
24582         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24583
24584 2010-12-25  Bruno Haible  <bruno@clisp.org>
24585
24586         strtok_r: Fix C syntax error in autoconf macro.
24587         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
24588         characters in test program.
24589
24590 2010-12-24  Bruno Haible  <bruno@clisp.org>
24591
24592         ceil, trunc, round: Fix gcc warnings.
24593         * lib/ceil.c (MIN): Undefine before redefining.
24594         * lib/trunc.c (MIN): Likewise.
24595         * lib/round.c (MIN): Likewise.
24596         Include <math.h> first.
24597
24598 2010-12-24  Bruno Haible  <bruno@clisp.org>
24599
24600         select tests: Avoid failures on OSF/1 5.1.
24601         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
24602         failure of closing the last socket; it may fail with ECONNRESET.
24603
24604 2010-12-24  Eric Blake  <eblake@redhat.com>
24605
24606         stdint: avoid HP-UX 10.20 preprocessor bug
24607         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
24608         than #if.
24609         * tests/test-floor2.c (main): Likewise.
24610         Reported by Peter O'Gorman.
24611
24612         pipe: make obsoletion transition easier
24613         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
24614         * modules/pipe (Files): Include revived file.
24615         (Include): Drop reference, to mirror getdate's behavior.
24616
24617 2010-12-24  Bruno Haible  <bruno@clisp.org>
24618
24619         sys_socket: Hide mismatch of declarations on NonStop Kernel.
24620         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
24621         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
24622         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24623
24624 2010-12-24  Bruno Haible  <bruno@clisp.org>
24625
24626         gethostname: Ensure declaration on NonStop Kernel.
24627         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
24628         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24629
24630 2010-12-24  Bruno Haible  <bruno@clisp.org>
24631
24632         sys_select: Ensure all necessary types on NonStop Kernel.
24633         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
24634         include <sys/time.h>.
24635         * doc/posix-headers/sys_select.texi: Mention that it's missing on
24636         NonStop Kernel.
24637         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24638
24639 2010-12-24  Bruno Haible  <bruno@clisp.org>
24640
24641         sys_select: Remove unneeded include.
24642         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
24643         have <sys/select.h>.
24644
24645 2010-12-24  Bruno Haible  <bruno@clisp.org>
24646
24647         gethostname: Provide a fallback for HOST_NAME_MAX.
24648         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
24649         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
24650         instead.
24651         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24652
24653 2010-12-24  Bruno Haible  <bruno@clisp.org>
24654
24655         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
24656         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
24657         (SA_RESTART): Likewise.
24658         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24659
24660 2010-12-24  Bruno Haible  <bruno@clisp.org>
24661
24662         signal: Define NSIG.
24663         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
24664         * tests/test-signal.c (nsig): New variable.
24665         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24666
24667 2010-12-24  Bruno Haible  <bruno@clisp.org>
24668
24669         rename, renameat: Avoid test failures on OSF/1 5.1.
24670         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
24671         alternative error codes.
24672         * tests/test-renameat.c (main): Likewise.
24673
24674 2010-12-24  Bruno Haible  <bruno@clisp.org>
24675
24676         *printf: Detect large precisions bug on Solaris 10/SPARC.
24677         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
24678         by Paul Eggert.
24679         * tests/test-snprintf-posix.h (test_function): Add this test code here
24680         too.
24681         * tests/test-sprintf-posix.h (test_function): Likewise.
24682         * tests/test-vasnprintf-posix.c (test_function): Likewise.
24683         * tests/test-vasprintf-posix.c (test_function): Likewise.
24684         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
24685         around by gnulib.
24686         * doc/posix-functions/printf.texi: Likewise.
24687         * doc/posix-functions/snprintf.texi: Likewise.
24688         * doc/posix-functions/sprintf.texi: Likewise.
24689         * doc/posix-functions/vfprintf.texi: Likewise.
24690         * doc/posix-functions/vprintf.texi: Likewise.
24691         * doc/posix-functions/vsnprintf.texi: Likewise.
24692         * doc/posix-functions/vsprintf.texi: Likewise.
24693         * doc/posix-functions/dprintf.texi: Undo last commit.
24694         * doc/posix-functions/vdprintf.texi: Likewise.
24695
24696 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
24697
24698         tests: port test-fdutimensat.c to Solaris 8
24699         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
24700         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
24701         On Solaris 8, it fails with errno == ENOSYS, because there is no
24702         futimens (so it can't use the fd), and there is no lutimens (so it
24703         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
24704
24705         vsnprintf: make more consistent with snprintf; doc fixes
24706
24707         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
24708         the byte count return problem was promoted from the snprintf-posix
24709         to the snprintf module.
24710         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
24711         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
24712         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
24713         * tests/test-snprintf.c (main): Check the byte count returned.
24714         * tests/test-vsnprintf.c (main): Likewise.
24715
24716 2010-12-23  Eric Blake  <eblake@redhat.com>
24717
24718         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
24719         * modules/sigpipe (License): Relax license.
24720
24721 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24722
24723         doc: document Solaris printf bug with large float precisions
24724         * doc/posix-functions/dprintf.texi (dprintf):
24725         * doc/posix-functions/fprintf.texi (fprintf):
24726         * doc/posix-functions/printf.texi (printf):
24727         * doc/posix-functions/snprintf.texi (snprintf):
24728         * doc/posix-functions/sprintf.texi (sprintf):
24729         * doc/posix-functions/vdprintf.texi (vdprintf):
24730         * doc/posix-functions/vfprintf.texi (vfprintf):
24731         * doc/posix-functions/vprintf.texi (vprintf):
24732         * doc/posix-functions/vsnprintf.texi (vsnprintf):
24733         * doc/posix-functions/vsprintf.texi (vsprintf):
24734         Mention that these functions mishandle large floating point
24735         precisions on Solaris 10.  The same bug is also present in Solaris
24736         8, and I assume earlier.  This causes "cd gnulib-tests; make
24737         check" to fail on Solaris 8 (and I assume, later) when building
24738         the latest coreutils, in test-vasprintf-posix's call to
24739         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
24740         the wide flavors (e.g., wprintf) so this patch just updates the
24741         documentation for the narrow ones.
24742
24743         test-posixtm.c: add two tests
24744         * tests/test-posixtm.c: Add two tests, to highlight the
24745         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
24746         around this bug; this is merely to document it.
24747
24748 2010-12-22  Bruno Haible  <bruno@clisp.org>
24749
24750         getlogin_r: Work around portability problem on OSF/1.
24751         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
24752         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
24753         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
24754         test for a truncated result.
24755         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
24756         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
24757         * modules/getlogin_r (Depends-on): Add memchr.
24758         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
24759
24760 2010-12-22  Bruno Haible  <bruno@clisp.org>
24761
24762         ptsname: Avoid test failure on OSF/1 5.1.
24763         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
24764         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
24765         (same_slave): New function.
24766         (main): Use it to compare ptsname's result with the expected file name.
24767
24768 2010-12-22  Bruno Haible  <bruno@clisp.org>
24769
24770         Port extended stdio modules to HP NonStop Kernel.
24771         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
24772         macros.
24773         * lib/fbufmode.c: Update comments.
24774         * lib/fflush.c: Likewise.
24775         * lib/fpurge.c: Likewise.
24776         * lib/freadable.c: Likewise.
24777         * lib/freadahead.c: Likewise.
24778         * lib/freading.c: Likewise.
24779         * lib/freadptr.c: Likewise.
24780         * lib/freadseek.c: Likewise.
24781         * lib/fseeko.c: Likewise.
24782         * lib/fseterr.c: Likewise.
24783         * lib/fwritable.c: Likewise.
24784         * lib/fwriting.c: Likewise.
24785         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
24786
24787 2010-12-22  Bruno Haible  <bruno@clisp.org>
24788
24789         ttyname_r: Work around bug on OSF/1 5.1.
24790         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
24791         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
24792         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
24793         present.
24794         * lib/ttyname_r.c (ttyname_r): Update comments.
24795
24796 2010-12-22  Bruno Haible  <bruno@clisp.org>
24797
24798         round: Implement result sign according to IEEE 754.
24799         * lib/round.c (MIN, MINUS_ZERO): New macros.
24800         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
24801         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
24802         * tests/test-round-ieee.c (main): Likewise.
24803         * tests/test-roundl-ieee.c (main): Likewise.
24804
24805         trunc: Implement result sign according to IEEE 754.
24806         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
24807         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
24808         * tests/test-trunc2.c: Include minus-zero.h.
24809         (MINUS_ZERO): New macro.
24810         (trunc_reference): Keep in sync with lib/trunc.c.
24811         * tests/test-truncf2.c: Include minus-zero.h.
24812         (MINUS_ZERO): New macro.
24813         (truncf_reference): Keep in sync with lib/trunc.c.
24814         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
24815         * tests/test-trunc-ieee.c (main): Likewise.
24816         * tests/test-truncl-ieee.c (main): Likewise.
24817
24818         ceil: Implement result sign according to IEEE 754.
24819         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
24820         (FUNC): Return -0.0 for -1 < x < 0.
24821         * tests/test-ceil2.c: Include minus-zero.h.
24822         (MINUS_ZERO): New macro.
24823         (ceil_reference): Keep in sync with lib/ceil.c.
24824         * tests/test-ceilf2.c: Include minus-zero.h.
24825         (MINUS_ZERO): New macro.
24826         (ceilf_reference): Keep in sync with lib/ceil.c.
24827         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
24828         * tests/test-ceil-ieee.c (main): Likewise.
24829         * tests/test-ceill-ieee.c (main): Likewise.
24830
24831         floor: Implement result sign according to IEEE 754.
24832         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
24833         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
24834         * tests/test-floorf2.c (floorf_reference): Likewise.
24835         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
24836         * tests/test-floor-ieee.c (main): Likewise.
24837         * tests/test-floorl-ieee.c (main): Likewise.
24838
24839 2010-12-22  Bruno Haible  <bruno@clisp.org>
24840
24841         getaddrinfo: Update doc.
24842         * doc/posix-functions/gai_strerror.texi: Return type is also different
24843         on AIX and HP-UX.
24844
24845 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
24846
24847         getaddrinfo, inet_ntop: Update doc for Solaris.
24848         * doc/posix-functions/gai_strerror.texi: Return type is also an
24849         issue on Solaris 9 and earlier.
24850         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
24851         on Solaris 10 and earlier.
24852
24853 2010-12-21  Bruno Haible  <bruno@clisp.org>
24854
24855         New module 'roundl-ieee'.
24856         * modules/roundl-ieee: New file.
24857         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
24858         test whether roundl works according to ISO C 99 with IEC 60559.
24859         * m4/roundl-ieee.m4: New file.
24860         * modules/roundl-ieee-tests: New file.
24861         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
24862         * tests/test-roundl.c (main): Remove signbit tests.
24863         * modules/roundl-tests (Depends-on): Remove signbit.
24864         * doc/posix-functions/roundl.texi: Mention the new module.
24865
24866 2010-12-21  Bruno Haible  <bruno@clisp.org>
24867
24868         New module 'truncl-ieee'.
24869         * modules/truncl-ieee: New file.
24870         * modules/truncl-ieee-tests: New file.
24871         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
24872         * tests/test-truncl.c (main): Remove signbit tests.
24873         * modules/truncl-tests (Depends-on): Remove signbit.
24874         * doc/posix-functions/truncl.texi: Mention the new module.
24875
24876 2010-12-21  Bruno Haible  <bruno@clisp.org>
24877
24878         New module 'ceill-ieee'.
24879         * modules/ceill-ieee: New file.
24880         * modules/ceill-ieee-tests: New file.
24881         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
24882         * tests/test-ceill.c (main): Remove signbit tests.
24883         * modules/ceill-tests (Depends-on): Remove signbit.
24884         * doc/posix-functions/ceill.texi: Mention the new module.
24885
24886 2010-12-21  Bruno Haible  <bruno@clisp.org>
24887
24888         New module 'floorl-ieee'.
24889         * modules/floorl-ieee: New file.
24890         * modules/floorl-ieee-tests: New file.
24891         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
24892         * tests/test-floorl.c (main): Remove signbit tests.
24893         * modules/floorl-tests (Depends-on): Remove signbit.
24894         * doc/posix-functions/floorl.texi: Mention the new module.
24895
24896 2010-12-21  Bruno Haible  <bruno@clisp.org>
24897
24898         New module 'round-ieee'.
24899         * modules/round-ieee: New file.
24900         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
24901         whether round works according to ISO C 99 with IEC 60559.
24902         * m4/round-ieee.m4: New file.
24903         * modules/round-ieee-tests: New file.
24904         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
24905         * tests/test-round1.c (main): Remove signbit tests.
24906         * modules/round-tests (Depends-on): Remove 'signbit'.
24907         * doc/posix-functions/round.texi: Mention the new module.
24908
24909 2010-12-21  Bruno Haible  <bruno@clisp.org>
24910
24911         New module 'trunc-ieee'.
24912         * modules/trunc-ieee: New file.
24913         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
24914         whether trunc works according to ISO C 99 with IEC 60559.
24915         * m4/trunc-ieee.m4: New file.
24916         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
24917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
24918         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
24919         * modules/trunc-ieee-tests: New file.
24920         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
24921         * tests/test-trunc1.c (main): Remove signbit tests.
24922         * modules/trunc-tests (Depends-on): Remove 'signbit'.
24923         * doc/posix-functions/trunc.texi: Mention the new module.
24924
24925 2010-12-21  Bruno Haible  <bruno@clisp.org>
24926
24927         New module 'ceil-ieee'.
24928         * modules/ceil-ieee: New file.
24929         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
24930         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
24931         ISO C 99 with IEC 60559.
24932         * m4/ceil-ieee.m4: New file.
24933         * modules/ceil (Files): Add lib/ceil.c.
24934         (Depends-on): Add 'float'.
24935         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24936         * lib/math.in.h (ceil): New declaration.
24937         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
24938         REPLACE_CEIL.
24939         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
24940         * modules/ceil-ieee-tests: New file.
24941         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
24942         * tests/test-math-c++.cc: Check the signature of 'ceil'.
24943         * doc/posix-functions/ceil.texi: Mention the new module.
24944
24945 2010-12-21  Bruno Haible  <bruno@clisp.org>
24946
24947         New module 'floor-ieee'.
24948         * modules/floor-ieee: New file.
24949         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
24950         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
24951         ISO C 99 with IEC 60559.
24952         * m4/floor-ieee.m4: New file.
24953         * modules/floor (Files): Add lib/floor.c.
24954         (Depends-on): Add 'float'.
24955         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24956         * lib/math.in.h (floor): New declaration.
24957         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
24958         REPLACE_FLOOR.
24959         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
24960         * modules/floor-ieee-tests: New file.
24961         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
24962         * tests/test-math-c++.cc: Check the signature of 'floor'.
24963         * doc/posix-functions/floor.texi: Mention the new module.
24964
24965 2010-12-21  Bruno Haible  <bruno@clisp.org>
24966
24967         New module 'roundf-ieee'.
24968         * modules/roundf-ieee: New file.
24969         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
24970         test whether roundf works according to ISO C 99 with IEC 60559.
24971         * m4/roundf-ieee.m4: New file.
24972         * modules/roundf-ieee-tests: New file.
24973         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
24974         * tests/test-roundf1.c (main): Remove signbit tests.
24975         * modules/roundf-tests (Depends-on): Remove 'signbit'.
24976         * doc/posix-functions/roundf.texi: Mention the new module.
24977
24978 2010-12-21  Bruno Haible  <bruno@clisp.org>
24979
24980         New module 'truncf-ieee'.
24981         * modules/truncf-ieee: New file.
24982         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
24983         test whether truncf works according to ISO C 99 with IEC 60559.
24984         * m4/truncf-ieee.m4: New file.
24985         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
24986         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
24987         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
24988         * modules/truncf-ieee-tests: New file.
24989         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
24990         * tests/test-truncf1.c (main): Remove signbit tests.
24991         * modules/truncf-tests (Depends-on): Remove 'signbit'.
24992         * doc/posix-functions/truncf.texi: Mention the new module.
24993
24994 2010-12-21  Bruno Haible  <bruno@clisp.org>
24995
24996         New module 'ceilf-ieee'.
24997         * modules/ceilf-ieee: New file.
24998         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
24999         test whether ceilf works according to ISO C 99 with IEC 60559.
25000         * m4/ceilf-ieee.m4: New file.
25001         * modules/ceilf-ieee-tests: New file.
25002         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
25003         * tests/test-ceilf1.c (main): Remove signbit tests.
25004         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
25005         * doc/posix-functions/ceilf.texi: Mention the new module.
25006
25007 2010-12-21  Bruno Haible  <bruno@clisp.org>
25008
25009         New module 'floorf-ieee'.
25010         * modules/floorf-ieee: New file.
25011         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
25012         test whether floorf works according to ISO C 99 with IEC 60559.
25013         * m4/floorf-ieee.m4: New file.
25014         * modules/floorf-ieee-tests: New file.
25015         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
25016         * tests/test-floorf1.c (main): Remove signbit tests.
25017         * modules/floorf-tests (Depends-on): Remove 'signbit'.
25018         * doc/posix-functions/floorf.texi: Mention the new module.
25019
25020 2010-12-21  Bruno Haible  <bruno@clisp.org>
25021
25022         Support for minus zero in autoconf macros.
25023         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
25024         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
25025         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
25026         * tests/minus-zero.h: Update comments.
25027
25028 2010-12-21  Bruno Haible  <bruno@clisp.org>
25029
25030         Tests for module 'ceil'.
25031         * modules/ceil-tests: New file.
25032         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
25033         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
25034
25035 2010-12-21  Bruno Haible  <bruno@clisp.org>
25036
25037         Tests for module 'floor'.
25038         * modules/floor-tests: New file.
25039         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
25040         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
25041
25042 2010-12-21  Bruno Haible  <bruno@clisp.org>
25043
25044         math: Fix indentation.
25045         * lib/math.in.h (floorf): Fix indentation.
25046
25047 2010-12-21  Bruno Haible  <bruno@clisp.org>
25048
25049         Fix cross-compilation guesses on Solaris.
25050         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
25051         not match "solaris2.10".
25052         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25053         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
25054         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
25055
25056 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
25057
25058         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
25059         This fixes a problem observed with the latest coreutils snapshot
25060         that caused a test to fail on Solaris 8.  src/csplit.c's call
25061         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
25062         earlier, instead of returning the number of bytes that would have
25063         been generated; this causes csplit to incorrectly report memory
25064         exhaustion.
25065         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
25066         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
25067         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
25068         comments to match.
25069         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
25070         Fix typo in matching older versions of Solaris: "solaris2.10"
25071         is matched by the shell pattern "solaris2.[0-9]*".  This matters
25072         only for guessing while cross-compiling.
25073         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
25074
25075 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
25076
25077         ftoastr: fix comment again
25078         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25079         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
25080         Also, simplify example a bit by using flags = 0.
25081
25082 2010-12-20  Bruno Haible  <bruno@clisp.org>
25083
25084         round*, trunc*: Update documentation regarding glibc.
25085         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
25086         * doc/posix-functions/round.texi: Likewise.
25087         * doc/posix-functions/roundl.texi: Likewise.
25088         * doc/posix-functions/truncf.texi: Likewise.
25089         * doc/posix-functions/trunc.texi: Likewise.
25090         * doc/posix-functions/truncl.texi: Likewise.
25091
25092 2010-12-20  Bruno Haible  <bruno@clisp.org>
25093
25094         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
25095         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
25096         * doc/posix-functions/round.texi: Likewise.
25097         * doc/posix-functions/roundl.texi: Likewise.
25098
25099 2010-12-20  Bruno Haible  <bruno@clisp.org>
25100
25101         ttyname_r: Add missing declaration on HP-UX 11.
25102         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
25103         HAVE_TTYNAME_R.
25104         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
25105         declared. Set HAVE_TTYNAME_R always.
25106         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25107         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
25108         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
25109         HAVE_TTYNAME_R.
25110         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
25111
25112 2010-12-20  Bruno Haible  <bruno@clisp.org>
25113
25114         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
25115         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
25116         * doc/posix-functions/getlogin_r.texi: Likewise.
25117         * tests/test-getlogin.c: Include <errno.h>.
25118         (main): Avoid test failure on HP-UX 11.11.
25119         * tests/test-getlogin_r.c (main): Likewise.
25120
25121 2010-12-20  Bruno Haible  <bruno@clisp.org>
25122
25123         getlogin_r: Add missing declaration on HP-UX 11.
25124         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
25125         declared also when it exists as a function.
25126         * doc/posix-functions/getlogin_r.texi: Document this workaround.
25127
25128 2010-12-20  Bruno Haible  <bruno@clisp.org>
25129
25130         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
25131         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
25132         through wcrtomb.
25133
25134 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25135
25136         ftoastr: fix comment
25137         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
25138         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
25139
25140 2010-12-19  Bruno Haible  <bruno@clisp.org>
25141
25142         isnan: Ensure it is a macro.
25143         * lib/math.in.h (isnan): Define as a macro if not already a macro.
25144         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
25145         Solaris.
25146
25147 2010-12-19  Bruno Haible  <bruno@clisp.org>
25148
25149         ldexpl test: Fix link error on OSF/1 5.1.
25150         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
25151
25152 2010-12-19  Bruno Haible  <bruno@clisp.org>
25153
25154         wctype: Make it work in C++ mode on OSF/1 5.1.
25155         * lib/wctype.in.h (iswblank): Declare but not define here.
25156         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
25157         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
25158         * modules/wctype (Files): Add lib/iswblank.c.
25159
25160 2010-12-19  Bruno Haible  <bruno@clisp.org>
25161
25162         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
25163         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
25164         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
25165
25166 2010-12-19  Bruno Haible  <bruno@clisp.org>
25167
25168         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
25169         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
25170         _POSIX_PII_SOCKET.
25171         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
25172         * doc/posix-functions/recvfrom.texi: Likewise.
25173         * doc/posix-functions/send.texi: Likewise.
25174         * doc/posix-functions/sendto.texi: Likewise.
25175
25176 2010-12-19  Bruno Haible  <bruno@clisp.org>
25177
25178         tcgetsid: Add missing declaration on OSF/1 5.1.
25179         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
25180         HAVE_TCGETSID.
25181         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
25182         Don't set HAVE_TCGETSID.
25183         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
25184         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
25185         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
25186         HAVE_TCGETSID.
25187         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
25188
25189 2010-12-19  Bruno Haible  <bruno@clisp.org>
25190
25191         stdio: Fix problem with popen() declaration on OSF/1 5.1.
25192         * lib/stdio.in.h: During the include_next statement, let recursive
25193         includes of this file include only the system header file.
25194
25195 2010-12-19  Bruno Haible  <bruno@clisp.org>
25196
25197         iconv_open: Fix regression from 2010-12-04.
25198         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
25199         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
25200
25201 2010-12-19  Bruno Haible  <bruno@clisp.org>
25202
25203         stdbool test: Avoid a gcc warning.
25204         * tests/test-stdbool.c (main): Fail if e1 is false.
25205         Reported by Jim Meyering.
25206
25207 2010-12-19  Jim Meyering  <meyering@redhat.com>
25208
25209         setenv: restore to working order
25210         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
25211         mistakenly removed.
25212         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
25213         HAVE_SETENV.
25214         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
25215         HAVE_SETENV.
25216
25217 2010-12-19  Bruno Haible  <bruno@clisp.org>
25218
25219         Document some different function declarations on OSF/1 5.1.
25220         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
25221         * doc/posix-functions/inet_ntop.texi: Likewise.
25222         * doc/posix-functions/gethostname.texi: Likewise.
25223         * lib/unistd.in.h (gethostname): Update comment.
25224
25225 2010-12-19  Bruno Haible  <bruno@clisp.org>
25226
25227         doc: Mention vasprintf-posix module.
25228         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
25229         the 'vasprintf-posix' module.
25230         * doc/glibc-functions/vasprintf.texi: Likewise.
25231
25232 2010-12-19  Bruno Haible  <bruno@clisp.org>
25233
25234         unsetenv: Add missing declaration on OSF/1 5.1.
25235         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
25236         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
25237         Don't set HAVE_UNSETENV. In the test program, set _BSD.
25238         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
25239         not HAVE_UNSETENV.
25240         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
25241         HAVE_UNSETENV.
25242         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
25243
25244 2010-12-19  Bruno Haible  <bruno@clisp.org>
25245
25246         setenv: Add missing declaration on OSF/1 5.1.
25247         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
25248         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
25249         declared. Don't set HAVE_SETENV.
25250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
25251         not HAVE_SETENV.
25252         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
25253         HAVE_SETENV.
25254         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
25255
25256 2010-12-19  Bruno Haible  <bruno@clisp.org>
25257
25258         nl_langinfo tests: Avoid gcc warning.
25259         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
25260
25261 2010-12-19  Bruno Haible  <bruno@clisp.org>
25262
25263         mknod: Avoid error in C++ mode on OSF/1 with GCC.
25264         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
25265         _GL_CXXALIAS_SYS.
25266
25267 2010-12-19  Bruno Haible  <bruno@clisp.org>
25268
25269         stdbool: Relax test.
25270         * tests/test-stdbool.c (e): Don't require that casts from a variable's
25271         address to 'bool' work in static initializer, for compilers other than
25272         GCC.
25273
25274 2010-12-19  Bruno Haible  <bruno@clisp.org>
25275
25276         ftello: Add missing declaration on OSF/1 5.1.
25277         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
25278         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
25279         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
25280         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
25281         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
25282
25283 2010-12-19  Bruno Haible  <bruno@clisp.org>
25284
25285         fseeko: Add missing declaration on OSF/1 5.1.
25286         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
25287         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
25288         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
25289         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
25290         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
25291
25292 2010-12-19  Bruno Haible  <bruno@clisp.org>
25293
25294         fchdir: Add missing declaration on OSF/1 5.1.
25295         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
25296         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
25297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
25298         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
25299         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
25300
25301 2010-12-19  Bruno Haible  <bruno@clisp.org>
25302
25303         relocatable-prog-wrapper: Separate from relocatable-prog.
25304         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
25305         uninstall-relocwrapper rule here.
25306         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
25307         Reported by Ian Beckwith <ianb@erislabs.net>.
25308
25309 2010-12-19  Bruno Haible  <bruno@clisp.org>
25310
25311         unistr/u8-mbsnlen: Add missing dependency.
25312         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
25313         Reported by Ian Beckwith <ianb@erislabs.net>.
25314
25315 2010-12-19  Bruno Haible  <bruno@clisp.org>
25316
25317         iconv: Make it possible again to use this module without 'iconv-h'.
25318         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
25319         if it is not defined.
25320         Reported by Ian Beckwith <ianb@erislabs.net>.
25321
25322 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25323
25324         acl: port to Solaris 8 when copying from tmpfs to ufs
25325         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
25326         error number.  Problem observed on Solaris 8 with latest
25327         coreutils, with "mv A B", where A is on a tmpfs file system and B
25328         is on a ufs file system.  This caused coreutils' mv/part-symlink
25329         test to fail.
25330
25331         tests: set fail=0 at start
25332         * tests/init.sh (setup_): Move fail=0 initialization here ...
25333         (mktempd_): ... from here, so that tests can rely on fail being
25334         set to 0 initially.  This fixes a problem in coreutils; see:
25335         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
25336
25337 2010-12-18  Bruno Haible  <bruno@clisp.org>
25338
25339         memmem-simple: Stylistic changes.
25340         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
25341         Fix preprocessor directive indentation.
25342
25343 2010-12-15  Pádraig Brady <P@draigBrady.com>
25344
25345         memmem, memmem-simple: reorganize and expand empty needle check
25346         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
25347         functional checks to memmem-simple so that one has a fully functional
25348         memmem by using just this module.
25349         Restrict the performance only check to the memmem module.
25350         Also expand the empty needle check to ensure the correct
25351         pointer is returned, not just a non NULL pointer.
25352         * doc/glibc-functions/memmem.texi: Rearrange the portability
25353         documentation to correlate with the rearranged checks.
25354         Clarify exactly how the memmem and memmem-simple modules
25355         relate to each other.
25356
25357 2010-12-15  Pádraig Brady <P@draigBrady.com>
25358             Bruno Haible  <bruno@clisp.org>
25359
25360         Improve cross-compilation guesses for uClibc.
25361         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
25362         that uClibc does not have the glibc bug.
25363         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
25364         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
25365
25366 2010-12-14  Eric Blake  <eblake@redhat.com>
25367
25368         configmake: provide fallbacks for oldest supported autotools
25369         * m4/configmake.m4: New file.
25370         * modules/configmake (Files): Ship it.
25371         (configure.ac): Use it to guarantee fallbacks.
25372
25373 2010-12-13  Pádraig Brady <P@draigBrady.com>
25374
25375         read-file: Improve handling of large files
25376         * lib/read-file.c (fread_file): Minimize realloc()s
25377         for regular files, and better manage sizes around SIZE_MAX.
25378
25379 2010-12-13  Eric Blake  <eblake@redhat.com>
25380
25381         cloexec, fcntl: relax license
25382         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
25383         consent from all contributors.
25384         * modules/fcntl (License): Likewise.
25385
25386 2010-12-10  Bruno Haible  <bruno@clisp.org>
25387
25388         Tests for module 'pipe-posix'.
25389         * modules/pipe-posix-tests: New file.
25390         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
25391
25392 2010-12-10  Bruno Haible  <bruno@clisp.org>
25393
25394         pipe-posix: Make it work in C++ mode.
25395         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
25396         (pipe): Use common idiom, not a macro definition.
25397         * lib/pipe.c: New file.
25398         * m4/pipe.m4: New file.
25399         * modules/pipe-posix (Description): Enhance.
25400         (Files): Add lib/pipe.c, m4/pipe.m4.
25401         (configure.ac): Invoke gl_FUNC_PIPE.
25402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
25403         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
25404         * tests/test-unistd-c++.cc: Check the signature of pipe.
25405
25406 2010-12-10  Bruno Haible  <bruno@clisp.org>
25407
25408         Rename module 'pipe' to 'spawn-pipe'.
25409         * modules/spawn-pipe: New file, renamed from modules/pipe.
25410         (Files, configure.ac, Makefile.am): Update.
25411         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
25412         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
25413         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
25414         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
25415         "spawn-pipe.h" instead of "pipe.h".
25416         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
25417         to gl_SPAWN_PIPE.
25418         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
25419         (Files, Makefile.am): Update.
25420         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
25421         Update.
25422         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
25423         Include "spawn-pipe.h" instead of "pipe.h".
25424         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
25425         * lib/javacomp.c: Likewise.
25426         * lib/javaversion.c: Likewise.
25427         * lib/pipe-filter-gi.c: Likewise.
25428         * lib/pipe-filter-ii.c: Likewise.
25429         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
25430         * modules/javacomp (Depends-on): Likewise.
25431         * modules/javaversion (Depends-on): Likewise.
25432         * modules/pipe-filter-gi (Depends-on): Likewise.
25433         * modules/pipe-filter-ii (Depends-on): Likewise.
25434         * MODULES.html.sh (Executing programs): Update.
25435         * NEWS: Mention the change.
25436
25437 2010-12-10  Eric Blake  <eblake@redhat.com>
25438
25439         pipe-posix: new module
25440         * modules/pipe-posix: New file.
25441         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
25442         (gl_UNISTD_H): Check for declaration.
25443         * modules/unistd (Makefile.am): Substitute it.
25444         * lib/unistd.in.h (pipe): Provide it for mingw.
25445         * doc/posix-functions/pipe.texi (pipe): Update documentation.
25446         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
25447
25448 2010-12-07  Bruno Haible  <bruno@clisp.org>
25449
25450         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
25451         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
25452         u8_strcmp_gnu.
25453         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
25454
25455 2010-12-06  Bruno Haible  <bruno@clisp.org>
25456
25457         Update internal documentation.
25458         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
25459
25460 2010-12-04  Bruno Haible  <bruno@clisp.org>
25461
25462         Put more information about failed tests into the test return codes.
25463         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
25464         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
25465         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
25466         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
25467         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
25468         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25469         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25470         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
25471         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
25472         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25473         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
25474         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
25475         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
25476         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25477         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
25478         returns a bit mask.
25479         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
25480         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
25481         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
25482         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
25483         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
25484         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
25485         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
25486         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25487         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
25488         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
25489         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25490         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
25491         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25492         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
25493         * m4/link.m4 (gl_FUNC_LINK): Likewise.
25494         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
25495         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
25496         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
25497         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25498         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
25499         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
25500         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
25501         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
25502         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25503         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
25504         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25505         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
25506         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
25507         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
25508         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
25509         gl_PRINTF_PRECISION): Likewise.
25510         * m4/regex.m4 (gl_REGEX): Likewise.
25511         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
25512         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
25513         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
25514         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25515         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
25516         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
25517         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
25518         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
25519         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
25520         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25521         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25522         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25523         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
25524         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
25525         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25526         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
25527         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
25528         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25529         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
25530         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
25531         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
25532         enumerated value.
25533         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
25534
25535 2010-12-04  Bruno Haible  <bruno@clisp.org>
25536
25537         Update for Solaris 11 2010-11.
25538         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
25539         Express, released in November 2010.
25540
25541 2010-12-04  Bruno Haible  <bruno@clisp.org>
25542
25543         nproc: Relax license.
25544         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
25545         and Paul Eggert.
25546         Requested by Ludovic Courtès <ludo@gnu.org>.
25547
25548 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
25549
25550         utimecmp: fine-grained src to nearby coarse-grained dest
25551
25552         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
25553         and the source is on a file system with higher-resolution time
25554         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
25555         not work, and the time stamps are close together, the algorithm to
25556         determine the exact resolution from the read-back mtime was buggy:
25557         it had a "!=" where it should have had an "==".  This bug has been
25558         in the code ever since it was introduced to gnulib.
25559         Problem reported by Dan Jacobson in
25560         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
25561
25562 2010-11-30  Bruno Haible  <bruno@clisp.org>
25563
25564         strerror_r-posix: Fix autoconf test.
25565         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
25566
25567 2010-11-28  Bruno Haible  <bruno@clisp.org>
25568             Paul Eggert  <eggert@cs.ucla.edu>
25569
25570         Tests for module 'getdomainname'.
25571         * modules/getdomainname-tests: New file.
25572         * tests/test-getdomainname.c: New file, based on
25573         tests/test-gethostname.c.
25574
25575 2010-11-28  Bruno Haible  <bruno@clisp.org>
25576             Paul Eggert  <eggert@cs.ucla.edu>
25577
25578         getdomainname: Use the system function when possible.
25579         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
25580         (getdomainname): Replace if needed. Provide the declaration if it is
25581         missing. Don't use _GL_CXXALIAS_SYS_CAST.
25582         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
25583         (getdomainname): When the system has getdomainname, call the system
25584         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
25585         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
25586         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
25587         found in libnsl. Look for the declaration also in <netdb.h>. Replace
25588         the function if its second argument is of type 'int' or if it is found
25589         in libnsl.
25590         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
25591         <sys/systeminfo.h> and sysinfo().
25592         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
25593         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25594         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
25595         HAVE_GETDOMAINNAME.
25596         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
25597         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
25598         * doc/glibc-functions/getdomainname.texi: Document the problems with
25599         the getdomainname declaration.
25600
25601 2010-11-28  Bruno Haible  <bruno@clisp.org>
25602
25603         sys_socket: Ensure ss_family field on AIX.
25604         * lib/sys_socket.in.h (ss_family): New macro definition.
25605         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
25606         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
25607         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25608         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25609         * modules/sys_socket (Makefile.am): Substitute
25610         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
25611         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
25612
25613 2010-11-27  Bruno Haible  <bruno@clisp.org>
25614
25615         readline: Improve configure output.
25616         * m4/readline.m4 (gl_FUNC_READLINE): Make the
25617         "checking for readline..." result understandable.
25618
25619 2010-11-27  Bruno Haible  <bruno@clisp.org>
25620
25621         *printf-posix: Detect a bug on Solaris 10/x86.
25622         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
25623         for floating-point output.
25624         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
25625         directive.
25626         * tests/test-snprintf-posix.h (test_function): Likewise.
25627         * tests/test-sprintf-posix.h (test_function): Likewise.
25628         * tests/test-vasprintf-posix.c (test_function): Likewise.
25629         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
25630         * doc/posix-functions/printf.texi: Likewise.
25631         * doc/posix-functions/snprintf.texi: Likewise.
25632         * doc/posix-functions/sprintf.texi: Likewise.
25633         * doc/posix-functions/vfprintf.texi: Likewise.
25634         * doc/posix-functions/vprintf.texi: Likewise.
25635         * doc/posix-functions/vsnprintf.texi: Likewise.
25636         * doc/posix-functions/vsprintf.texi: Likewise.
25637         * doc/glibc-functions/obstack_printf.texi: Likewise.
25638         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
25639
25640 2010-11-27  Bruno Haible  <bruno@clisp.org>
25641
25642         Fix link error when module libunistring-optional is in use.
25643         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
25644         * modules/striconveha-tests (Makefile.am): Likewise.
25645
25646 2010-11-27  Bruno Haible  <bruno@clisp.org>
25647
25648         regex: Mention link dependencies.
25649         * modules/regex (Link): New section.
25650         * modules/rpmatch (Link): Likewise.
25651         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
25652
25653 2010-11-27  Bruno Haible  <bruno@clisp.org>
25654
25655         ftoastr: Fix compilation error on Solaris.
25656         * lib/ftoastr.c: Include <config.h>.
25657
25658 2010-11-27  Bruno Haible  <bruno@clisp.org>
25659
25660         getloadavg: Update documentation.
25661         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
25662
25663 2010-11-27  Bruno Haible  <bruno@clisp.org>
25664
25665         sys_socket: Fix test whether the functions are declared.
25666         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
25667         not <sys/select.h>.
25668
25669 2010-11-27  Bruno Haible  <bruno@clisp.org>
25670
25671         getpass: Make sure to get system declaration on some platforms.
25672         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
25673         gl_USE_SYSTEM_EXTENSIONS.
25674         * modules/getpass (Depends-on): Add extensions.
25675
25676 2010-11-26  Bruno Haible  <bruno@clisp.org>
25677
25678         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
25679         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
25680         'iconv' module is present.
25681         (ICONV_CONST): New macro.
25682         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
25683         ICONV_CONST.
25684         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
25685         set ICONV_CONST.
25686         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
25687         here.
25688         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
25689         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
25690         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
25691         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
25692         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
25693         present.
25694
25695 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
25696
25697         ftoastr: comment fix
25698         * lib/ftoastr.c: "little" -> "little or no" in comment
25699
25700 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
25701
25702         stdint: port to GCC 4.3 + OSX + Octave
25703         On this platform, stdint.h is buggy and defines int64_t to long
25704         long int.  The replacement defined it to long int, causing
25705         problems with C++ style name mangling.  Instead, trust the system
25706         definition if INT64_MAX is defined, and likewise for the unsigned
25707         variant.   Problem reported by Jarno Rajahalme in
25708         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
25709         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
25710         and don't mess with int64_t and INT64_MAX in this case.
25711         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
25712
25713 2010-11-24  Bruno Haible  <bruno@clisp.org>
25714
25715         doc: Corrections regarding MacOS X 10.4 and 10.5.
25716         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
25717         MacOS X.
25718         Reported by Simon Josefsson.
25719
25720 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
25721
25722         Uninstall ".bin" files installed by relocwrapper.
25723         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
25724         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
25725         unless it is already there.
25726
25727 2010-11-21  Bruno Haible  <bruno@clisp.org>
25728
25729         Update for NetBSD 5.0.
25730         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25731         NetBSD; the test fails on NetBSD 5.0.
25732         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25733         about NetBSD.
25734
25735 2010-11-21  Bruno Haible  <bruno@clisp.org>
25736
25737         Update for HP-UX 11.23 and HP-UX 11.31.
25738         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
25739         HP-UX.
25740
25741 2010-11-21  Bruno Haible  <bruno@clisp.org>
25742
25743         Update for MacOS X 10.5.
25744         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
25745         MacOS X; the test fails on MacOS X 10.5.8.
25746         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
25747         about MacOS X.
25748
25749 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
25750
25751         bootstrap: add bootstrap_sync option.
25752         See discussion at
25753         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
25754         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
25755         * build-aux/bootstrap: Accept --bootstrap-sync to update
25756         bootstrap if it is not identical to the local gnulib's
25757         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
25758         enable this by default.  Accept --no-bootstrap-sync to disable
25759         it.
25760
25761 2010-11-20  Bruno Haible  <bruno@clisp.org>
25762
25763         Ensure that <features.h> is included before __GLIBC__ is tested.
25764         * lib/printf-parse.h: Include <features.h>.
25765         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
25766         Reported by Mike Frysinger <vapier@gentoo.org>.
25767
25768         Ensure that <features.h> is included before __GLIBC__ is tested.
25769         * lib/wchar.in.h: Include <features.h>.
25770         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
25771         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
25772         Reported by Mike Frysinger <vapier@gentoo.org>.
25773
25774         Ensure that <features.h> is included before __GLIBC__ is tested.
25775         * lib/arpa_inet.in.h: Include <features.h>.
25776         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
25777         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
25778         Reported by Mike Frysinger <vapier@gentoo.org>.
25779
25780         Ensure that <features.h> is included before __GLIBC__ is tested.
25781         * build-aux/link-warning.h: Include <features.h>.
25782         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
25783         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
25784         Reported by Mike Frysinger <vapier@gentoo.org>.
25785
25786         Ensure that <features.h> is included before __GLIBC__ is tested.
25787         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
25788         Reported by Mike Frysinger <vapier@gentoo.org>.
25789
25790 2010-11-20  Bruno Haible  <bruno@clisp.org>
25791
25792         memmem: Fix autoconf test.
25793         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
25794
25795 2010-11-20  Bruno Haible  <bruno@clisp.org>
25796
25797         Port to uClibc.
25798         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
25799         * lib/fcntl.in.h: Likewise.
25800         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
25801         * lib/mbrtowc.c (mbrtowc): Likewise.
25802         * lib/relocatable.c (find_shared_library_fullname): Likewise.
25803         * lib/strerror_r.c: Likewise.
25804         * lib/unistr/u8-strnlen.c: Likewise.
25805         * lib/vasnprintf.c (decimal_point_char): Likewise.
25806         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25807         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
25808         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
25809         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
25810         * tests/test-sigaction.c (handler, main): Likewise.
25811         * lib/freading.h: Treat uClibc like a non-glibc platform.
25812         * lib/freading.c: Likewise.
25813         * lib/gettext.h: Likewise.
25814         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
25815         Likewise.
25816         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
25817         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
25818         * lib/propername.c (proper_name_utf8): Likewise.
25819         * lib/spawn.in.h: Likewise.
25820         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
25821         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
25822         mem_cd_iconveh_internal): Likewise.
25823         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
25824         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
25825         strstr, strcasestr): Likewise.
25826         * lib/unicodeio.c (unicode_to_mb): Likewise.
25827         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
25828         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
25829         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
25830         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
25831         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
25832         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
25833         * lib/unistr/u8-stpncpy.c: Likewise.
25834         * lib/vasnprintf.c (VASNPRINTF): Likewise.
25835         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
25836         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
25837         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25838         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
25839         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
25840         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
25841         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
25842         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
25843         Likewise.
25844         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
25845         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
25846         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
25847         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25848         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
25849         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25850         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25851         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25852         * tests/test-getopt.h (OPTIND_MIN): Likewise.
25853         * tests/test-striconveha.c (main): Likewise.
25854         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25855         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
25856         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
25857         * doc/posix-functions/getline.texi: Likewise.
25858         Reported by Mike Frysinger <vapier@gentoo.org>.
25859
25860 2010-11-20  Bruno Haible  <bruno@clisp.org>
25861
25862         nproc: Fix condition.
25863         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
25864         HAVE_PTHREAD_AFFINITY_NP.
25865
25866 2010-11-20  Bruno Haible  <bruno@clisp.org>
25867
25868         Fix a comment.
25869         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
25870
25871 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
25872
25873         ftoastr: don't assume snprintf
25874         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
25875         Implement a subset of snprintf here, by using sprintf safely.
25876         * modules/ftoastr (Depends-on): Remove snprintf.
25877
25878 2010-11-19  Jim Meyering  <meyering@redhat.com>
25879
25880         test-rename.h: fix compilation failure
25881         * tests/test-rename.h (test_rename): Add omitted "}".
25882
25883 2010-11-17  Jim Meyering  <meyering@redhat.com>
25884
25885         maint.mk: add a URL discussing the no-@acronym policy
25886         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
25887
25888 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
25889
25890         ftoastr: depend on snprintf, improve comments
25891         * lib/ftoastr.c: Also mention Loitsch's draft.
25892         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
25893         needed in the current implementation, but it might simplify
25894         speeding up the code later.
25895         * modules/ftoastr: Depend on snprintf; this improves portability.
25896         Suggested by Bruno Haible in the same email.
25897
25898         ftoastr: port to hosts lacking strtof and strtold
25899         Problem reported by Bruno Haible in
25900         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
25901         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
25902         environment and strtold (and presumably strtof) are not available.
25903         * modules/ftoastr (Files): Add m4/c-strtod.m4.
25904         (configure.ac): Require gl_C99_STRTOLD.
25905
25906 2010-11-18  Bruno Haible  <bruno@clisp.org>
25907
25908         c-strtold: Avoid link error on AIX 7.
25909         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
25910         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
25911         (gl_C_STRTOLD): Test whether strtold_l exists.
25912         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25913
25914 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
25915
25916         intprops: new macro INT_BITS_STRLEN_BOUND
25917         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
25918         ftoastr.h.  This exposes an internal of intprops.h that was formerly
25919         not exposed.  Also, it uses a slightly tighter bound than before;
25920         though this makes no practical difference, we might as well be as
25921         tight as we easily can.
25922
25923         ftoastr: new module, for lossless conversion of floats to short strings
25924         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
25925         * modules/ftoastr: New files.
25926
25927 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
25928
25929         bootstrap: port to Solaris sed
25930         * build-aux/bootstrap (get_version): Port to Solaris sed.
25931         See Ralf Wildenhues's note in
25932         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
25933
25934 2010-11-14  Jim Meyering  <meyering@redhat.com>
25935
25936         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
25937         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
25938         and move definition closer to sole use.
25939
25940 2010-11-13  Jim Meyering  <meyering@redhat.com>
25941
25942         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
25943         Now we require at least autoconf-2.59, which means the work-around
25944         is no longer needed.
25945         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
25946         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
25947         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
25948         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
25949         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
25950
25951 2010-11-13  Bruno Haible  <bruno@clisp.org>
25952
25953         rename, renameat: Avoid test failures at NFS mounted locations.
25954         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
25955         functions.
25956         (test_rename): Use assert_nonexistent.
25957         * tests/test-rename.c: Include <dirent.h>.
25958         * tests/test-renameat.c: Likewise.
25959         Reported by Gary V. Vaughan <gary@gnu.org>.
25960
25961         rename, renameat: Document Linux bug with NFS
25962         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
25963         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
25964         * doc/posix-functions/renameat.texi: Likewise.
25965         Suggested by Eric Blake.
25966
25967 2010-11-13  Bruno Haible  <bruno@clisp.org>
25968
25969         rename test: Add comments.
25970         * tests/test-rename.h (test_rename): Add structure and comments.
25971
25972 2010-11-13  Eric Blake  <eblake@redhat.com>
25973
25974         maintainer-makefile: cover a few more files
25975         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
25976         scripts generated within C files, for libvirt.
25977
25978 2010-11-13  Bruno Haible  <bruno@clisp.org>
25979
25980         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
25981         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
25982         character, return the number of bytes that belong together, not always
25983         1.
25984         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
25985         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
25986         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
25987         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
25988         number of bytes of an invalid character.
25989         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
25990         (main): Invoke it.
25991         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
25992         results.
25993         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
25994         malformed byte sequences.
25995         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
25996         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
25997         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
25998         Reported by Ben Pfaff and Paolo Bonzini.
25999
26000 2010-11-13  Bruno Haible  <bruno@clisp.org>
26001
26002         openat: Work around glibc bug with fchownat() and empty file names.
26003         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
26004         (gl_FUNC_FCHOWNAT): Invoke it.
26005         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
26006         * doc/posix-functions/fchownat.texi: Document the glibc bug.
26007         Reported by Gary V. Vaughan <gary@gnu.org>.
26008
26009 2010-11-13  Bruno Haible  <bruno@clisp.org>
26010
26011         openat: Ensure autoconf macro ordering.
26012         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
26013         gl_USE_SYSTEM_EXTENSIONS.
26014         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
26015
26016 2010-11-13  Bruno Haible  <bruno@clisp.org>
26017
26018         Update comments.
26019         * lib/unistr/u8-check.c: Update file name in comments.
26020         * lib/unistr/u8-mblen.c: Likewise.
26021         * lib/unistr/u8-prev.c: Likewise.
26022         * lib/unistr/u8-strmblen.c: Likewise.
26023         * lib/unistr/u8-strmbtouc.c: Likewise.
26024
26025 2010-11-13  Jim Meyering  <meyering@redhat.com>
26026
26027         tests: avoid test failure on Solaris 10 due to lack of PATH export
26028         * tests/test-update-copyright.sh: Don't forget to export PATH.
26029
26030         init.sh: ensure that IFS is defined, just in case...
26031         * tests/init.sh (setup_): Ensure that IFS is defined,
26032         so that saving and restoring it works as expected.  This
26033         appears to be useful at least for an old version of dash
26034         from a long time ago (RH 6).  See here for details:
26035         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
26036
26037         maint.mk: tighten "test a == b" check
26038         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
26039         test to files that contain something like #!/bin/sh.
26040         Without this, coreutils would get two false positives in
26041         the comments of C source files.
26042
26043 2010-11-12  Eric Blake  <eblake@redhat.com>
26044
26045         bootstrap: fix typo in previous attempt
26046         * build-aux/bootstrap (buildreq): Correct the grouping.
26047         Reported by Paul Eggert.
26048
26049         maintainer-makefile: prohibit test x == x
26050         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
26051         Based on a report by Matthias Bolte.
26052
26053         bootstrap: allow FreeBSD gzip
26054         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
26055         which has no '.' and goes to stderr.
26056         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
26057         Reported by Matthias Bolte.
26058
26059         maintainer-makefile: check for i18n setup
26060         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
26061         will likely work.
26062
26063 2010-11-12  Bruno Haible  <bruno@clisp.org>
26064
26065         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
26066         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
26067         * lib/nanosleep.c (nanosleep): Likewise.
26068
26069 2010-11-11  Bruno Haible  <bruno@clisp.org>
26070
26071         fcntl-h: Fix for use of C++ on glibc systems.
26072         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26073         also on glibc systems in C++ mode.
26074         Reported by Gary V. Vaughan <gary@gnu.org>.
26075
26076 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26077
26078         mknod: avoid false failure with dash
26079         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
26080
26081 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
26082
26083         unlink: Fix "is it should" typo in diagnostic.
26084         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
26085         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
26086
26087 2010-11-11  Bruno Haible  <bruno@clisp.org>
26088
26089         Tests for module 'strerror_r-posix'.
26090         * modules/strerror_r-posix-tests: New file.
26091         * tests/test-strerror_r.c: New file.
26092         * tests/test-string-c++.cc: Check the signature of strerror_r.
26093
26094         New module 'strerror_r-posix'.
26095         * lib/string.in.h (strerror_r): New declaration.
26096         * lib/strerror_r.c: New file.
26097         * m4/strerror_r.m4: New file.
26098         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
26099         of strerror_r.
26100         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
26101         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26102         * modules/strerror_r-posix: New file.
26103         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
26104         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
26105         * doc/posix-functions/strerror_r.texi: Mention the new module and the
26106         portability problems.
26107
26108 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
26109
26110         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
26111         line is also considered for output. Quoted function name in shell
26112         command, so temporary files for functions like MyClass::operator()
26113         are removed correctly without errors.
26114
26115 2010-11-09  Bruno Haible  <bruno@clisp.org>
26116
26117         * doc/posix-functions/strerror.texi: List more failing platforms.
26118
26119         * doc/posix-functions/strerror.texi: Add a comment.
26120
26121 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
26122
26123         fdopendir: fix bug on MacOS X when low on file descriptors
26124
26125         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
26126         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
26127         All callers changed.
26128         (fdopendir): Invoke save_cwd at the top level, not after using
26129         multiple dup() calls to use up file descriptors.  Then retry
26130         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
26131         less than the maximum number of open file descriptors, because
26132         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
26133         on Mac OS X 10.6.4 for tar 1.24
26134         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
26135         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
26136         and for tar 1.25
26137         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
26138
26139 2010-11-07  Bruno Haible  <bruno@clisp.org>
26140
26141         vasnprintf: Support I flag on glibc systems.
26142         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
26143         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
26144         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
26145         snprintf function.
26146         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
26147         glibc systems.
26148         * tests/test-vasnprintf-posix3.c: New file.
26149         * modules/vasnprintf-posix-tests (Files): Add it.
26150         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
26151
26152 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
26153
26154         [html] Fix copy/paste bug: Use unique name for compiler warnings.
26155         * MODULES.html.sh: For compiler warnings, use name
26156         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
26157
26158 2010-11-05  Eric Blake  <eblake@redhat.com>
26159
26160         ceil, floor: avoid spurious failure with icc
26161         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
26162         [denormals-as-zero] when optimizing without -mieee-fp option.
26163         * tests/test-floorf2.c (floorf_reference): Likewise.
26164         * tests/test-ceilf1.c (dummy): New function.
26165         (main): Use it to outsmart icc's optimization.
26166         * tests/test-floorf1.c (dummy, main): Likewise.
26167
26168         tests: require working signbit
26169         * modules/ceilf-tests (Depends-on): Add signbit.
26170         * modules/ceill-tests (Depends-on): Likewise.
26171         * modules/floorf-tests (Depends-on): Likewise.
26172         * modules/floorl-tests (Depends-on): Likewise.
26173         * modules/round-tests (Depends-on): Likewise.
26174         * modules/roundf-tests (Depends-on): Likewise.
26175         * modules/roundl-tests (Depends-on): Likewise.
26176         * modules/trunc-tests (Depends-on): Likewise.
26177         * modules/truncf-tests (Depends-on): Likewise.
26178         * modules/truncl-tests (Depends-on): Likewise.
26179
26180         strtod: work around icc bug
26181         * lib/strtod.c (minus_zero): Define to working value.
26182         (strtod): Use it to avoid icc bug.
26183
26184         copysign: enhance tests
26185         * modules/copysign-tests (Files): Add minus-zero.h.
26186         * tests/test-copysign.c (main): Also test zeros.
26187
26188 2010-11-04  Eric Blake  <eblake@redhat.com>
26189
26190         ceil, floor, round, trunc: enhance tests of -0
26191         * tests/test-ceilf1.c (main): Ensure correct sign of result.
26192         * tests/test-ceill.c (main): Likewise.
26193         * tests/test-floorf1.c (main): Likewise.
26194         * tests/test-floorl.c (main): Likewise.
26195         * tests/test-round1.c (main): Likewise.
26196         * tests/test-roundf1.c (main): Likewise.
26197         * tests/test-roundl.c (main): Likewise.
26198         * tests/test-trunc1.c (main): Likewise.
26199         * tests/test-truncf1.c (main): Likewise.
26200         * tests/test-truncl.c (main): Likewise.
26201
26202 2010-11-04  Eric Blake  <eblake@redhat.com>
26203
26204         frexp, tests: work around ICC bug with -zero
26205         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
26206         works with more compilers.
26207         * tests/minus-zero.h: New file.
26208         * modules/ceilf-tests (Files): Include it.
26209         * modules/ceill-tests (Files): Likewise.
26210         * modules/floorf-tests (Files): Likewise.
26211         * modules/floorl-tests (Files): Likewise.
26212         * modules/frexp-nolibm-tests (Files): Likewise.
26213         * modules/frexp-tests (Files): Likewise.
26214         * modules/frexpl-nolibm-tests (Files): Likewise.
26215         * modules/frexpl-tests (Files): Likewise.
26216         * modules/isnan-tests (Files): Likewise.
26217         * modules/isnand-nolibm-tests (Files): Likewise.
26218         * modules/isnand-tests (Files): Likewise.
26219         * modules/isnanf-nolibm-tests (Files): Likewise.
26220         * modules/isnanf-tests (Files): Likewise.
26221         * modules/isnanl-nolibm-tests (Files): Likewise.
26222         * modules/isnanl-tests (Files): Likewise.
26223         * modules/round-tests (Files): Likewise.
26224         * modules/roundf-tests (Files): Likewise.
26225         * modules/roundl-tests (Files): Likewise.
26226         * modules/ldexpl-tests (Files): Likewise.
26227         * modules/signbit-tests (Files): Likewise.
26228         * modules/snprintf-posix-tests (Files): Likewise.
26229         * modules/sprintf-posix-tests (Files): Likewise.
26230         * modules/strtod-tests (Files): Likewise.
26231         * modules/trunc-tests (Files): Likewise.
26232         * modules/truncf-tests (Files): Likewise.
26233         * modules/truncl-tests (Files): Likewise.
26234         * modules/vsnprintf-posix-tests (Files): Likewise.
26235         * modules/vsprintf-posix-tests (Files): Likewise.
26236         * modules/vasnprintf-posix-tests (Files): Likewise.
26237         * modules/vasprintf-posix-tests (Files): Likewise.
26238         * tests/test-ceilf1.c (main): Use it.
26239         * tests/test-ceill.c (main): Likewise.
26240         * tests/test-floorf1.c (main): Likewise.
26241         * tests/test-floorl.c (main): Likewise.
26242         * tests/test-frexp.c (main): Likewise.
26243         * tests/test-frexpl.c (main): Likewise.
26244         * tests/test-isnan.c (main): Likewise.
26245         * tests/test-isnand.h (main): Likewise.
26246         * tests/test-isnanf.h (main): Likewise.
26247         * tests/test-isnanl.h (main): Likewise.
26248         * tests/test-ldexpl.c (main): Likewise.
26249         * tests/test-round.c (main): Likewise.
26250         * tests/test-roundf.c (main): Likewise.
26251         * tests/test-roundl.c (main): Likewise.
26252         * tests/test-signbit.c (test_signbitf, test_signbitd)
26253         (test_signbitl): Likewise.
26254         * tests/test-snprintf-posix.h (test_function): Likewise.
26255         * tests/test-sprintf-posix.h (test_function): Likewise.
26256         * tests/test-strtod.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         isnanl: work around icc bug
26262         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
26263
26264 2010-11-03  Eric Blake  <eblake@redhat.com>
26265
26266         tests: fix compiler warnings
26267         * tests/test-getopt.h (test_getopt): Fix condition.
26268         * tests/test-getopt_long.h (test_getopt_long): Likewise.
26269         * tests/test-pipe2.c (main): Likewise.
26270         * tests/test-quotearg-simple.c (main): Avoid icc warning.
26271
26272         utimens: fix broken m4 test
26273         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
26274
26275 2010-10-28  Bruno Haible  <bruno@clisp.org>
26276
26277         posix_spawn*, getdtablesize: Relax license.
26278         * modules/posix_spawn (License): Change to LGPLv2+.
26279         * modules/posix_spawnp (License): Likewise.
26280         * modules/posix_spawn-internal (License): Likewise.
26281         * modules/posix_spawnattr_init (License): Likewise.
26282         * modules/posix_spawnattr_getflags (License): Likewise.
26283         * modules/posix_spawnattr_setflags (License): Likewise.
26284         * modules/posix_spawnattr_getpgroup (License): Likewise.
26285         * modules/posix_spawnattr_setpgroup (License): Likewise.
26286         * modules/posix_spawnattr_getschedparam (License): Likewise.
26287         * modules/posix_spawnattr_setschedparam (License): Likewise.
26288         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
26289         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
26290         * modules/posix_spawnattr_getsigdefault (License): Likewise.
26291         * modules/posix_spawnattr_setsigdefault (License): Likewise.
26292         * modules/posix_spawnattr_getsigmask (License): Likewise.
26293         * modules/posix_spawnattr_setsigmask (License): Likewise.
26294         * modules/posix_spawnattr_destroy (License): Likewise.
26295         * modules/posix_spawn_file_actions_init (License): Likewise.
26296         * modules/posix_spawn_file_actions_addclose (License): Likewise.
26297         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
26298         * modules/posix_spawn_file_actions_addopen (License): Likewise.
26299         * modules/posix_spawn_file_actions_destroy (License): Likewise.
26300         * modules/getdtablesize (License): Likewise.
26301         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
26302
26303 2010-10-26  Bruno Haible  <bruno@clisp.org>
26304
26305         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
26306         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
26307         Cygwin and mingw.
26308         Suggested by Eric Blake.
26309
26310 2010-10-26  Bruno Haible  <bruno@clisp.org>
26311
26312         stdio: Work around compilation error due to renameat() on Solaris 10.
26313         * lib/stdio.in.h: Include <unistd.h> on Solaris.
26314         * lib/renameat.c: Don't include <unistd.h> here.
26315         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
26316         Reported by Paul Eggert and Eric Blake.
26317
26318 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26319
26320         renameat: port to Solaris 10, which declares renameat in unistd.h
26321
26322         * lib/renameat.c: Include unistd.h before stdio.h, because
26323         Solaris 10 declares renameat in unistd.h.  Problem encountered
26324         when building GNU tar 1.24 on Solaris 10.
26325
26326 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
26327
26328         fdopendir: fix C89 compilation
26329         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
26330         compilers.
26331
26332 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
26333
26334         inttostr: simplify by removing unnecessary redundancy
26335         * lib/anytostr.c: Don't include verify.h.
26336         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
26337         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
26338         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
26339         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
26340         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
26341         Likewise.
26342         * modules/inttostr (Depends-on): Remove 'verify'.
26343
26344 2010-10-23  Bruno Haible  <bruno@clisp.org>
26345
26346         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
26347         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
26348         Reported by Eric Blake.
26349
26350 2010-10-23  Bruno Haible  <bruno@clisp.org>
26351
26352         Tests: Fix LOCALE_JA on MirBSD 10.
26353         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
26354         to an UTF-8 locale.
26355         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
26356         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
26357         Reported by Eric Blake.
26358
26359 2010-10-21  Bruno Haible  <bruno@clisp.org>
26360
26361         nl_langinfo test: Avoid test failure on NetBSD 5.
26362         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
26363         Reported by Eric Blake.
26364
26365 2010-10-21  Eric Blake  <eblake@redhat.com>
26366
26367         c-stack: work around libsigsegv 2.8 bug
26368         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
26369         overflow on at least PowerPC64.
26370
26371 2010-10-17  Bruno Haible  <bruno@clisp.org>
26372
26373         userspec: Drop redundant file.
26374         * modules/userspec (Files): Remove lib/inttostr.h.
26375
26376 2010-10-17  Bruno Haible  <bruno@clisp.org>
26377
26378         nl_langinfo tests: Silence some warnings.
26379         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
26380         Reported by Jim Meyering.
26381
26382 2010-10-17  Bruno Haible  <bruno@clisp.org>
26383
26384         Make use of GCC's attribute __alloc_size__.
26385         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
26386         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
26387         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
26388         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
26389         __alloc_size__.
26390         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
26391         Suggested by Jim Meyering.
26392
26393 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
26394
26395         bootstrap: anchor .gitignore entries.
26396         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
26397         with...
26398         (insert_vc_ignore): ... this new function, which prepends `/' to
26399         all .gitignore entries before passing them to
26400         insert_sorted_if_absent.
26401
26402 2010-10-16  Bruno Haible  <bruno@clisp.org>
26403
26404         nextafter: Fix configure check.
26405         * modules/nextafter (configure.ac): Correct expected prototype.
26406
26407 2010-10-16  Bruno Haible  <bruno@clisp.org>
26408
26409         termios: Update documentation.
26410         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
26411
26412 2010-10-16  Bruno Haible  <bruno@clisp.org>
26413
26414         tests: Make them compile with TinyCC.
26415         * tests/test-strstr.c (main): Remove parentheses around array
26416         initializer.
26417
26418 2010-10-15  Eric Blake  <eblake@redhat.com>
26419
26420         ignore-value: make header idempotent
26421         * lib/ignore-value.h: Add double-inclusion guards.
26422         Reported by Stefan Berger.
26423
26424 2010-10-15  Jim Meyering  <meyering@redhat.com>
26425
26426         GNUmakefile: handle "stable" target, not "major"
26427         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
26428         lists in maint.mk and announce-gen.  Without this, "make stable"
26429         would fail to ensure that $(VERSION) is up to date.
26430
26431 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
26432
26433         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
26434         & co.
26435
26436 2010-10-14  Bruno Haible  <bruno@clisp.org>
26437
26438         vasnprintf: Don't set errno to 0.
26439         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
26440         block that sets it to 0.
26441         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
26442
26443 2010-10-14  Bruno Haible  <bruno@clisp.org>
26444
26445         socketlib: Fix.
26446         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
26447         gl_PREREQ_SYS_H_WINSOCK2.
26448         Reported by Ian Beckwith <ianb@erislabs.net>.
26449
26450 2010-10-13  Jim Meyering  <meyering@redhat.com>
26451
26452         test-select-stdin.c: avoid warn_unused_result warnings
26453         * tests/test-select-stdin.c: Include "macros.h".
26454         ASSERT that read and fflush succeed.
26455
26456 2010-10-13  Jim Meyering  <meyering@redhat.com>
26457
26458         git-version-gen: do require git-VC'd files in cwd
26459         * build-aux/git-version-gen: Reject a git version string
26460         if there are no commits associated with the current directory.
26461         This avoids an unlikely false-positive (unrelated dir whose parent
26462         repository also contains a tag matching v*), as pointed out
26463         by Giuseppe Scrivano in
26464         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
26465
26466 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26467
26468         argv-iter: omit nonconforming declaration
26469         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
26470         enum arg_iter_err declaration, which doesn't conform to C99.
26471         Solaris 10 cc warns about this.
26472
26473 2010-10-13  Eric Blake  <eblake@redhat.com>
26474
26475         termios: fix compilation on mingw
26476         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
26477         (gl_TERMIOS_H): Adjust it on mingw.
26478         * modules/termios (Makefile.am): Substitute new key.
26479         * lib/termios.in.h (includes): Make include_next conditional.
26480         * doc/posix-headers/termios.texi (termios.h): Update
26481         documentation.
26482         Reported by Daniel P. Berrange.
26483
26484 2010-10-13  Jim Meyering  <meyering@redhat.com>
26485
26486         git-version-gen: don't require that .git/ be in the current dir
26487         * build-aux/git-version-gen: Adjust this script so that it works
26488         when run from any working directory beneath the top-level .git/-
26489         containing directory.  Inspired by a patch from Giuseppe Scrivano,
26490         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
26491
26492         test-select: avoid warn_unused_result warnings
26493         * tests/test-select.c: Include "macros.h".
26494         ASSERT that each call to read, write, and pipe succeeds.
26495         While not technically required, also check each "close".
26496         * modules/select-tests (Files): Add tests/macros.h.
26497
26498         test-symlinkat: remove declaration of unused local
26499         * tests/test-symlinkat.c (main): Remove unused local, "buf".
26500
26501         test-inttostr: avoid shadowing warnings
26502         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
26503         and use malloc rather than the stack for the same reason as
26504         mentioned in the comment justifying the other allocation.
26505
26506 2010-10-11  Bruno Haible  <bruno@clisp.org>
26507
26508         stdlib: Allow multiple gnulib generated replacements to coexist.
26509         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
26510         Reported by Sam Steingold <sds@gnu.org>.
26511
26512 2010-10-11  Jim Meyering  <meyering@redhat.com>
26513
26514         fix a documentation typo
26515         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
26516
26517 2010-10-11  Eric Blake  <eblake@redhat.com>
26518
26519         futimens: work around Solaris 11 bug
26520         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
26521         * tests/test-futimens.h (test_futimens): Enhance, rather than
26522         weaken test.
26523         * doc/posix-functions/futimens.texi (futimens): Document the bug.
26524
26525 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
26526
26527         Indentation.
26528         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
26529         higher-level operators more to the left.
26530
26531 2010-10-11  Jim Meyering  <meyering@redhat.com>
26532
26533         test-futimens: avoid unwarranted test failure on Solaris 5.11
26534         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
26535         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
26536         because it tries to dereference the NULL name argument.
26537
26538 2010-10-11  Bruno Haible  <bruno@clisp.org>
26539
26540         Indentation.
26541         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
26542         indentation.
26543
26544 2010-10-11  Jim Meyering  <meyering@redhat.com>
26545
26546         spawn.in.h: make indentation consistent with parentheses
26547         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
26548         Make indentation consistent with parentheses.
26549
26550 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
26551
26552         Fix mismatched parens in previous commit
26553         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
26554         parens.
26555
26556 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
26557
26558         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
26559
26560         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
26561         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
26562         * lib/malloca.c: Include "verify.h".
26563         (verify1): Remove, replacing with a verify call.
26564         * lib/relocwrapper.c (verify1): Likewise.
26565         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
26566         Likewise.
26567         * modules/malloca (Depends-on): Add 'verify'.
26568         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
26569         * modules/vasnprintf (Depends-on): Add 'verify'.
26570         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26571         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26572         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26573         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26574         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26575         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26576         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26577
26578         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
26579
26580         Formerly the style was sometimes 2*X - 1, because the C standard
26581         was wrongly thought to disallow ?: in integral constant expressions.
26582         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
26583         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
26584         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
26585         * lib/stdint.in.h (_verify_intmax_size): Likewise.
26586         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
26587         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
26588         verify that time_t cannot be floating.
26589
26590 2010-10-08  Eric Blake  <eblake@redhat.com>
26591
26592         time: enforce recent POSIX ruling that time_t is integral
26593         * lib/time.in.h (__time_t_must_be_integral): Detect any
26594         problematic systems, allowing the rest of gnulib to assume POSIX.
26595
26596 2010-10-08  Jim Meyering  <meyering@redhat.com>
26597
26598         fdopendir: fix a bug on systems lacking openat and /proc support
26599         OpenBSD 4.7 is one such system.  The most noticeable effect was
26600         failure of any application making nontrivial use of fts: rm, du,
26601         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
26602           ./rm: traversal failed: `a': Bad file descriptor
26603         Debugging that, you see that even though FD 6 was closed just
26604         prior to the opendir call in fd_clone_opendir, its resulting
26605         dir->dd_fd was 8, rather than the expected value of 6:
26606
26607         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
26608         93                close (fd);
26609         (gdb) n
26610         94                dir = fd_clone_opendir (dupfd);
26611         (gdb) n
26612         95                saved_errno = errno;
26613         (gdb) p dir->dd_fd
26614         $11 = 8
26615
26616         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
26617         The problem is that on OpenBSD, fd_clone_opendir has to resort
26618         to using the old-style save/restore CWD mechanism, due to its
26619         lack of openat/proc support, and *that* would steal the FD (6)
26620         that opendir was supposed to use.
26621
26622         The fix is to squirrel away the desired FD so that save_cwd uses a
26623         different one, and then free the dest FD right before calling opendir.
26624         That guarantees opendir will use the required file descriptor.
26625
26626         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
26627
26628 2010-10-08  Bruno Haible  <bruno@clisp.org>
26629
26630         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
26631         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
26632
26633 2010-10-08  Bruno Haible  <bruno@clisp.org>
26634
26635         nanosleep: Make replacement POSIX compliant.
26636         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
26637         is out of range.
26638         Reported by Jim Meyering.
26639
26640 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
26641
26642         bootstrap: add hook for altering gnulib.mk, for Bison
26643         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
26644         the Bison bootstrapping process can rewrite file names and variables
26645         in this file before later parts of 'bootstrap' use the file.
26646         Bison wants to include lib/gnulib.mk from the top-level makefile,
26647         so it needs the file names in this file to be relative to the top
26648         level, not relative to lib; plus it needs variable names to be
26649         rewritten.
26650         (slurp): Use the new function.
26651
26652         bootstrap: reformat for readability
26653         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
26654
26655 2010-10-08  Eric Blake  <eblake@redhat.com>
26656
26657         docs: update cygwin progress
26658         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
26659         1.7.7.
26660         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
26661         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
26662         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
26663         * doc/posix-functions/carg.texi (carg): Likewise.
26664         * doc/posix-functions/cargf.texi (cargf): Likewise.
26665         * doc/posix-functions/casin.texi (casin): Likewise.
26666         * doc/posix-functions/casinf.texi (casinf): Likewise.
26667         * doc/posix-functions/casinh.texi (casinh): Likewise.
26668         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
26669         * doc/posix-functions/catan.texi (catan): Likewise.
26670         * doc/posix-functions/catanf.texi (catanf): Likewise.
26671         * doc/posix-functions/catanh.texi (catanh): Likewise.
26672         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
26673         * doc/posix-functions/ccos.texi (ccos): Likewise.
26674         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
26675         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
26676         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
26677         * doc/posix-functions/cexp.texi (cexp): Likewise.
26678         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
26679         * doc/posix-functions/cimag.texi (cimag): Likewise.
26680         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
26681         * doc/posix-functions/clog.texi (clog): Likewise.
26682         * doc/posix-functions/clogf.texi (clogf): Likewise.
26683         * doc/posix-functions/conj.texi (conj): Likewise.
26684         * doc/posix-functions/conjf.texi (conjf): Likewise.
26685         * doc/posix-functions/cpow.texi (cpow): Likewise.
26686         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
26687         * doc/posix-functions/cproj.texi (cproj): Likewise.
26688         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
26689         * doc/posix-functions/creal.texi (creal): Likewise.
26690         * doc/posix-functions/crealf.texi (crealf): Likewise.
26691         * doc/posix-functions/csin.texi (csin): Likewise.
26692         * doc/posix-functions/csinf.texi (csinf): Likewise.
26693         * doc/posix-functions/csinh.texi (csinh): Likewise.
26694         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
26695         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
26696         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
26697         * doc/posix-functions/ctan.texi (ctan): Likewise.
26698         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
26699         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
26700         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
26701         * doc/posix-headers/complex.texi (complex.h): Likewise.
26702
26703 2010-10-07  Jim Meyering  <meyering@redhat.com>
26704
26705         parse-datetime: avoid compilation failure on OpenBSD 4.7
26706         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
26707         This works around a compilation failure on OpenBSD 4.7:
26708         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
26709
26710 2010-10-07  Eric Blake  <eblake@redhat.com>
26711
26712         docs: update cygwin progress
26713         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
26714         1.7.6.
26715         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
26716         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
26717         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
26718         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
26719         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
26720         Likewise.
26721         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
26722         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
26723         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
26724         Likewise.
26725         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
26726         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
26727         Likewise.
26728         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
26729         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
26730         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
26731         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
26732         Likewise.
26733         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
26734         Likewise.
26735         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
26736
26737         docs: update parse-datetime history
26738         * doc/parse-datetime.texi (Authors of parse_datetime): Better
26739         documentation of this function's history and alternatives.
26740
26741         cygwin: use more robust version check
26742         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
26743         exclude an eventual cygwin 1.9.1.
26744         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26745         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26746         (gl_FUNC_STRCASESTR): Likewise.
26747         Reported by Bruno Haible.
26748
26749 2010-10-06  Bruno Haible  <bruno@clisp.org>
26750
26751         string, sys_select: Avoid #including large headers unless necessary.
26752         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
26753         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
26754         OSF/1, BeOS, Haiku.
26755         Reported by Jim Meyering.
26756
26757 2010-10-05  Eric Blake  <eblake@redhat.com>
26758
26759         memmem, strstr, strcasestr: fix bug with long periodic needle
26760         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
26761         periodic needle having false positive.
26762         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
26763         and cygwin 1.7.7.
26764         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
26765         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
26766         (gl_FUNC_STRCASESTR): Likewise.
26767         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
26768         * tests/test-memmem.c (main): Expose the bug.
26769         * tests/test-strcasestr.c (main): Likewise.
26770         * tests/test-strstr.c (main): Likewise.
26771         * tests/test-c-strcasestr.c (main): Likewise.
26772         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
26773         * doc/posix-functions/strstr.texi (strstr): Likewise.
26774         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
26775         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
26776
26777 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26778
26779         parse-datetime: do some more renaming
26780         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
26781         parse_datetime, not get_date.  Mention the renaming.
26782         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
26783         in comments.
26784         * m4/bison.m4: Likewise.
26785
26786 2010-10-05  Eric Blake  <eblake@redhat.com>
26787
26788         parse-datetime: better name than get_date
26789         * NEWS: Reword the deprecation notice.
26790         * modules/get_date: Rename to modules/parse-datetime.
26791         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
26792         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
26793         * lib/get_date.y: Rename to lib/parse-datetime.y.
26794         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
26795         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
26796         * doc/getdate.texi: Provide fallback wrapper.
26797         * lib/getdate.h: Move guts, and wrap...
26798         * lib/parse-datetime.h: ...new file.
26799         * lib/parse-datetime.y (get_date): Rename...
26800         (parse_datetime): ...to this.
26801         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
26802         (gl_PARSE_DATETIME): ...to this.
26803         * doc/posix-functions/getdate.texi (get_date): Provide fallback
26804         documentation.
26805         * modules/getdate (Files): Provide fallback docs and header.
26806         (Notice, Depends-on): Update references.
26807         * tests/test-parse-datetime.c: Likewise.
26808         * DEPENDENCIES: Likewise.
26809         * MODULES.html.sh (Date and time <time.h>): Likewise.
26810         * doc/parse-datetime.texi (Date input formats)
26811         (Authors of parse_datetime): Likewise.
26812         * modules/parse-datetime (Files, configure.ac, Makefile.am)
26813         (Include): Likewise.
26814         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
26815         * gnulib-tool: Likewise.
26816         * m4/bison.m4 (gl_BISON): Likewise.
26817         Suggested by Bruno Haible.
26818
26819 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
26820
26821         more ports to Solaris tr, which needs [] around ranges
26822         * gnulib-tool: Solaris tr needs [] around ranges.
26823         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26824         * tests/test-pipe-filter-gi1.c (main): Likewise.
26825         * tests/test-pipe-filter-ii1.c (main): Likewise.
26826
26827 2010-10-05  Eric Blake  <eblake@redhat.com>
26828
26829         bootstrap: fix Solaris regression
26830         * build-aux/bootstrap (check_versions): Solaris tr still needs []
26831         around ranges.
26832         Reported by Pádraig Brady.
26833
26834         bootstrap: work with pkg-config
26835         * build-aux/bootstrap (check_versions): Also transliterate - in
26836         prerequisite name.
26837         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
26838         prerequisites that were already found, to avoid confusion.
26839         Reported by Justin Clift.
26840
26841         faccessat: remove unused wrappers
26842         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
26843         presence of these wrappers dragged in -lgen on Solaris.
26844         Reported by Clemens Brogi; fix suggested by Paul Eggert.
26845
26846 2010-10-05  Jim Meyering  <meyering@redhat.com>
26847
26848         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
26849         * Makefile (sc_pragma_columns): New syntax-check rule.
26850
26851 2010-10-04  Bruno Haible  <bruno@clisp.org>
26852
26853         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
26854         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
26855         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
26856         Reported by Bruce Korb and Eric Blake.
26857
26858 2010-10-04  Bruno Haible  <bruno@clisp.org>
26859
26860         threadlib: Make option --with-libpth-prefix work.
26861         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
26862         use $LIBPTH, not just -lpth.
26863
26864 2010-10-04  Bruno Haible  <bruno@clisp.org>
26865
26866         Avoid line length limitation from HP NonStop system header files.
26867         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
26868         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
26869         * lib/ctype.in.h: Likewise.
26870         * lib/dirent.in.h: Likewise.
26871         * lib/errno.in.h: Likewise.
26872         * lib/fcntl.in.h: Likewise.
26873         * lib/float.in.h: Likewise.
26874         * lib/getopt.in.h: Likewise.
26875         * lib/iconv.in.h: Likewise.
26876         * lib/inttypes.in.h: Likewise.
26877         * lib/langinfo.in.h: Likewise.
26878         * lib/locale.in.h: Likewise.
26879         * lib/math.in.h: Likewise.
26880         * lib/netdb.in.h: Likewise.
26881         * lib/netinet_in.in.h: Likewise.
26882         * lib/poll.in.h: Likewise.
26883         * lib/pthread.in.h: Likewise.
26884         * lib/pty.in.h: Likewise.
26885         * lib/sched.in.h: Likewise.
26886         * lib/se-selinux.in.h: Likewise.
26887         * lib/search.in.h: Likewise.
26888         * lib/signal.in.h: Likewise.
26889         * lib/spawn.in.h: Likewise.
26890         * lib/stdarg.in.h: Likewise.
26891         * lib/stddef.in.h: Likewise.
26892         * lib/stdint.in.h: Likewise.
26893         * lib/stdio.in.h: Likewise.
26894         * lib/stdlib.in.h: Likewise.
26895         * lib/string.in.h: Likewise.
26896         * lib/strings.in.h: Likewise.
26897         * lib/sys_file.in.h: Likewise.
26898         * lib/sys_ioctl.in.h: Likewise.
26899         * lib/sys_select.in.h: Likewise.
26900         * lib/sys_socket.in.h: Likewise.
26901         * lib/sys_stat.in.h: Likewise.
26902         * lib/sys_time.in.h: Likewise.
26903         * lib/sys_times.in.h: Likewise.
26904         * lib/sys_utsname.in.h: Likewise.
26905         * lib/sys_wait.in.h: Likewise.
26906         * lib/sysexits.in.h: Likewise.
26907         * lib/termios.in.h: Likewise.
26908         * lib/time.in.h: Likewise.
26909         * lib/unistd.in.h: Likewise.
26910         * lib/wchar.in.h: Likewise.
26911         * lib/wctype.in.h: Likewise.
26912         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
26913         * modules/ctype (Makefile.am): Likewise.
26914         * modules/dirent (Makefile.am): Likewise.
26915         * modules/errno (Makefile.am): Likewise.
26916         * modules/fcntl-h (Makefile.am): Likewise.
26917         * modules/float (Makefile.am): Likewise.
26918         * modules/getopt-posix (Makefile.am): Likewise.
26919         * modules/iconv-h (Makefile.am): Likewise.
26920         * modules/inttypes (Makefile.am): Likewise.
26921         * modules/langinfo (Makefile.am): Likewise.
26922         * modules/locale (Makefile.am): Likewise.
26923         * modules/math (Makefile.am): Likewise.
26924         * modules/netdb (Makefile.am): Likewise.
26925         * modules/netinet_in (Makefile.am): Likewise.
26926         * modules/poll-h (Makefile.am): Likewise.
26927         * modules/pthread (Makefile.am): Likewise.
26928         * modules/pty (Makefile.am): Likewise.
26929         * modules/sched (Makefile.am): Likewise.
26930         * modules/search (Makefile.am): Likewise.
26931         * modules/selinux-h (Makefile.am): Likewise.
26932         * modules/signal (Makefile.am): Likewise.
26933         * modules/spawn (Makefile.am): Likewise.
26934         * modules/stdarg (Makefile.am): Likewise.
26935         * modules/stddef (Makefile.am): Likewise.
26936         * modules/stdint (Makefile.am): Likewise.
26937         * modules/stdio (Makefile.am): Likewise.
26938         * modules/stdlib (Makefile.am): Likewise.
26939         * modules/string (Makefile.am): Likewise.
26940         * modules/strings (Makefile.am): Likewise.
26941         * modules/sys_file (Makefile.am): Likewise.
26942         * modules/sys_ioctl (Makefile.am): Likewise.
26943         * modules/sys_select (Makefile.am): Likewise.
26944         * modules/sys_socket (Makefile.am): Likewise.
26945         * modules/sys_stat (Makefile.am): Likewise.
26946         * modules/sys_time (Makefile.am): Likewise.
26947         * modules/sys_times (Makefile.am): Likewise.
26948         * modules/sys_utsname (Makefile.am): Likewise.
26949         * modules/sys_wait (Makefile.am): Likewise.
26950         * modules/sysexits (Makefile.am): Likewise.
26951         * modules/termios (Makefile.am): Likewise.
26952         * modules/time (Makefile.am): Likewise.
26953         * modules/unistd (Makefile.am): Likewise.
26954         * modules/wchar (Makefile.am): Likewise.
26955         * modules/wctype (Makefile.am): Likewise.
26956
26957 2010-10-04  Bruno Haible  <bruno@clisp.org>
26958
26959         read-file tests: Avoid a test failure on NonStop Kernel.
26960         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
26961         a regular file.
26962         Reported by Joachim Schmitz <schmitz@hp.com>.
26963
26964 2010-10-03  Bruno Haible  <bruno@clisp.org>
26965
26966         gnulib-tool: Fixes for --create-testdir with --libtool.
26967         * gnulib-tool (func_get_automake_snippet): Don't augment
26968         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
26969         an executable.
26970         (func_create_testdir): Handle module 'alloca' like func_import.
26971         Reported by Bruce Korb <bruce.korb@gmail.com>.
26972
26973 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
26974
26975         Avoid some lines longer than 80 characters.
26976         * lib/stdint.in.h: Break long comment lines.
26977         * lib/math.in.h: Likewise.
26978         (_GL_NUM_UINT_WORDS): New macro, for readability.
26979         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
26980         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
26981         * lib/stdlib.in.h: Likewise.
26982         * lib/spawn.in.h: Likewise.
26983         * lib/sys_socket.in.h: Update an URL.
26984         * lib/sys_stat.in.h: Break long line.
26985
26986 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
26987
26988         Improve pmccabe2html.
26989         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
26990         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
26991         when the sources change. Remove the line in the HTML about "Used
26992         ranges" (which implied that there might be other unused ranges),
26993         rename "Resume" to "Summary" (easier to understand for more users).
26994         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
26995         styles, and some unnecessary blank lines.
26996
26997 2010-10-03  Bruno Haible  <bruno@clisp.org>
26998             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
26999
27000         acl: Add support for ACLs on NonStop Kernel.
27001         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
27002         Check whether the function aclsort() exists.
27003         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
27004         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
27005         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27006         (acl_nontrivial [HAVE_ACLSORT]: New function.
27007         (file_has_acl): Implement for NonStop Kernel.
27008         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27009         (qset_acl): Implement for NonStop Kernel.
27010         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
27011         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
27012         (main): Implement for NonStop Kernel.
27013         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
27014         Kernel. Handle this flavor.
27015         * tests/test-set-mode-acl.sh: Likewise.
27016         * tests/test-copy-acl.sh: Likewise.
27017         * tests/test-copy-file.sh: Likewise.
27018
27019 2010-10-03  Bruno Haible  <bruno@clisp.org>
27020
27021         Info about ACLs on NonStop Kernel.
27022         * doc/acl-resources.txt: Add info about NonStop Kernel.
27023         References by Joachim Schmitz <schmitz@hp.com>.
27024
27025 2010-10-02  Bruno Haible  <bruno@clisp.org>
27026
27027         Define missing EDQUOT on NonStop Kernel.
27028         * lib/errno.in.h (EDQUOT): Assign a value if missing.
27029         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
27030         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
27031         missing.
27032         * doc/posix-headers/errno.texi: Mention the NSK bug.
27033         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
27034         Reported by Joachim Schmitz <schmitz@hp.com>.
27035
27036 2010-10-02  Bruno Haible  <bruno@clisp.org>
27037
27038         Update doc for POSIX:2008.
27039         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
27040         Update URL of POSIX specification.
27041
27042 2010-10-02  Bruno Haible  <bruno@clisp.org>
27043
27044         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
27045         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
27046         from gnulib, not from Automake.
27047
27048 2010-10-02  Bruno Haible  <bruno@clisp.org>
27049
27050         New module 'system-posix'.
27051         * modules/system-posix: New file.
27052         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
27053         module is present.
27054         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
27055         GNULIB_SYSTEM_POSIX.
27056         * modules/stdlib (Depends-on): Remove sys_wait.
27057         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
27058         * doc/posix-functions/system.texi: Mention the new module.
27059         * doc/posix-headers/stdlib.texi: Likewise.
27060         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
27061         define test_sys_wait_macros to a no-op.
27062         Reported by Sam Steingold <sds@gnu.org>.
27063
27064 2010-09-30  Bruno Haible  <bruno@clisp.org>
27065
27066         More renaming from 'getdate' to 'get_date'.
27067         * doc/get_date.texi: Renamed from doc/getdate.texi.
27068         * modules/get_date (Files): Update.
27069         * MODULES.html.sh (Date and time <time.h>): Update.
27070         * DEPENDENCIES: Update.
27071         * gnulib-tool: Update comment.
27072         * m4/bison.m4 (gl_BISON): Likewise.
27073         * m4/get_date.m4 (gl_GET_DATE): Likewise.
27074
27075 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
27076
27077         bootstrap: support ACLOCAL_FLAGS during aclocal
27078         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
27079         can add additional -I dir for third-party .m4 files.
27080
27081 2010-09-30  Eric Blake  <eblake@redhat.com>
27082
27083         bootstrap: use glibtoolize on MacOS
27084         * build-aux/bootstrap (check_versions): Convert libtool into
27085         libtoolize.
27086         (tool search): Move libtool check earlier, and look for
27087         glibtoolize for MacOS.
27088         (gnulib_tool_options): Auto-add --libtool when appropriate.
27089         Reported by Justin Clift.
27090
27091         poll: fix typo that broke test on MacOS
27092         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
27093         Reported by Justin Clift.
27094
27095         getdate: rename to get_date
27096         Note: getdate.h is not renamed, to minimize client impact.
27097         * modules/getdate: Mark obsolete.  Move old contents...
27098         * modules/get_date: ...to new module name.
27099         * modules/getdate-tests: Move...
27100         * modules/get_date-tests: ...here.
27101         * m4/getdate.m4: Move...
27102         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
27103         * lib/getdate.y: Move...
27104         * lib/get_date.y: ...here.
27105         * tests/test-getdate.c: Move...
27106         * tests/test-get_date.c: ...here.
27107         * doc/posix-functions/getdate.texi (getdate): Update name.
27108         * NEWS: Mention the change.
27109
27110 2010-09-29  Bruno Haible  <bruno@clisp.org>
27111
27112         Separate the module 'waitpid' from the module 'sys_wait'.
27113         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
27114         present.
27115         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
27116         gl_MODULE_INDICATOR_FOR_TESTS.
27117         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
27118         * modules/sys_wait (Depends-on): Remove waitpid.
27119         (Makefile.am): Substitute GNULIB_WAITPID.
27120         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
27121         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
27122         signature only if the 'waitpid' module is present.
27123         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
27124         * NEWS: Mention the change.
27125         * modules/grantpt (Depends-on): Add waitpid.
27126         * modules/wait-process (Depends-on): Likewise.
27127
27128 2010-09-29  Bruno Haible  <bruno@clisp.org>
27129
27130         More tests for module 'sys_wait'.
27131         * modules/sys_wait-c++-tests: New file.
27132         * tests/test-sys_wait-c++.cc: New file.
27133         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
27134         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27135
27136 2010-09-29  Bruno Haible  <bruno@clisp.org>
27137
27138         New module 'waitpid'.
27139         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
27140         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
27141         Don't include <process.h>.
27142         (waitpid): Declare only, using modern idiom.
27143         * m4/waitpid.m4: New file.
27144         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
27145         * modules/waitpid: New file.
27146         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
27147         (Makefile.am): Update.
27148         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
27149
27150 2010-09-28  Bruno Haible  <bruno@clisp.org>
27151
27152         poll: Assume ANSI C.
27153         * lib/poll.c (poll): Use an ANSI C declaration.
27154
27155 2010-09-28  Bruno Haible  <bruno@clisp.org>
27156
27157         poll-h: Create poll.h on all platforms.
27158         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
27159         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
27160         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
27161         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
27162         (gl_REPLACE_POLL_H): Don't set POLL_H.
27163         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
27164         * modules/poll-h (Depends-on): Add include_next.
27165         (Makefile.am): Create poll.h unconditionally. Substitute also
27166         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
27167
27168 2010-09-28  Bruno Haible  <bruno@clisp.org>
27169
27170         Tests for module 'poll-h'.
27171         * modules/poll-h-c++-tests: New file.
27172         * tests/test-poll-h-c++.cc: New file.
27173
27174         Tests for module 'poll-h'.
27175         * modules/poll-h-tests: New file.
27176         * tests/test-poll-h.c: New file.
27177
27178 2010-09-28  Bruno Haible  <bruno@clisp.org>
27179
27180         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
27181         * modules/poll-h (Depends-on): Add 'extensions'.
27182
27183 2010-09-28  Bruno Haible  <bruno@clisp.org>
27184
27185         New module 'poll-h'.
27186         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
27187         (poll): Use modern idiom.
27188         * modules/poll-h: New file.
27189         * modules/poll (Files): Remove lib/poll.in.h.
27190         (Depends-on): Add poll-h.
27191         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
27192         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
27193         * m4/poll_h.m4: New file.
27194         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
27195         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
27196         and invoke gl_REPLACE_POLL_H.
27197         * lib/poll.c: Use common idiom.
27198         * tests/test-poll.c: Likewise.
27199         * doc/posix-headers/poll.texi: Mention the poll-h module.
27200         Suggested by Eric Blake.
27201
27202 2010-09-26  Bruno Haible  <bruno@clisp.org>
27203
27204         sys_wait: Implement WSTOPSIG.
27205         * lib/sys_wait.in.h (WSTOPSIG): New macro.
27206         Reported by Simon Josefsson.
27207
27208 2010-09-26  Simon Josefsson  <simon@josefsson.org>
27209
27210         stdlib, sys_wait: Avoid compilation error on mingw.
27211         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
27212
27213 2010-09-26  Bruno Haible  <bruno@clisp.org>
27214
27215         stdlib tests: Avoid code duplication.
27216         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
27217         * modules/sys_wait-tests (Files): Likewise.
27218         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
27219         * tests/test-stdlib.c: Include test-sys_wait.h.
27220         (main): Invoke test_sys_wait_macros.
27221         * tests/test-sys_wait.c: Include test-sys_wait.h.
27222         (main): Invoke test_sys_wait_macros.
27223
27224 2010-09-25  Simon Josefsson  <simon@josefsson.org>
27225
27226         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
27227         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
27228         sure Windows sockets are working before calling getaddrinfo.
27229         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
27230         * doc/gnulib.texi (Windows sockets): Fix typo.
27231
27232 2010-09-25  Bruno Haible  <bruno@clisp.org>
27233
27234         Tests for module 'regex-quote'.
27235         * modules/regex-quote-tests: New file.
27236         * tests/test-regex-quote.c: New file.
27237
27238         New module 'regex-quote'.
27239         * lib/regex-quote.h: New file.
27240         * lib/regex-quote.c: New file.
27241         * modules/regex-quote: New file.
27242         Suggested by Reuben Thomas <rrt@sc3d.org>.
27243
27244 2010-09-24  Bruno Haible  <bruno@clisp.org>
27245
27246         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
27247         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
27248
27249 2010-09-23  Bruno Haible  <bruno@clisp.org>
27250
27251         setenv: Relax license.
27252         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
27253         Blake.
27254         Requested by Eric Blake.
27255
27256 2010-09-22  Bruno Haible  <bruno@clisp.org>
27257
27258         termios: Relax license.
27259         * modules/termios (License): Change to LGPLv2+.
27260         Requested by Eric Blake.
27261
27262 2010-09-22  Bruno Haible  <bruno@clisp.org>
27263
27264         threadlib: Allow the package to change the default to 'no'.
27265         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
27266         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
27267         Reported by Paul Eggert.
27268
27269 2010-09-22  Pádraig Brady  <P@draigbrady.com>
27270             Bruno Haible  <bruno@clisp.org>
27271
27272         Fix endless loop in mbmemcasecoll.
27273         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
27274         byte.
27275         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
27276
27277 2010-09-22  Bruno Haible  <bruno@clisp.org>
27278
27279         Tests for module 'memcoll'.
27280         * modules/memcoll-tests: New file.
27281         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
27282
27283         memcoll, xmemcoll: Clarify size vs. length.
27284         * modules/memcoll.c (memcoll0): Clarify specification.
27285         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
27286         passed to collate_error.
27287
27288 2010-09-22  Bruno Haible  <bruno@clisp.org>
27289
27290         Tests for module 'memcasecmp'.
27291         * modules/memcasecmp-tests: New file.
27292         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
27293
27294 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27295
27296         * lib/pthread.in.h: Add split double-inclusion guard, and include
27297         system <pthread.h> if there is one.  Use @@-style as in other
27298         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
27299         pthread.h doesn't.
27300         (pthread_mutexattr_destroy, pthread_mutexattr_init):
27301         (pthread_mutexattr_settype, pthread_mutex_trylock):
27302         New static inline functions, if there's no system <pthread.h>.
27303         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
27304         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
27305         Approximate with mutexes if the system lacks spinlocks, as in
27306         MacOS.
27307         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
27308         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
27309         @@-style.  Check for spinlocks separately.
27310         (gl_PTHREAD_DEFAULTS): New macro.
27311         * modules/pthread: Redo to use a more typical style for in.h files.
27312
27313 2010-09-21  Eric Blake  <eblake@redhat.com>
27314
27315         net_if: enhance tests
27316         * tests/test-net_if.c (main): Move signature checks earlier.
27317         Print failures to stderr.
27318         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
27319         Document the bug that we do not yet fix.
27320
27321 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27322
27323         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
27324         about gnulib, not GSS.
27325
27326 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
27327
27328         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
27329         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
27330         for Emacs.
27331         * build-aux/pmccabe2html: Make Makefile.am example code more
27332         cut-and-paste friendly.
27333
27334 2010-09-21  Simon Josefsson  <simon@josefsson.org>
27335
27336         * tests/test-net_if.c: New file.
27337         * modules/net_if-tests: New file.
27338
27339 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
27340
27341         pthread: add pthread_spin_destroy
27342         * lib/pthread.in.h (pthread_spin_destroy): New function.
27343
27344 2010-09-19  Bruno Haible  <bruno@clisp.org>
27345
27346         gnulib-tool: Fix --help output.
27347         * gnulib-tool (func_usage): Fix help message.
27348         Reported by Reuben Thomas <rrt@sc3d.org>.
27349
27350 2010-09-18  Jim Meyering  <meyering@redhat.com>
27351
27352         maint.mk: avoid unexpanded \n in two diagnostics
27353         * top/maint.mk (sc_prohibit_always_true_header_tests):
27354         Don't use a literal \n in a halt=... assignment.  It would not be
27355         expanded, and the two \n bytes would appear in the diagnostic output
27356         rather than the desired newline.  Use halt=$$(printf ... instead.
27357         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
27358
27359 2010-09-18  Bruno Haible  <bruno@clisp.org>
27360
27361         netinet_in: Doc tweak.
27362         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
27363         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27364
27365 2010-09-18  Jim Meyering  <meyering@redhat.com>
27366
27367         init.sh: correct an outdated comment
27368         * tests/init.sh (create_exe_shims_):  s/function/alias/
27369
27370         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
27371         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
27372         a file named "*.exe" is removed between the glob expansion and the
27373         processing of that oddly named file.
27374
27375 2010-09-17  Eric Blake  <eblake@redhat.com>
27376
27377         mirbsd: add some more support
27378         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
27379         in BSD family.
27380         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
27381         devices as OpenBSD.
27382         * m4/host-os.m4 (mirbsd): Add MirBSD.
27383
27384         tests: fix unportable assumption on sys/wait.h
27385         * tests/test-sys_wait.c (main): Relax test.
27386         * tests/test-stdlib.c (main): Likewise.
27387
27388         init.sh: accommodate directory with no .exes
27389         * tests/init.sh: Accomodate directory containing only scripts.
27390
27391         tests: avoid compiler warning
27392         * tests/test-stdlib.c (main): Use the variable.
27393
27394         fdutimens, fdutimensat: update signature, again
27395         * lib/utimens.h (gl_futimens): Delete, and move signature...
27396         (fdutimens): ...here.
27397         (fdutimensat): Rearrange signature.
27398         (lutimensat): Rename variable for clarity.
27399         * lib/fdutimensat.c (fdutimensat): Update signature.
27400         * lib/utimens.c (fdutimens): Likewise.
27401         (gl_futimens): Delete.
27402         (utimens, lutimens): Update callers.
27403         * lib/futimens.c (futimens): Likewise.
27404         * tests/test-fdutimensat.c: Likewise.
27405         * tests/test-utimens.c: Likewise.
27406         * tests/test-futimens.h: Update comment.
27407         * NEWS: Mention this.
27408         Suggested by Paul Eggert.
27409
27410 2010-09-17  Bruno Haible  <bruno@clisp.org>
27411
27412         Take over the maintenance of some older macros from Autoconf.
27413         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
27414         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
27415         GNU Autoconf.
27416         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
27417         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
27418
27419 2010-09-17  Eric Blake  <eblake@redhat.com>
27420
27421         fdutimensat: drop atflag validation
27422         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
27423         with valid fd, to close a race scenario where futimens is
27424         unsupported and FILE was replaced by a symlink.
27425         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
27426         accordingly.
27427         Suggested by Paul Eggert.
27428
27429 2010-09-16  Bruno Haible  <bruno@clisp.org>
27430
27431         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
27432         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
27433
27434 2010-09-16  Bruno Haible  <bruno@clisp.org>
27435
27436         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
27437         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
27438         login_tty exists.
27439         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27440
27441 2010-09-16  Bruno Haible  <bruno@clisp.org>
27442
27443         login_tty: Make the replacement code work on BSD systems.
27444         * lib/login_tty.c: Include <sys/ioctl.h>.
27445         (login_tty): Use ioctl TIOCSCTTY when available.
27446         * modules/login_tty (Depends-on): Add sys_ioctl.
27447         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27448
27449 2010-09-16  Bruno Haible  <bruno@clisp.org>
27450
27451         login_tty: Stricter unit test.
27452         * modules/login_tty-tests (Depends-on): Add tcgetsid.
27453         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
27454         and tcgetsid() after login_tty.
27455         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27456
27457 2010-09-16  Bruno Haible  <bruno@clisp.org>
27458
27459         New module 'tcgetsid'.
27460         * lib/tcgetsid.c: New file.
27461         * m4/tcgetsid.m4: New file.
27462         * modules/tcgetsid: New file.
27463         * modules/termios (Depends-on): Add c++defs, warn-on-use.
27464         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
27465         GNULIB_TCGETSID, HAVE_TCGETSID.
27466         * lib/termios.in.h: Include <sys/types.h>.
27467         (tcgetsid): New declaration.
27468         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
27469         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
27470         * doc/posix-functions/tcgetsid.texi: Mention the new module.
27471         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
27472
27473 2010-09-16  Bruno Haible  <bruno@clisp.org>
27474
27475         Tests for module 'termios'.
27476         * modules/termios-c++-tests: New file.
27477         * modules/termios-tests: New file.
27478         * tests/test-termios-c++.cc: New file.
27479         * tests/test-termios.c: New file.
27480
27481         New module 'termios'.
27482         * modules/termios: New file.
27483         * lib/termios.in.h: New file.
27484         * m4/termios_h.m4: New file.
27485         * doc/posix-headers/termios.texi: Mention the new module.
27486
27487 2010-09-16  Eric Blake  <eblake@redhat.com>
27488
27489         fdutimensat: add an atflag parameter
27490         * lib/fdutimensat.c (fdutimensat): Add new parameter.
27491         * lib/utimens.h (fdutimensat): Update prototype.
27492         * tests/test-fdutimensat.c: Adjust test to match.
27493         * NEWS: Document the change.
27494         Suggested by Paul Eggert.
27495
27496 2010-09-16  Bruno Haible  <bruno@clisp.org>
27497
27498         Fix typos in comments.
27499         * lib/striconveh.h: Fix typo in comment.
27500         * lib/login_tty.c (login_tty): Likewise.
27501
27502 2010-09-15  Bruno Haible  <bruno@clisp.org>
27503
27504         stdlib: clarify MirBSD WEXITSTATUS bug
27505         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
27506         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27507
27508 2010-09-15  Eric Blake  <eblake@redhat.com>
27509
27510         stdlib: work around MirBSD WEXITSTATUS bug
27511         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
27512         * modules/stdlib (Depends-on): Add sys_wait.
27513         * tests/test-sys_wait.c (main): Enhance test.
27514         * tests/test-stdlib.c (main): Likewise.
27515         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
27516
27517         docs: mention MacOS issue with WEXITSTATUS(constant)
27518         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
27519         issue.
27520         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27521
27522         strnlen: add tests
27523         * modules/strnlen-tests: New file.
27524         * tests/test-strnlen.c: Likewise.
27525
27526 2010-09-14  Bruno Haible  <bruno@clisp.org>
27527
27528         unistr/base: Avoid link errors when module 'libunistring' is also used.
27529         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
27530         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
27531         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
27532         Declare also when HAVE_LIBUNISTRING is set.
27533         Reported by Pádraig Brady <P@draigbrady.com>.
27534
27535 2010-09-14  Eric Blake  <eblake@redhat.com>
27536
27537         test-rawmemchr: make more robust
27538         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
27539         (Depends-on, configure.ac): Add needed prerequisites to use it.
27540         * modules/memchr-tests (Files, Depends-on, configure.ac):
27541         Likewise, to avoid implicit reliance on memchr module prereqs.
27542         * tests/test-memchr.c (main): Ensure proper masking.
27543         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
27544         reads.
27545
27546         memchr: detect glibc Alpha bug
27547         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
27548         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
27549         Alpha.
27550         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
27551         * tests/test-memchr.c (main): Enhance test.
27552         Reported by Nelson H. F. Beebe.
27553
27554 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27555
27556         fts, getcwd, glob: audit for dirfd returning -1
27557         * lib/fts.c (opendir): Remove #define; no longer used.
27558         (opendirat): New arg PDIR_FD.  All callers changed.
27559         (fts_build, _opendir2): Use new opendirat to avoid the need for
27560         dirfd, or for checking whether dirfd returns a negative value.
27561         Don't use opendir; always use openat followed by fdopendir.
27562         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
27563         it.
27564         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
27565         returns -1 here.
27566         * modules/fts (Depends-on): Remove dirfd.
27567         * modules/getcwd (Depends-on): Likewise.
27568
27569 2010-09-13  Eric Blake  <eblake@redhat.com>
27570
27571         float: fix broken MirBSD header
27572         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
27573         * doc/posix-headers/float.texi (float.h): Document it.
27574
27575 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27576
27577         fts: use O_NOFOLLOW to avoid race condition when opening a directory
27578         * lib/fts.c (opendirat): New arg extra_flags.
27579         (__opendir2): Use it to avoid following symlinks when opening
27580         a directory, if symlinks are not supposed to be followed.  See
27581         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
27582
27583         fdopendir: preserve argument fd before returning
27584         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
27585         (fdopendir_with_dup, fd_clone_opendir): New static functions.
27586         (fdopendir): Use them, arranging for FD to be open to the same
27587         directory that it was when it started.  (It might be temporarily
27588         closed while fdopendir is running, so this not thread- or
27589         signal-safe.)  Be careful to do the right thing even when file
27590         descriptors are scarce and dup fails with errno == EMFILE.  See
27591         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
27592
27593 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
27594
27595         regex: Pass the system regex if its only problem is 32-bit regoff_t.
27596         * NEWS: Document change.
27597         * m4/regex.m4: Disable test for regoff_t size.
27598
27599 2010-09-13  Jim Meyering  <meyering@redhat.com>
27600
27601         fts: don't operate on an invalid file descriptor after failed dup
27602         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
27603         negative file descriptor.
27604
27605 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
27606
27607         savedir: add streamsavedir, deprecate fdsavedir
27608         * NEWS: Mention deprecation of fdsavedir.
27609         * lib/savedir.c (streamsavedir): New extern function, whose name
27610         ends in "savedir" to be consistent with the others.  This differs
27611         from savedirstream in that it doesn't close its argument.  The
27612         next version of GNU tar will use this instead of fdsavedir, to
27613         avoid some race conditions and conserve file descriptors.
27614         (savedirstream): Reimplement as a wrapper around streamsavedir.
27615         (fdsavedir): Add a comment deprecating this function.  As far as
27616         I know, only GNU tar used it, and GNU tar doesn't need it any more.
27617         * lib/savedir.h (streamsavedir): New decl.
27618         (fdsavedir): Add a comment deprecating this.
27619
27620 2010-09-10  Bruno Haible  <bruno@clisp.org>
27621
27622         langinfo: Fix last commit.
27623         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
27624         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
27625         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27626
27627 2010-09-10  Bruno Haible  <bruno@clisp.org>
27628
27629         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
27630         * lib/progreloc.c (O_EXEC): Define fallback.
27631
27632 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
27633
27634         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
27635         * NEWS: Document recent changes to fcntl-h.
27636         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
27637         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
27638         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
27639         Similarly for O_SEARCH; this last was already true, but not documented.
27640         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
27641         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
27642         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
27643         Likewise.
27644         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
27645         is zero, not whether it is defined.
27646         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
27647         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
27648         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
27649
27650 2010-09-10  Bruno Haible  <bruno@clisp.org>
27651
27652         langinfo, nl_langinfo: Fix for IRIX 5.3.
27653         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
27654         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
27655         HAVE_LANGINFO_YESEXPR.
27656         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
27657         HAVE_LANGINFO_YESEXPR.
27658         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
27659         HAVE_LANGINFO_T_FMT_AMPM is 0.
27660         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
27661         HAVE_LANGINFO_YESEXPR is 0.
27662         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
27663         NOEXPR.
27664         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
27665         * doc/posix-functions/nl_langinfo.texi: Likewise.
27666         Reported by Eric Blake.
27667
27668 2010-09-10  Bruno Haible  <bruno@clisp.org>
27669
27670         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
27671         * doc/glibc-functions/login_tty.texi: Mention the include file problem
27672         on FreeBSD 8.0 and OpenBSD 4.6.
27673         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
27674         * m4/pty_h.m4 (gl_PTY_H): Likewise.
27675         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
27676         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
27677         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
27678         ac_includes_default.
27679         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
27680
27681 2010-09-09  Eric Blake  <eblake@redhat.com>
27682
27683         strsignal: work around NetBSD bug
27684         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
27685         * lib/string.in.h (includes): Likewise.
27686         * doc/posix-functions/strsignal.texi (strsignal): Document the
27687         bug.
27688         Reported by Nelson H. F. Beebe.
27689
27690         gnulib-tool: work with NetBSD /bin/sh
27691         * gnulib-tool (func_cache_var, func_cache_lookup_module)
27692         (func_get_description, func_get_comment, func_get_status)
27693         (func_get_notice, func_get_applicability, func_get_filelist)
27694         (func_get_dependencies, func_get_autoconf_early_snippet)
27695         (func_get_autoconf_snippet, func_get_automake_snippet)
27696         (func_get_include_directive, func_get_link_directive)
27697         (func_get_license, func_get_maintainer, func_import): Avoid
27698         shell syntax errors from parsing syntax extensions.
27699
27700 2010-09-09  Bruno Haible  <bruno@clisp.org>
27701
27702         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27703         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
27704         a reliable way to determine whether the 'alias' command works.
27705
27706 2010-09-08  Jim Meyering  <meyering@redhat.com>
27707
27708         init.sh: penalize a set-x-impaired shell; don't disqualify it
27709         * tests/init.sh: Too many shells corrupt application stderr when
27710         you set -x, so we can't afford to disqualify them, since at least
27711         on Irix-6.5, that would disqualify all bourne shells.
27712         Instead, use a two-pass approach.
27713         On the first pass, try to find a shell that meets the stricter
27714         condition that set -x does not corrupt stderr.
27715         If no shell meets the stricter condition, retest each candidate
27716         shell, but without that extra condition.  Finally, when
27717         VERBOSE=yes is requested and set -x might cause trouble, simply
27718         issue a warning and refrain from enabling debug output.
27719
27720 2010-09-08  Eric Blake  <eblake@redhat.com>
27721
27722         unsetenv: fix OpenBSD bug
27723         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
27724         * doc/posix-functions/unsetenv.texi (unsetenv): Update
27725         documentation.
27726         Reported by Jim Meyering.
27727
27728         strtod: work around IRIX 6.5 bug
27729         * lib/strtod.c (strtod): Reparse number on shorter string if
27730         exponent parse was invalid.
27731         * tests/test-strtod.c (main): Add check for "0x1p 2".
27732         Reported by Tom G. Christensen.
27733
27734         getopt: optimize previous patch
27735         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
27736         empty variable.  Speed up awk script.
27737         Reported by Paolo Bonzini.
27738
27739 2010-09-08  Jim Meyering  <meyering@redhat.com>
27740
27741         test.sh: disqualify shells for which set -x corrupts stderr
27742         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
27743         and OpenBSD 4.7.  They make it so with "set -x", environment settings
27744         appear in stderr output.  For example, this command:
27745             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
27746         prints "P=1" on those two systems:
27747
27748 2010-09-08  Bruno Haible  <bruno@clisp.org>
27749
27750         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
27751         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
27752         commands, because some shells ignore redirections when there is an
27753         error in the command lookup.
27754         Reported by Eric Blake.
27755
27756 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
27757
27758         * lib/regex.h: Fix a mention of `regex_compile' (should be
27759         `re_compile_pattern').
27760         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
27761         (re_set_registers): Correct name of parameter in comment.
27762
27763         * doc/regex.texi: Add documentation for missing syntax flags.
27764         Remove commented-out documentation of defunct syntax option
27765         RE_NO_EMPTY_ALTS.
27766         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
27767         Add documentation of re_set_registers.
27768         Document trick to re-use a pattern buffer by setting fastmap manually.
27769         Update documentation of struct re_pattern_buffer per public members.
27770         Uncomment documentation of equivalence class operators and
27771         collating symbol operators, since they are now implemented,
27772         Explain leftmost-longest matching in relation to alternatives.
27773         Tidy documentation of substring matching.
27774         Remove POSIX documentation, which is done better in
27775         glibc, and refer the reader there. Keep BSD API documentation, as
27776         that is not readily available elsewhere.
27777
27778 2010-09-07  Eric Blake  <eblake@redhat.com>
27779
27780         getopt: handle POSIXLY_CORRECT set but not exported
27781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
27782         export state of POSIXLY_CORRECT, due to bash set -o posix.
27783         Reported by Dustin J. Mitchell.
27784
27785 2010-09-05  Bruno Haible  <bruno@clisp.org>
27786
27787         gnulib-tool: Highlight the changed options.
27788         * gnulib-tool (func_usage): Display the --import, --add-import,
27789         --remove-import explanations in bold font.
27790
27791 2010-09-06  Karl Berry  <karl@gnu.org>
27792
27793         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
27794
27795 2010-09-05  Bruno Haible  <bruno@clisp.org>
27796
27797         uniwidth/width: Update comment.
27798         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
27799         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
27800
27801 2010-09-05  Bruno Haible  <bruno@clisp.org>
27802
27803         isinf, isnan: Relax license.
27804         * modules/isinf (License): Change from GPL to LGPL, with consent from
27805         Ben Pfaff.
27806         * modules/isnan (License): Likewise.
27807         Requested by Ludovic Courtès.
27808
27809 2010-09-04  Bruno Haible  <bruno@clisp.org>
27810
27811         gnulib-tool: Help migration from --import to --add-import or --update.
27812         * gnulib-tool: Emit a verbose error message when --import is used
27813         without any module name.
27814
27815 2010-09-04  Bruno Haible  <bruno@clisp.org>
27816
27817         Update doc about gnulib-tool.
27818         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
27819         'gnulib-tool --update' in more detail.
27820         Reported by Eric Blake.
27821
27822 2010-09-04  Bruno Haible  <bruno@clisp.org>
27823
27824         gnulib-tool: Change --import. New options --add/remove-import.
27825         * gnulib-tool: New options --add-import, --remove-import.
27826         (func_usage): Document them.
27827         (have_associative): Define always.
27828         (func_import): In import mode, don't merge the specified settings with
27829         the cached settings. Implement remove-import mode.
27830         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
27831         Explain when to use them versus --import.
27832         (Simple update): Use --add-import instead of --import.
27833         * NEWS: Mention the change.
27834
27835 2010-09-04  Bruno Haible  <bruno@clisp.org>
27836
27837         * doc/gnulib-tool.texi (Initial import): Update paragraph about
27838         separate gnulib.mk.
27839
27840 2010-09-04  Bruno Haible  <bruno@clisp.org>
27841
27842         gnulib-tool: Don't talk about CVS any more.
27843         * gnulib-tool (func_usage, func_import): Write "version control"
27844         instead of CVS.
27845
27846 2010-09-04  Jim Meyering  <meyering@redhat.com>
27847
27848         maint.mk: avoid obscure sc_copyright_check failure in coreutils
27849         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
27850         false positives (whose names may be ill-chosen) when searching
27851         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
27852         would cause a false-positive.
27853
27854         avoid coreutils "make distcheck" failure
27855         Coreutils tests with an absolute build directory name that contains
27856         a space.  Not quoting this directory name caused a failure.
27857         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
27858         * tests/test-vc-list-files-cvs.sh: Likewise.
27859
27860 2010-09-04  Bruno Haible  <bruno@clisp.org>
27861
27862         gnulib-tool: Avoid error when run in a package without Makefile.am.
27863         * gnulib-tool: When collecting the m4dirs in a package that does not
27864         have a Makefile.am, eliminate those directories that contain no
27865         gnulib-cache.m4. Fix expression that counts these directories.
27866
27867 2010-09-04  Bruno Haible  <bruno@clisp.org>
27868
27869         update-copyright test: Improve output when perl is missing or too old.
27870         * tests/test-update-copyright.sh: Move test of Perl version down after
27871         the test whether Perl exists. Provide an explanation relating Perl's
27872         error message to Automake's SKIP: message.
27873
27874 2010-09-04  Bruno Haible  <bruno@clisp.org>
27875
27876         Don't augment PATH in TESTS_ENVIRONMENT.
27877         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
27878         set abs_aux_dir instead of augmenting PATH.
27879         * modules/vc-list-files-tests (Makefile.am): Likewise.
27880         * tests/test-update-copyright.sh: Augment PATH here.
27881         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
27882         path_prepend_.
27883         * tests/test-vc-list-files-git.sh: Likewise.
27884
27885 2010-09-04  Jim Meyering  <meyering@redhat.com>
27886
27887         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
27888         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
27889
27890 2010-09-04  Bruno Haible  <bruno@clisp.org>
27891
27892         strdup: Fix compilation error in C++ mode.
27893         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
27894         the macro.
27895
27896 2010-09-04  Bruno Haible  <bruno@clisp.org>
27897
27898         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
27899         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
27900         macro into a function.
27901         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27902
27903 2010-09-04  Bruno Haible  <bruno@clisp.org>
27904
27905         Set PATH_SEPARATOR the same way autoconf does.
27906         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
27907         the value of PATH_SEPARATOR the same way autoconf-generated configure
27908         scripts do.
27909         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
27910         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
27911
27912 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
27913
27914         Set PATH_SEPARATOR the same way autoconf does.
27915         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
27916         the same way autoconf-generated configure scripts do.
27917         * posix-modules: Likewise.
27918
27919 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
27920
27921         hash: fix safe_hasher const typo
27922         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
27923         const; otherwise, there is a type error later.
27924
27925 2010-09-02  Jim Meyering  <meyering@redhat.com>
27926
27927         test-update-copyright.sh: require perl 5.8.0
27928         * tests/test-update-copyright.sh: Require 5.8.0,
27929         which Tom G. Christensen has confirmed is adequate,
27930         while 5.6.1 is not.
27931
27932 2010-09-02  Eric Blake  <eblake@redhat.com>
27933
27934         tests: init.sh improvements for re-exec'ing with zsh
27935         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
27936         -vx through shell re-exec.
27937         Reported by Tom G. Christensen.
27938
27939         wctype: fix typo in previous commit
27940         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
27941         Reported by Ludovic Courtès.
27942
27943 2010-09-02  Jim Meyering  <meyering@redhat.com>
27944
27945         test-update-copyright.sh: skip test if Perl is too old
27946         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
27947         Reported by Tom G. Christensen.
27948
27949 2010-09-02  Bruno Haible  <bruno@clisp.org>
27950
27951         wctype: Avoid compilation error on IRIX 6.5.30.
27952         * lib/wctype.in.h (iswblank): Declare with a replacement if
27953         REPLACE_ISWBLANK is set.
27954         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
27955         declared. Set REPLACE_ISWBLANK.
27956         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
27957         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
27958         * doc/posix-headers/wctype.texi: Likewise.
27959         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27960
27961 2010-09-01  Bruno Haible  <bruno@clisp.org>
27962
27963         New module 'socketlib'.
27964         * modules/socketlib: New file.
27965         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
27966         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
27967         * modules/sockets (Depends-on): Add socketlib.
27968         Suggested by Sam Steingold <sds@gnu.org>.
27969
27970 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
27971
27972         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
27973
27974         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
27975         when one needs search access to a directory but not read access.
27976         On systems where it is available, it works in some cases where
27977         O_RDONLY does not, namely on directories that are searchable but
27978         not readable, and which need only to be searchable.  If O_SEARCH
27979         is not available, fall back to the traditional method of using
27980         O_RDONLY.
27981
27982         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
27983         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
27984         when opening a directory that needs only to be searchable.
27985         * lib/chdir-safer.c (chdir_no_follow): Likewise.
27986         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
27987         * lib/openat-proc.c (openat_proc_name): Likewise.
27988         * lib/openat.c (openat_needs_fchdir): Likewise.
27989         * lib/save-cwd.c (save_cwd): Likewise.
27990         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
27991
27992 2010-08-28  Bruno Haible  <bruno@clisp.org>
27993
27994         New module 'host-cpu-c-abi'.
27995         * modules/host-cpu-c-abi: New file.
27996         * m4/host-cpu-c-abi.m4: New file, based on part of
27997         clisp/src/m4/general.m4.
27998         Requested by Sam Steingold <sds@gnu.org>.
27999
28000 2010-08-31  Eric Blake  <eblake@redhat.com>
28001         and Jim Meyering  <meyering@redhat.com>
28002
28003         hash: factor, and guard against misbehaving hasher function
28004         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
28005         of table->hasher's return value.  Also protect against a hash value
28006         so large that adding it to table->bucket results in a NULL pointer.
28007         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
28008         Use it in place of open-coded check-and-abort.
28009
28010 2010-08-30  Bruno Haible  <bruno@clisp.org>
28011
28012         hash: silence spurious clang warning
28013         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
28014         Reported by Eric Blake.
28015
28016 2010-08-30  Eric Blake  <eblake@redhat.com>
28017
28018         strstr, memmem, strcasestr: avoid leaked shell message
28019         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
28020         FreeBSD.
28021         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28022         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28023
28024         tests: silence clang warning
28025         * tests/test-malloca.c (do_allocation): Avoid dead store.
28026
28027 2010-08-29  Bruno Haible  <bruno@clisp.org>
28028
28029         gettext: Fix recent mistake.
28030         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
28031
28032 2010-08-29  Bruno Haible  <bruno@clisp.org>
28033
28034         selinux-h: Offer a --without-selinux option.
28035         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
28036         --without-selinux was specified, skip all tests and define
28037         HAVE_SELINUX_SELINUX_H to 0.
28038         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
28039         set LIB_SELINUX to empty.
28040         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
28041         gl_LIBSELINUX. If --without-selinux was specified, replace
28042         selinux/context.h.
28043         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
28044
28045 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28046             Bruno Haible  <bruno@clisp.org>
28047
28048         Make the module 'realloc-gnu' work again on AIX and OSF/1.
28049         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
28050         of HAVE_REALLOC.
28051         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
28052         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
28053         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
28054         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28055
28056 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28057             Bruno Haible  <bruno@clisp.org>
28058
28059         Make the module 'calloc-gnu' work again on AIX and OSF/1.
28060         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
28061         HAVE_CALLOC.
28062         * lib/xmalloc.c: Update accordingly.
28063         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
28064         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
28065         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
28066
28067 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
28068             Bruno Haible  <bruno@clisp.org>
28069
28070         Make the module 'malloc-gnu' work again on AIX and OSF/1.
28071         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
28072         HAVE_MALLOC.
28073         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
28074         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
28075         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
28076
28077 2010-08-29  Bruno Haible  <bruno@clisp.org>
28078
28079         Update modules list.
28080         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
28081         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
28082         (String handling <string.h>): Add astrxfrm.
28083         (File system functions): Add readlinkat.
28084
28085 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28086
28087         Tests for module 'realloc-gnu'.
28088         * modules/realloc-gnu-tests: New file.
28089         * tests/test-realloc-gnu.c: New file.
28090
28091         Tests for module 'calloc-gnu'.
28092         * modules/calloc-gnu-tests: New file.
28093         * tests/test-calloc-gnu.c: New file.
28094
28095         Tests for module 'malloc-gnu'.
28096         * modules/malloc-gnu-tests: New file.
28097         * tests/test-malloc-gnu.c: New file.
28098
28099 2010-08-28  Bruno Haible  <bruno@clisp.org>
28100
28101         Rename module 'realloc' -> 'realloc-gnu'.
28102         * modules/realloc-gnu: New file, copied from modules/realloc.
28103         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
28104         obsolete.
28105         * modules/mgetgroups (Depends-on): Update.
28106         * doc/posix-functions/realloc.texi: Update.
28107         * NEWS: Mention the change.
28108
28109         Rename module 'calloc' -> 'calloc-gnu'.
28110         * modules/calloc-gnu: New file, copied from modules/calloc.
28111         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
28112         obsolete.
28113         * doc/posix-functions/calloc.texi: Update.
28114         * NEWS: Mention the change.
28115
28116         Rename module 'malloc' -> 'malloc-gnu'.
28117         * modules/malloc-gnu: New file, copied from modules/malloc.
28118         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
28119         obsolete.
28120         * modules/argp (Depends-on): Update.
28121         * modules/regex (Depends-on): Update.
28122         * doc/posix-functions/malloc.texi: Update.
28123         * NEWS: Mention the change.
28124
28125 2010-08-28  Eric Blake  <eblake@redhat.com>
28126
28127         pread, pwrite: add missing dependency
28128         * modules/pread (Depends-on): Add extensions.
28129         * modules/pwrite (Depends-on): Likewise.
28130
28131 2010-08-28  Bruno Haible  <bruno@clisp.org>
28132
28133         unistr/u*-strchr: Fix tests dependencies.
28134         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
28135         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
28136         Reported by Ian Beckwith <ianb@erislabs.net>.
28137
28138 2010-08-28  Bruno Haible  <bruno@clisp.org>
28139
28140         read-file: Don't occupy too much unused memory.
28141         * lib/read-file.c (fread_file): Shrink the buffer at the end.
28142
28143 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
28144             Eric Blake  <eblake@redhat.com>
28145             Bruno Haible  <bruno@clisp.org>
28146
28147         read-file: Avoid memory reallocations with regular files.
28148         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
28149         (fread_file): With regular files, use the remaining length as the
28150         initial buffer size.  Check against overflow.
28151         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
28152         sys_stat.
28153
28154 2010-08-28  Bruno Haible  <bruno@clisp.org>
28155
28156         ftello: Relax license.
28157         * modules/ftello (License): Relax to LGPLv2+.
28158         Reported by Eric Blake.
28159
28160 2010-08-28  Bruno Haible  <bruno@clisp.org>
28161
28162         Avoid relocwrapper link errors due to gnulib replacement functions.
28163         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
28164         function.
28165         Reported by Ben Pfaff <blp@cs.stanford.edu>.
28166
28167 2010-08-28  Bruno Haible  <bruno@clisp.org>
28168
28169         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
28170         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
28171         defined.
28172         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
28173         Suggested by Eric Blake.
28174
28175 2010-08-28  Bruno Haible  <bruno@clisp.org>
28176
28177         sys_socket, netdb: Ensure socklen_t gets defined.
28178         * modules/sys_socket (Depends-on): Add socklen.
28179         * modules/netdb (Depends-on): Likewise.
28180         * modules/getaddrinfo (Depends-on): Remove socklen.
28181         * modules/getsockopt (Depends-on): Likewise.
28182         * modules/setsockopt (Depends-on): Likewise.
28183         * tests/test-sys_socket.c: Check that socklen_t is defined.
28184         * tests/test-netdb.c: Likewise.
28185         * m4/socklen.m4: Update comments.
28186         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28187
28188 2010-08-27  Eric Blake  <eblake@redhat.com>
28189
28190         login_tty: add missing dependency
28191         * modules/login_tty (Depends-on): Add pty.
28192
28193 2010-08-26  Eric Blake  <eblake@redhat.com>
28194
28195         lib-symbol-versions: fix m4 quoting
28196         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
28197         format for AC_LINK_IFELSE.
28198
28199         glob: fix compile test
28200         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
28201
28202         btowc: fix missing file
28203         * modules/btowc (Files): Also ship locale-fr.m4.
28204
28205         lseek: fix link test
28206         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
28207         AC_LINK_IFELSE.
28208
28209         include_next: silence autoconf 2.68 warning
28210         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
28211         AC_COMPILE_IFELSE as special.
28212         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
28213         autoconf < 2.68.
28214
28215         acl: fix compilation test
28216         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
28217         AC_COMPILE_IFELSE.
28218
28219 2010-08-26  Bruno Haible  <bruno@clisp.org>
28220
28221         Modernize AC_TRY_RUN invocations.
28222         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
28223         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28224         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
28225         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
28226         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
28227         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28228         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28229         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28230         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28231         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28232         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28233         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28234         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28235         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28236         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28237         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
28238         gl_MBRLEN_NUL_RETVAL): Likewise.
28239         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
28240         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
28241         Likewise.
28242         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28243         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28244         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28245         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28246         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
28247         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
28248         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
28249         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
28250         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
28251         Likewise.
28252         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
28253         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
28254         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28255         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28256         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28257         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28258         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28259         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
28260         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
28261         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28262
28263 2010-08-26  Bruno Haible  <bruno@clisp.org>
28264
28265         Modernize AC_TRY_LINK invocations.
28266         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
28267         AC_TRY_LINK.
28268         * m4/argp.m4 (gl_ARGP): Likewise.
28269         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
28270         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
28271         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
28272         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
28273         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
28274         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
28275         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
28276         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
28277         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
28278         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
28279         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
28280         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
28281         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
28282         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
28283         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
28284         * m4/hostent.m4 (gl_HOSTENT): Likewise.
28285         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28286         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
28287         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
28288         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
28289         Likewise.
28290         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
28291         Likewise.
28292         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
28293         Likewise.
28294         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
28295         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
28296         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
28297         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
28298         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
28299         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
28300         * m4/servent.m4 (gl_SERVENT): Likewise.
28301         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
28302         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
28303         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
28304         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
28305         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
28306         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
28307         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28308         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28309         * modules/tsearch-tests (configure.ac): Likewise.
28310
28311 2010-08-26  Bruno Haible  <bruno@clisp.org>
28312
28313         Modernize AC_TRY_COMPILE invocations.
28314         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
28315         AC_TRY_COMPILE.
28316         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
28317         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
28318         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
28319         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
28320         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
28321         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
28322         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
28323         * m4/lock.m4 (gl_LOCK): Likewise.
28324         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
28325         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
28326         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
28327         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
28328         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
28329         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
28330         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
28331         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
28332         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
28333         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
28334         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
28335         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
28336         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
28337         extraneous semicolon.
28338
28339 2010-08-26  Jim Meyering  <meyering@redhat.com>
28340
28341         stat-time: relax license LGPL
28342         * modules/stat-time (License): Change from GPL to LGPL,
28343         with consent from all contributors, for use in libguile.
28344         Requested by Ludovic Courtès.
28345
28346 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
28347
28348         poll: return immediately on POLLHUP.
28349         * lib/poll.c (poll): Always set timeout before wait_timeout is
28350         computed.
28351
28352 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28353
28354         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
28355         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
28356         rmdir ("dir/.//"), unlinkat.
28357
28358 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
28359
28360         stdbool: avoid spurious failure with modern xlc
28361         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28362
28363 2010-08-24  Bruno Haible  <bruno@clisp.org>
28364
28365         getloadavg: simplify code
28366         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
28367         gl_have_func. Update comments.
28368
28369 2010-08-24  Eric Blake  <eblake@redhat.com>
28370
28371         getloadavg: don't define SVR4 on cygwin
28372         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
28373         only define SVR4 when -lkvm is required.
28374         Reported by Yaakov Selkowitz.
28375
28376 2010-08-24  Bruno Haible  <bruno@clisp.org>
28377
28378         priv-set: fix comment
28379         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
28380
28381 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
28382
28383         priv-set: fix comments
28384         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
28385         to match code, as suggested by David Bartley in:
28386         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
28387
28388 2010-08-23  Eric Blake  <eblake@redhat.com>
28389
28390         stdbool: avoid rejecting clang
28391         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
28392         * tests/test-stdbool.c: Enable more tests if using the system
28393         <stdbool.h> instead of the gnulib replacement.
28394         (main): Move xlc bug test to a runtime test for all compilers.
28395         Reported by Anders Kaseorg.
28396
28397         argz: fix shell quoting issue
28398         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
28399         Reported by Charles Wilson.
28400
28401 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
28402             Erik Faye-Lund <kusmabite@gmail.com>
28403
28404         poll, select: handle ERROR_BROKEN_PIPE.
28405         * lib/poll.c (win32_compute_revents): Return POLLHUP when
28406         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28407         * lib/select.c (win32_compute_revents): Do not mark a pipe
28408         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
28409
28410 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
28411
28412         fts: allow compilation with C++
28413         * lib/fts_.h: Specify extern "C" linkage with C++.
28414
28415 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28416
28417         Fix gnulib-tool sed script de-commentation for AIX sed.
28418         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
28419         sed.
28420
28421 2010-08-17  Eric Blake  <eblake@redhat.com>
28422
28423         test-stddef: test for (some) offsetof bugs
28424         * tests/test-stddef.c: Enhance test to ensure correct type of
28425         offsetof.
28426         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
28427         that we are not fixing at this time.
28428
28429 2010-08-15  Bruno Haible  <bruno@clisp.org>
28430
28431         stpncpy: Allow stpncpy to be defined as a macro.
28432         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
28433         if it's already correctly declared.
28434         * lib/string.in.h (stpncpy): Undefine before redefining.
28435         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
28436
28437 2010-08-14  Bruno Haible  <bruno@clisp.org>
28438
28439         Rename module 'memxfrm' to 'amemxfrm'.
28440         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
28441         (amemxfrm): Renamed from memxfrm.
28442         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
28443         (amemxfrm): Renamed from memxfrm.
28444         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
28445         * NEWS: Mention the change.
28446         * MODULES.html.sh (String handling <string.h>): Update.
28447         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
28448         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
28449         * lib/unicase/u16-casexfrm.c: Likewise.
28450         * lib/unicase/u32-casexfrm.c: Likewise.
28451         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
28452         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
28453         * lib/uninorm/u16-normxfrm.c: Likewise.
28454         * lib/uninorm/u32-normxfrm.c: Likewise.
28455         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
28456         memxfrm.
28457         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
28458         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
28459         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
28460         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
28461         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
28462         Suggested by Paul Eggert.
28463
28464 2010-08-14  Bruno Haible  <bruno@clisp.org>
28465
28466         Tests for module 'astrxfrm'.
28467         * modules/astrxfrm-tests: New file.
28468         * tests/test-astrxfrm.c: New file.
28469
28470         New module 'astrxfrm'.
28471         * lib/astrxfrm.h: New file.
28472         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
28473         * modules/astrxfrm: New file.
28474
28475 2010-08-14  Reuben Thomas <rrt@sc3d.org>
28476
28477         regex: Tweak doc.
28478         * doc/regex.texi (Overview): Don't mention regex.c.
28479         (GNU Regular Expression Compiling): Likewise.
28480         (Match-end-of-line Operator): Mention 'not_eol'.
28481
28482 2010-08-14  Brian Gough  <bjg@gnu.org>
28483             Bruno Haible  <bruno@clisp.org>
28484
28485         git-merge-changelog: add doc relating to use with bzr and hg.
28486         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
28487
28488 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
28489
28490         pthread: fix pthread.h creation for srcdir != builddir
28491         * modules/pthread (Makefile.am): Fix the rule to work also in a
28492         non-srcdir build.
28493
28494 2010-08-13  Karl Berry  <karl@gnu.org>
28495
28496         * doc/regex.texi (Predefined Syntaxes): @smallexample.
28497         * doc/posix-*/*: force line break before @url of POSIX
28498         specifications.
28499         Suggested by Werner Lemberg.
28500
28501 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
28502
28503         strtod: fix const diagnostic
28504         * lib/strtod.c (strtod): Don't assign const char * to char *,
28505         as this elicits a warning from GCC when warnings are enabled.
28506
28507 2010-08-10  Pádraig Brady <P@draigbrady.com>
28508         and Eric Blake  <eblake@redhat.com>
28509
28510         copy-acl: ignore ENOTSUP on HP-UX
28511         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
28512         so that it is available for HP-UX.
28513         * lib/copy-acl.c (qcopy_acl): Use it.
28514         Reported by Patrick M. Callahan.
28515
28516 2010-08-10  Eric Blake  <eblake@redhat.com>
28517
28518         open, chown: relax license
28519         * modules/open (License): Change to LGPLv2+, with consent by all
28520         authors, for use in augeas.
28521         * modules/chown (License): Likewise.
28522         * modules/lchown (Likewise): Likewise.
28523         Requested by Adam Stokes.
28524
28525 2010-08-09  Karl Berry  <karl@gnu.org>
28526
28527         * build-aux/ar-lib: new file, import from Automake.
28528         * config/srclist.txt: autocheck for updates.
28529
28530 2010-08-09  Eric Blake  <eblake@redhat.com>
28531
28532         readlinkat: adjust client modules
28533         * modules/areadlinkat (Depends-on): Use readlinkat, not
28534         symlinkat.
28535         * modules/areadlinkat-with-size (Depends-on): Likewise.
28536
28537         mknod: be more vocal about danger of running tests as root
28538         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
28539         root, since that is just asking for problems.
28540         Suggested by Bruno Haible, based on a report by Rainer Tammer.
28541
28542         readlinkat: split into its own module
28543         * modules/symlinkat: Split readlinkat...
28544         * modules/readlinkat: ...into separate module.
28545         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
28546         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
28547         * lib/symlinkat.c (readlinkat): Move...
28548         * lib/readlinkat.c: ...into new file.
28549         * modules/symlinkat-tests: Split readlinkat test...
28550         * modules/readlinkat-tests: ...into separate module.
28551         * tests/test-symlinkat.c: Split...
28552         * tests/test-readlinkat.c: ...into new file.
28553         * NEWS: Document the split.
28554         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
28555         * lib/unistd.in.h (readlinkat): Likewise.
28556         Suggested by Bruno Haible.
28557
28558 2010-08-08  Bruno Haible  <bruno@clisp.org>
28559
28560         memxfrm: Speed up.
28561         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
28562         that usually only one call to strxfrm is necessary for each string
28563         part.
28564         Reported by Paul Eggert <eggert@cs.ucla.edu>.
28565
28566 2010-08-07  Karl Berry  <karl@gnu.org>
28567
28568         * doc/posix-headers/limits.texi,
28569         * doc/posix-functions/malloc.texi,
28570         * doc/posix-functions/strsignal.texi: missing @item.
28571         * doc/ld-version-script.texi: spurious leading i.
28572         * doc/regex.texi (Interval Operators): no commas inside @var.
28573
28574 2010-08-01  Bruno Haible  <bruno@clisp.org>
28575
28576         Integrate the regex documentation.
28577         * doc/gnulib.texi: Define 'cn' index.
28578         (Regular expressions): New a chapter that includes regex.texi and
28579         regexprops-generic.texi.
28580         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
28581         syntax.
28582
28583         Whitespace cleanup.
28584         * doc/regex.texi: Remove trailing spaces.
28585
28586         Add regex documentation.
28587         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
28588         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
28589         Written by Kathy A. Hargreaves and Karl Berry.
28590
28591 2010-08-01  Bruno Haible  <bruno@clisp.org>
28592
28593         link: Update documentation.
28594         * doc/posix-functions/link.texi: Update regarding Solaris.
28595
28596 2010-07-31  Bruno Haible  <bruno@clisp.org>
28597
28598         Update modules list.
28599         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
28600         (String handling <string.h>): Add memcmp2, memxfrm.
28601         (Container data structures): Add xlist, xsublist, xoset.
28602         (Core language properties): Add alignof, unused-parameter.
28603         (Process control, Numeric conversion functions <stdlib.h>): Renamed
28604         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
28605         (Unibyte characters <ctype.h>): New section.
28606         (String handling <string.h>): New section.
28607         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
28608         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
28609         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
28610         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
28611         tan, tanh, tanl, y0, y1, yn.
28612         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
28613         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
28614         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
28615         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
28616         unlockpt, vdprintf, vdprintf-posix.
28617         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
28618         (File system functions): Add concat-filename, sys_file, sys_ioctl,
28619         xconcat-filename.
28620         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
28621         getdtablesize, pipe2, pipe2-safer.
28622         (Security): New section.
28623         (Networking functions): Add accept4.
28624         (Signal handling): Add sigpipe.
28625         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
28626         mbmemcasecoll.
28627         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
28628         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
28629         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
28630         pipe-filter-ii.
28631         (Misc): Add argp-version-etc, login_tty, parse-duration.
28632
28633 2010-07-31  Bruno Haible  <bruno@clisp.org>
28634
28635         Improve doc in MODULES.html.
28636         * modules/linkat (Description): Add the word "function".
28637         * modules/mkfifo (Description): Likewise.
28638         * modules/mknod (Description): Likewise.
28639         * modules/remove (Description): Likewise.
28640         * modules/renameat (Description): Likewise.
28641         * modules/stat (Description): Likewise.
28642         * modules/symlink (Description): Likewise.
28643         * modules/unlink (Description): Likewise.
28644
28645 2010-07-31  Bruno Haible  <bruno@clisp.org>
28646
28647         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
28648         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
28649         option --enable/disable-c++ instead of --enable/disable-cxx.
28650         * NEWS: Mention the change.
28651
28652 2010-07-31  Bruno Haible  <bruno@clisp.org>
28653
28654         readlink, areadlink: Relax test a bit.
28655         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
28656         alternative to ENOTDIR.
28657         * tests/test-areadlink.h (test_areadlink): Likewise.
28658         Reported by Rainer Tammer.
28659
28660 2010-07-31  Bruno Haible  <bruno@clisp.org>
28661
28662         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
28663         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
28664         character, perform the search using U_STRCHR.
28665         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
28666         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
28667         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
28668         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
28669         Suggested by Paolo Bonzini.
28670
28671 2010-07-31  Bruno Haible  <bruno@clisp.org>
28672
28673         unistr/u*-strstr: Fix dependencies.
28674         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
28675         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
28676         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
28677
28678 2010-07-31  Bruno Haible  <bruno@clisp.org>
28679
28680         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
28681         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
28682         the beginning of the loop.
28683         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
28684         cases in 'switch' statement.
28685
28686         unistr/u8-strchr: Fix several bugs.
28687         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
28688         the string. When not found, return NULL, not a pointer near the end.
28689
28690         More tests for unistr/u8-strchr.
28691         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
28692         that the function does not read past the first occurrence of the byte
28693         being searched.
28694         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
28695         * tests/unistr/test-u16-strchr.c (main): New function.
28696         * tests/unistr/test-u32-strchr.c (main): New function.
28697
28698 2010-07-31  Bruno Haible  <bruno@clisp.org>
28699
28700         posix-modules: Ignore backup files of documentation files.
28701         * posix-modules: grep only through files named *.texi.
28702
28703 2010-07-31  Bruno Haible  <bruno@clisp.org>
28704
28705         symlinkat: Fix documentation.
28706         * doc/posix-functions/readlinkat.texi: Fix module name.
28707
28708 2010-07-31  Bruno Haible  <bruno@clisp.org>
28709
28710         fchownat: Replace also when chown has the trailing slash bug.
28711         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
28712         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
28713         introduced on 2010-04-10.
28714         Reported by Rainer Tammer.
28715
28716 2010-07-31  Bruno Haible  <bruno@clisp.org>
28717
28718         linkat: Work around AIX 7.1 bug.
28719         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
28720         whether linkat handles trailing slash correctly. If not, replace linkat
28721         and define LINKAT_TRAILING_SLASH_BUG.
28722         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
28723         check whether (fd1,file1) points to a directory if file1 or file2 ends
28724         in a slash. Code taken from lib/link.c.
28725         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
28726         Reported by Rainer Tammer.
28727
28728 2010-07-31  Bruno Haible  <bruno@clisp.org>
28729
28730         Correctly determine whether pow is available in libc on AIX 7 with xlc.
28731         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
28732         This disables an xlc optimization that was causing wrong test results.
28733         Reported by Rainer Tammer.
28734
28735 2010-07-31  Bruno Haible  <bruno@clisp.org>
28736
28737         iconv: Work around AIX 6.1..7.1 bug.
28738         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
28739         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
28740         cross-compiling, guess no on all versions of AIX.
28741         Reported by Rainer Tammer.
28742
28743 2010-07-31  Bruno Haible  <bruno@clisp.org>
28744
28745         readlink: Relax test a bit.
28746         * tests/test-readlink.h (test_readlink): Allow different errno value
28747         when readlink is called with a file name that ends in / and refers to
28748         a file.
28749         Suggested by Eric Blake.
28750         Reported by Rainer Tammer.
28751
28752 2010-07-31  Bruno Haible  <bruno@clisp.org>
28753
28754         copysign: Does not require -lm on glibc systems.
28755         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
28756         gl_COMMON_DOUBLE_MATHFUNC.
28757         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
28758
28759 2010-07-31  Bruno Haible  <bruno@clisp.org>
28760
28761         duplocale: Work around AIX 7.1 bug.
28762         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
28763         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
28764         * lib/duplocale.c (rpl_duplocale): Update comment.
28765         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
28766         Reported by Rainer Tammer.
28767
28768 2010-07-30  Bruno Haible  <bruno@clisp.org>
28769
28770         dirfd: Avoid link error on AIX 7.1.
28771         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
28772         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
28773         exist, set REPLACE_DIRFD.
28774         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
28775         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
28776         * doc/posix-functions/dirfd.texi: Update.
28777         Reported by Rainer Tammer.
28778
28779 2010-07-30  Eric Blake  <eblake@redhat.com>
28780
28781         strtod: next round of AIX fixes
28782         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
28783         exponent.
28784         * tests/test-strtod.c (main): Enhance tests.
28785         * doc/posix-functions/strtod.texi (strtod): Document next bug.
28786         Reported by Rainer Tammer.
28787
28788         futimens: fix configure check
28789         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
28790         Reported by Bruno Haible.
28791
28792 2010-07-30  Bruno Haible  <bruno@clisp.org>
28793
28794         getline: Update regarding AIX.
28795         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
28796         Reported by Rainer Tammer.
28797
28798 2010-07-30  Bruno Haible  <bruno@clisp.org>
28799
28800         wcwidth: Drop replacement on AIX 7.
28801         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
28802         AIX 7.
28803         Reported by Rainer Tammer.
28804
28805 2010-07-30  Bruno Haible  <bruno@clisp.org>
28806
28807         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
28808         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
28809         a 'char *'.
28810         Reported by Rainer Tammer.
28811
28812 2010-07-30  Bruno Haible  <bruno@clisp.org>
28813
28814         unlink: Update regarding AIX.
28815         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
28816         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
28817         Reported by Rainer Tammer.
28818
28819 2010-07-30  Bruno Haible  <bruno@clisp.org>
28820
28821         symlink: Update regarding AIX.
28822         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
28823         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
28824         Reported by Rainer Tammer.
28825
28826 2010-07-30  Bruno Haible  <bruno@clisp.org>
28827
28828         strndup: Update regarding AIX.
28829         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
28830         AIX 7.
28831         Reported by Rainer Tammer.
28832
28833 2010-07-30  Bruno Haible  <bruno@clisp.org>
28834
28835         stat: Update regarding AIX.
28836         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
28837         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
28838         Reported by Rainer Tammer.
28839
28840 2010-07-30  Bruno Haible  <bruno@clisp.org>
28841
28842         truncl: Fix autoconf test.
28843         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
28844         whether truncl works.
28845         Reported by Rainer Tammer.
28846
28847 2010-07-30  Bruno Haible  <bruno@clisp.org>
28848
28849         round: Update regarding AIX.
28850         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
28851         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
28852         Reported by Rainer Tammer.
28853
28854 2010-07-30  Bruno Haible  <bruno@clisp.org>
28855
28856         rename: Update regarding AIX.
28857         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
28858         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
28859         Reported by Rainer Tammer.
28860
28861 2010-07-30  Bruno Haible  <bruno@clisp.org>
28862
28863         printf.m4: Update regarding AIX.
28864         * m4/printf.m4: Update comments regarding AIX.
28865         Reported by Rainer Tammer.
28866
28867 2010-07-30  Bruno Haible  <bruno@clisp.org>
28868
28869         iconv: Update regarding AIX.
28870         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
28871         AIX 7.
28872         Reported by Rainer Tammer.
28873
28874 2010-07-30  Bruno Haible  <bruno@clisp.org>
28875
28876         getopt: Update regarding AIX.
28877         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
28878         no on AIX.
28879         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
28880         Reported by Rainer Tammer.
28881
28882 2010-07-30  Bruno Haible  <bruno@clisp.org>
28883
28884         ldexpl; Update regarding AIX.
28885         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
28886         on AIX 7.
28887         Reported by Rainer Tammer.
28888
28889 2010-07-30  Bruno Haible  <bruno@clisp.org>
28890
28891         frexpl: Update regarding AIX.
28892         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
28893         on AIX 7.
28894         Reported by Rainer Tammer.
28895
28896 2010-07-30  Bruno Haible  <bruno@clisp.org>
28897
28898         open, fopen: Update regarding AIX.
28899         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
28900         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
28901         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
28902         * doc/posix-functions/fopen.texi: Likewise.
28903         Reported by Rainer Tammer.
28904
28905 2010-07-30  Bruno Haible  <bruno@clisp.org>
28906
28907         chown: Update doc regarding AIX.
28908         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
28909         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
28910         Reported by Rainer Tammer.
28911
28912 2010-07-30  Eric Blake  <eblake@redhat.com>
28913
28914         strtod: fix bug in replacement function on AIX
28915         * lib/strtod.c (strtod): Special case broken "0x" parse in
28916         underlying strtod.
28917         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
28918         * doc/posix-functions/strtod.texi (strtod): Likewise.
28919         Reported by Rainer Tammer.
28920
28921 2010-07-30  Bruno Haible  <bruno@clisp.org>
28922
28923         mbrlen: Fix cross-compilation guess for AIX.
28924         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
28925         guess. Leftover from 2008-12-22.
28926
28927 2010-07-30  Bruno Haible  <bruno@clisp.org>
28928
28929         mbrtowc: Fix cross-compilation guess for AIX.
28930         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
28931         guess. Leftover from 2008-12-21.
28932
28933 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
28934
28935         init.sh: work around trap limitation of some shells
28936         * tests/init.sh (setup_): Move exit trap outside of shell function.
28937
28938 2010-07-29  Eric Blake  <eblake@redhat.com>
28939
28940         strtod: aid debugging
28941         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
28942         understanding why strtod is rejected.
28943
28944 2010-07-28  Bruno Haible  <bruno@clisp.org>
28945
28946         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
28947         * lib/unistr/u8-chr.c: Include <string.h>.
28948         * tests/unistr/test-u8-chr.c: Likewise.
28949         * tests/unistr/test-u16-chr.c: Likewise.
28950         * tests/unistr/test-u32-chr.c: Likewise.
28951         * tests/unistr/test-u8-strchr.c: Likewise.
28952         * tests/unistr/test-u16-strchr.c: Likewise.
28953         * tests/unistr/test-u32-strchr.c: Likewise.
28954         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
28955         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
28956         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
28957         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
28958
28959 2010-07-28  Bruno Haible  <bruno@clisp.org>
28960
28961         Use spaces for indentation, not tabs.
28962         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
28963
28964 2010-07-27  Bruno Haible  <bruno@clisp.org>
28965
28966         mbspcasecmp: Fix function specification.
28967         * lib/string.in.h (mbspcasecmp): Fix specification comment.
28968         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
28969         Reported by Eric Blake <eblake@redhat.com>.
28970
28971 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
28972
28973         timespec: use cast and not conditional, as truncation isn't possible
28974         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
28975         instead of a conditional.  Comment about the situation in more detail.
28976         This undoes most of the 2009-10-29 patch.
28977
28978 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
28979
28980         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
28981         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
28982         * lib/unistr/u8-strchr.c: Likewise.
28983         * modules/unistr/u8-chr: Depend on memchr.
28984
28985         unistr/u*-strchr: add tests
28986         * modules/unistr/u8-strchr-tests: New file.
28987         * modules/unistr/u16-strchr-tests: New file.
28988         * modules/unistr/u32-strchr-tests: New file.
28989         * tests/unistr/test-strchr.h: New file.
28990         * tests/unistr/test-u8-strchr.c: New file.
28991         * tests/unistr/test-u16-strchr.c: New file.
28992         * tests/unistr/test-u32-strchr.c: New file.
28993
28994         unistr/u*-chr: test multibyte sequences more
28995         * tests/unistr/test-chr.h: Do complete testing of the characters in the
28996         test vector.
28997         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
28998         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
28999         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
29000
29001         unistr/u*-chr: test multibyte sequences
29002         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
29003
29004         unistr/u*-chr: prepare for multibyte tests
29005         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
29006         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
29007         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
29008         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
29009         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
29010         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
29011
29012 2010-07-18  Bruno Haible  <bruno@clisp.org>
29013
29014         unistr/u8-strchr: Optimize non-ASCII argument case.
29015         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
29016         because the first byte often matches anyway.
29017         Reported by Pádraig Brady <P@draigbrady.com>.
29018
29019 2010-07-15  Karl Berry  <karl@gnu.org>
29020
29021         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
29022
29023 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
29024
29025         getcwd: on Solaris, work better if ancestors are inaccessible
29026         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
29027         buffer and size, try again with a large buffer.  This works better
29028         on Solaris, since its getcwd succeeds even if the path to the root
29029         is inaccessible, and this is helpful in common cases such as .zfs
29030         hidden directories.  Problem reported by J Chapman Flack in
29031         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
29032         Use system getcwd if it's declared, not merely if it's partly
29033         working; use the partly-working test only to avoid needless effort
29034         if the system getcwd fails.
29035         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
29036         comment that was already obsolete and is now even more obsolete.
29037         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
29038         now might call strdup.
29039
29040 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
29041
29042         pthread: Add enough so that coreutils/src/sort.c compiles.
29043         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
29044         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
29045         gnulib. Include <sched.h> and <time.h>, as per POSIX.
29046         Include <sys/types.h>, in case it defines pthread_t.
29047         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
29048         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
29049         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
29050         (pthread_rwlockattr_t, pthread_spinlock_t):
29051         New typedefs, if HAVE_PTHREAD_T is not defined.
29052         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
29053         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
29054         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
29055         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
29056         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
29057         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
29058         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
29059         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
29060         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
29061         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
29062         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
29063         New macros.
29064         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
29065         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
29066         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
29067         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
29068         (pthread_spin_unlock): New dummy functions.
29069         (pthread_create): Return EAGAIN; don't set errno.
29070         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
29071         require AC_C_INLINE.
29072         * modules/pthread (Depends-on): Add sched, time.
29073         (pthread.h): Use AM_V_GEN.
29074
29075 2010-07-13  Bruno Haible  <bruno@clisp.org>
29076
29077         striconveh: Don't malloc memory if the result buffer is sufficient.
29078         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
29079         buffer if its size is sufficient.
29080         Reported by Ludovic Courtès <ludo@gnu.org>.
29081
29082 2010-07-13  Bruno Haible  <bruno@clisp.org>
29083
29084         strtod: Add safety check.
29085         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
29086
29087 2010-07-12  Bruno Haible  <bruno@clisp.org>
29088
29089         Unify tests that set gl_cv_func_ldexpl_no_libm.
29090         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
29091         gl_FUNC_LDEXPL.
29092         (gl_FUNC_LDEXPL): Invoke it.
29093         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29094
29095 2010-07-12  Bruno Haible  <bruno@clisp.org>
29096
29097         Unify tests that set gl_cv_func_ldexp_no_libm.
29098         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
29099         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
29100         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
29101         (configure.ac): Simply invoke gl_FUNC_LDEXP.
29102         * modules/strtod (Files): Add m4/ldexp.m4.
29103
29104 2010-07-12  Bruno Haible  <bruno@clisp.org>
29105
29106         Unify tests that set gl_cv_func_frexpl_no_libm.
29107         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
29108         gl_FUNC_FREXPL_NO_LIBM.
29109         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
29110         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
29111
29112 2010-07-12  Bruno Haible  <bruno@clisp.org>
29113
29114         Unify tests that set gl_cv_func_frexp_no_libm.
29115         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
29116         gl_FUNC_FREXP_NO_LIBM.
29117         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
29118         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29119
29120 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29121
29122         memcoll: clarify sizes versus lengths, document better, and tweak perf
29123         * lib/memcoll.c (strcoll_loop, memcoll0):
29124         Improve quality of descriptive comments.  Name variables
29125         consistently as to whether they are lengths (which do not include
29126         terminating null) versus sizes (which do).
29127         * lib/xmemcoll.c (xmemcoll0): Likewise.
29128         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
29129         returned when s1size == 0; this is easier to compile and saves
29130         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
29131
29132 2010-07-12  Bruno Haible  <bruno@clisp.org>
29133
29134         Tests for module '_Exit'.
29135         * modules/_Exit-tests: New file.
29136         * tests/test-_Exit.sh: New file.
29137         * tests/test-_Exit.c: New file.
29138
29139         New module '_Exit'.
29140         * lib/stdlib.in.h (__attribute__): New macro.
29141         (_Exit): New declaration.
29142         * lib/_Exit.c: New file.
29143         * m4/_Exit.m4: New file.
29144         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
29145         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
29146         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
29147         * modules/_Exit: New file.
29148         * tests/test-stdlib-c++.cc (_Exit): Check signature.
29149         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
29150
29151 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
29152
29153         strtod: make it more-accurate typically, and don't require libm
29154         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
29155         Include limits.h.  Don't include string.h.
29156         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
29157         (locale_isspace): New function, so that no casts are needed to
29158         check whether *s is a space.
29159         (ldexp): Provide an unused dummy if not available.
29160         (scale_radix_exp, parse_number, underlying_strtod): New functions.
29161         (strtod): Use them.  This implementation prefers to use the
29162         underlying strtod if available, falling back on our own code
29163         only to fix known bugs.  This is more likely to produce an
29164         accurate result.  Also, it avoids the use of libm functions.
29165         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
29166         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
29167         was absent, but it caused a test failure with coreutils.
29168         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
29169         with libm.
29170         * modules/strtod (Makefile.am, Link): libm is no longer needed.
29171         * modules/strtod-tests (Makefile.am): Likewise.
29172
29173 2010-07-11  Pádraig Brady  <P@draigBrady.com>
29174             Bruno Haible  <bruno@clisp.org>
29175
29176         unistr/u8-strchr: Optimize ASCII argument case.
29177         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
29178
29179 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
29180
29181         (x)memcoll: minor tweaks
29182         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
29183         is after the type that it qualifies.
29184         (memcoll0): Likewise.
29185         * lib/memcoll.h (memcoll0): Likewise.
29186         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
29187         * lib/xmemcoll.h (xmemcoll0): Likewise.
29188         * lib/memcoll.c (memcoll0): Correct the comment.  This function
29189         differs from memcoll in that the NUL byte is part of the argument.
29190         Omit the abort-checks, as performance is a real issue here.  Plus,
29191         the checks were wrong anyway (an off-by-one error).  Omit local
29192         variable 'diff', as it's a bit clearer that way.
29193         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
29194         no longer needed.
29195
29196 2010-07-08  Chen Guo <chenguo4@yahoo.com>
29197
29198         (x)memcoll: speedup when input is known to be NUL delimited
29199         * lib/memcoll.c: Include stdlib.
29200         (memcoll0): New function.
29201         (strcoll_loop): New function, refactored for use in both memcoll
29202         and memcoll0.
29203         * lib/memcoll.h (memcoll0): Add prototype.
29204         * lib/xmemcoll.c (xmemcoll0): New function.
29205         (collate_error): New function, refactored for use in both xmemcoll
29206         and xmemcoll0.
29207         * lib/xmemcoll.h (xmemcoll0): Add prototype.
29208         * m4/memcoll.m4: add inline invocation.
29209
29210 2010-07-06  Pádraig Brady  <P@draigBrady.com>
29211
29212         * build-aux/bootstrap: Remove any local translations
29213         from the translation project synchronization directory,
29214         so that local only translations are not distributed.
29215
29216 2010-07-04  Bruno Haible  <bruno@clisp.org>
29217
29218         fsusage: Clarify which code applies to which platforms.
29219         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
29220         platform.
29221         * lib/fsusage.c (get_fs_usage): Likewise.
29222
29223 2010-07-04  Bruno Haible  <bruno@clisp.org>
29224
29225         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
29226         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
29227         Reported by Martin Lambers <marlam@marlam.de>.
29228
29229 2010-07-04  Jim Meyering  <meyering@redhat.com>
29230
29231         hash: once again explicitly disallow insertion of NULL
29232         * lib/hash.c (hash_insert0): Reinstate just-removed test:
29233         inserting a NULL pointer cannot work with these functions.
29234         Add a comment with details.
29235         This reverts part of the 2010-07-01 commit, 5bef1a35
29236         "hash: extend module to deal with non-pointer keys".
29237
29238 2010-07-01  Bruno Haible  <bruno@clisp.org>
29239
29240         stdbool: Update doc.
29241         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
29242         Info from Christian Weisgerber <naddy@mips.inka.de>.
29243
29244 2010-07-01  Jim Meyering  <meyering@redhat.com>
29245
29246         hash: extend module to deal with non-pointer keys
29247         * lib/hash.c (hash_insert0): New interface, much like hash_insert
29248         but that allows insertion of non-pointer entries.
29249         Do not disallow an ENTRY value of NULL.
29250         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
29251         * lib/hash.h (hash_insert0): Declare.
29252
29253 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29254
29255         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
29256         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
29257         not present (i.e. with autoconf 2.59 and when using gettextize, not
29258         gnulib), require AC_GNU_SOURCE instead.
29259
29260 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
29261
29262         idpriv-drop: Fix tests.
29263         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
29264         not to the test-idpriv-droptemp program.
29265
29266 2010-06-29  Bruno Haible  <bruno@clisp.org>
29267
29268         string: Fix syntax error with g++ 2.96.
29269         * lib/string.in.h (__pure__): Remove definition.
29270         (_GL_ATTRIBUTE_PURE): New macro.
29271         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
29272         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
29273         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29274
29275 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
29276
29277         unitypes: Fix bug introduced on 2010-05-18.
29278         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
29279
29280 2010-06-22  Eric Blake  <eblake@redhat.com>
29281
29282         memmem: slight optimization
29283         * lib/str-two-way.h (critical_factorization): Update comments.
29284         Reduce work during factorization phase.
29285         Reported by Carlos Bueno <carlos@bueno.org>.
29286
29287 2010-06-21  Bruno Haible  <bruno@clisp.org>
29288
29289         Fix HAVE_CALLOC_POSIX misnomer.
29290         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
29291         !HAVE_CALLOC_POSIX.
29292         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
29293         HAVE_CALLOC_POSIX.
29294         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
29295         instead of HAVE_CALLOC_POSIX.
29296         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
29297         HAVE_CALLOC_POSIX.
29298
29299         Use modern idiom for calloc() replacement.
29300         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
29301         AC_FUNC_CALLOC.
29302         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
29303         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
29304         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29305         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
29306         (gl_REPLACE_CALLOC): New macro.
29307
29308 2010-06-21  Bruno Haible  <bruno@clisp.org>
29309
29310         Fix HAVE_REALLOC_POSIX misnomer.
29311         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
29312         !HAVE_REALLOC_POSIX.
29313         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
29314         HAVE_REALLOC_POSIX.
29315         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
29316         instead of HAVE_REALLOC_POSIX.
29317         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
29318         HAVE_REALLOC_POSIX.
29319
29320         Use modern idiom for realloc() replacement.
29321         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
29322         AC_FUNC_REALLOC.
29323         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
29324         Autoconf's AC_FUNC_REALLOC.
29325         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29326         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
29327         (gl_REPLACE_REALLOC): New macro.
29328         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29329
29330 2010-06-21  Bruno Haible  <bruno@clisp.org>
29331
29332         Fix HAVE_MALLOC_POSIX misnomer.
29333         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
29334         !HAVE_MALLOC_POSIX.
29335         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
29336         HAVE_MALLOC_POSIX.
29337         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
29338         instead of HAVE_MALLOC_POSIX.
29339         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
29340         HAVE_MALLOC_POSIX.
29341
29342         Use modern idiom for malloc() replacement.
29343         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
29344         AC_FUNC_MALLOC.
29345         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
29346         Autoconf's AC_FUNC_MALLOC.
29347         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
29348         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
29349         (gl_REPLACE_MALLOC): New macro.
29350         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
29351
29352 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
29353
29354         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
29355         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
29356         This macro takes 3 arguments, not 4.
29357
29358 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
29359
29360         ipv6: fix detection under mingw
29361         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
29362         in6_addr.
29363
29364 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
29365
29366         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
29367         that strtod() works when cross-compiling to a glibc version known
29368         to work.
29369
29370 2010-06-15  Bruno Haible  <bruno@clisp.org>
29371
29372         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
29373
29374 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
29375
29376         select: Correct timeout.
29377         * lib/select.c (rpl_select): Compute wait_timeout correctly.
29378
29379 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
29380
29381         git-version-gen: init shell var to avoid env var influence
29382         * build-aux/git-version-gen (v): Init shell var to empty.
29383
29384 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
29385
29386         priv-set: Don't assume that priv.h exists merely because getppriv does.
29387         See Jan Andersen's bug report about AIX 5L in
29388         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
29389         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
29390         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
29391         * lib/priv-set.h: Likewise.
29392         * tests/test-priv-set.c: Likewise.
29393
29394 2010-06-13  Bruno Haible  <bruno@clisp.org>
29395
29396         relocatable: Make it easier to test whether to install wrappers.
29397         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
29398         RELOCATABLE_VIA_WRAPPER.
29399
29400 2010-06-13  Bruno Haible  <bruno@clisp.org>
29401
29402         gnulib-tool: Display specified modules and dependencies differently.
29403         * gnulib-tool (func_show_module_list): New function.
29404         (func_import, func_create_testdir): Invoke it.
29405         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29406
29407 2010-06-13  Bruno Haible  <bruno@clisp.org>
29408
29409         gnulib-tool: Align code of func_import and func_create_testdir.
29410         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
29411         specified_modules.
29412
29413 2010-06-12  Jim Meyering  <meyering@redhat.com>
29414
29415         test-inttostr: avoid spurious failure on Solaris 9
29416         * tests/test-inttostr.c (main): Skip the test when snprintf fails
29417         to accept "%ju".  Reported by Bruno Haible.
29418
29419 2010-06-11  Jim Meyering  <meyering@redhat.com>
29420
29421         test-sys_socket: mark variables as used more readably
29422         * tests/test-sys_socket.c (main): Mark otherwise unused variables
29423         as "used" explicitly via (void) statement casts.  This is more
29424         readable than using them in an artificial return expression.
29425         Suggestion from Bruno Haible.
29426
29427 2010-06-11  Bruno Haible  <bruno@clisp.org>
29428
29429         Avoid some more warnings from "gcc -Wwrite-strings".
29430         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
29431         to 'const char *'.
29432         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
29433         * tests/test-c-strcasestr.c (main): Likewise.
29434         * tests/test-mbscasestr1.c (main): Likewise.
29435         * tests/test-mbscasestr2.c (main): Likewise.
29436         * tests/test-memmem.c (main): Likewise.
29437         * tests/test-strstr.c (main): Likewise.
29438         * tests/test-strcasestr.c (main): Likewise.
29439
29440 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29441
29442         init.sh: change framework_failure_ to fail with status 99, not 1
29443         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
29444         automake's parallel-tests rule that this is an unexpected failure,
29445         even if the test is listed in XFAIL_TESTS.
29446
29447 2010-06-11  Jim Meyering  <meyering@redhat.com>
29448
29449         test-inttostr: avoid warnings about 4-6KB literal strings
29450         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
29451         Include "macros.h", for its definition of ASSERT.
29452         (CK): s/assert/ASSERT/
29453         * modules/inttostr-tests (Files): Add macros.h.
29454
29455         init.sh: don't use $ME_ or skip_ before they are defined
29456         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
29457         their first uses.  Also hoist their companions: warn_, fail_,
29458         framework_failure_, $stderr_fileno.  Prompted by a patch from
29459         Stefano Lattarini.
29460
29461         test-sys_socket: avoid set-but-not-used warnings from gcc
29462         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
29463         avoid warning about set-but-not-used variables.
29464
29465         test-xvasprintf: avoid 'const' discard warnings
29466         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
29467         "const" when assigning from literal strings.
29468         (test_xasprintf): Add "void" in function argument list to placate
29469         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
29470
29471         tests: avoid compilation warnings in argmatch and exclude tests...
29472         in packages that define ARGMATCH_DIE_DECL, like coreutils.
29473         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
29474         Since it always exits, declare with the "noreturn" attribute.
29475         * tests/test-argmatch.c: Likewise.
29476
29477         tests: avoid 'const' discard warnings in mbsstr tests
29478         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
29479         * tests/test-mbsstr2.c (main): Likewise.
29480
29481         test-verify: avoid warning from gcc's -Wmissing-declarations
29482         * tests/test-verify.c (function): Declare to be static.
29483
29484         test-inttostr.c: include <string.h> for use of strcmp
29485         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
29486
29487         test-linkat: avoid failed assertion on "other" architectures
29488         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
29489         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
29490         sparc: https://bugs.launchpad.net/bugs/591968
29491
29492 2010-06-11  Jim Meyering  <meyering@redhat.com>
29493
29494         printf.m4: avoid autoconf's "Expanded Before Required" warning
29495         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
29496         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
29497         autoconf warning.
29498
29499 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
29500
29501         Replacement header templates are now named with ".in", not "_".
29502         * doc/gnulib-intro.texi: Correct.
29503
29504 2010-06-10  Jim Meyering  <meyering@redhat.com>
29505
29506         inttostr-tests: depend on snprintf, not snprintf-posix
29507         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
29508         snprintf-posix, to avoid this aclocal failure:
29509           missing file gnulib-tests/vasnprintf.c
29510           configure.ac:45: error: expected source file, required through \
29511           AC_LIBSOURCES, not found
29512
29513 2010-06-10  Jim Meyering  <meyering@redhat.com>
29514
29515         inttostr: add a new function, inttostr, and tests
29516         The namesake function was not available.  The existence of the
29517         template file, inttostr.c makes its addition nontrivial.
29518         * lib/anytostr.c: Rename from inttostr.c.
29519         (anytostr): Rename from inttostr.
29520         * lib/inttostr.c: New file.
29521         * modules/inttostr (Files): Add anytostr.c.
29522         (Makefile.am): Set lib_SOURCES instead of ...
29523         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
29524         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
29525         * lib/offtostr.c: Likewise.
29526         * lib/uinttostr.c: Likewise.
29527         * lib/umaxtostr.c: Likewise.
29528         * modules/inttostr-tests: New file.
29529         * tests/test-inttostr.c: New file.  Test these functions.
29530
29531 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
29532             Bruno Haible  <bruno@clisp.org>
29533
29534         Add "Extending Gnulib" chapter to manual.
29535         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
29536         chapter.
29537         (Extending Gnulib): New chapter.
29538         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
29539         chapter.
29540
29541 2010-06-09  Bruno Haible  <bruno@clisp.org>
29542
29543         Avoid relocwrapper link errors due to gnulib replacement functions.
29544         * lib/areadlink.c: Use the system's malloc, realloc functions.
29545         (areadlink): Set errno to ENOMEM explicitly.
29546         * modules/areadlink (Depends-on): Remove malloc-posix.
29547         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29548
29549 2010-06-09  Bruno Haible  <bruno@clisp.org>
29550
29551         Avoid relocwrapper link errors due to gnulib replacement functions.
29552         * lib/canonicalize-lgpl.c: Use the system's malloc function.
29553         * lib/malloca.c: Likewise.
29554         * lib/relocatable.c: Likewise.
29555         * lib/progreloc.c: Use the system's malloc, sprintf functions.
29556         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
29557         * lib/setenv.c: Use the system's malloc, realloc functions.
29558         * lib/strerror.c: Use the system's sprintf function.
29559         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29560
29561 2010-06-04  Bruno Haible  <bruno@clisp.org>
29562
29563         Prefer documented low-level autoconf macro names.
29564         * m4/lib-link.m4: Use m4_translit instead of translit.
29565         * m4/environ.m4: Likewise.
29566         * m4/mathfunc.m4: Likewise.
29567         * m4/onceonly.m4: Likewise.
29568         * m4/stdint.m4: Likewise.
29569         Suggested by Eric Blake.
29570
29571 2010-06-04  Martin Lambers  <marlam@marlam.de>
29572             Bruno Haible  <bruno@clisp.org>
29573
29574         havelib: Allow library names with '+' characters.
29575         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
29576         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
29577
29578 2010-06-09  Bruno Haible  <bruno@clisp.org>
29579
29580         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
29581         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
29582         realloc failed.
29583
29584 2010-06-08  Peter Simons  <simons@cryp.to>
29585
29586         maint.mk: make the news-check rule more configurable
29587         * top/maint.mk (news-check-lines-spec): New variable.
29588         (news-check): Use "sed -n 1,10p" in place of "head".
29589
29590 2010-06-07  Jim Meyering  <meyering@redhat.com>
29591
29592         do-release-commit-and-tag: fix typo in --help
29593         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
29594
29595         regex: avoid new dead-code warning with gcc-4.6.0
29596         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
29597         if-block containing a while-loop.  It's been unused for at least
29598         5 years.
29599
29600 2010-06-05  Bruno Haible  <bruno@clisp.org>
29601
29602         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
29603         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
29604
29605 2010-06-04  Bruno Haible  <bruno@clisp.org>
29606
29607         Update to GNU gettext 0.18.1.
29608         * modules/gettext (configure.ac): Require gettext infrastructure from
29609         version 0.18.1.
29610
29611 2010-06-03  Bruno Haible  <bruno@clisp.org>
29612
29613         Don't use AC_LIBOBJ with file names in subdirectories.
29614         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
29615         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
29616         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
29617         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
29618         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
29619         gl_LIBUNISTRING_LIBSOURCE.
29620         (Makefile.am): Augment lib_SOURCES here, conditionally.
29621         * NEWS: Drop requirement for Automake option 'subdir-objects'.
29622
29623 2010-06-03  Bruno Haible  <bruno@clisp.org>
29624
29625         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
29626         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
29627         expansion does not end with a newline.
29628         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
29629         unnecessary newline.
29630
29631 2010-06-03  Bruno Haible  <bruno@clisp.org>
29632
29633         Reduce dependencies.
29634         * tests/test-quotearg.h: New file, extracted from
29635         tests/test-quotearg.c.
29636         * tests/test-quotearg-simple.c: New file, extracted from
29637         tests/test-quotearg.c.
29638         * tests/test-quotearg.c: Don't include <ctype.h>.
29639         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
29640         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
29641         use_quote_double_quotes, use_quotearg_colon): Moved to
29642         tests/test-quotearg.h.
29643         (results_g, flag_results, custom_quotes, custom_results): Moved
29644         to tests/test-quotearg-simple.c.
29645         (main): Moved the part that does not depend on gettext to
29646         tests/test-quotearg-simple.c. Return 77 if the test cannot be
29647         performed.
29648         * modules/quotearg-simple: New file.
29649         * modules/quotearg-simple-tests: New file.
29650         * modules/quotearg (Depends-on): Add quotearg-simple.
29651         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
29652         (Files): Add tests/test-quotearg.h.
29653         Reported by Paolo Bonzini.
29654
29655 2010-06-03  Bruno Haible  <bruno@clisp.org>
29656
29657         Reduce dependencies.
29658         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
29659
29660 2010-06-03  Bruno Haible  <bruno@clisp.org>
29661
29662         time: Undefine more broken macros.
29663         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
29664         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
29665         Reported by Eric Blake.
29666
29667 2010-06-03  Bruno Haible  <bruno@clisp.org>
29668
29669         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
29670         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
29671         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
29672         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
29673         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
29674         Reported by Ludovic Courtès <ludo@gnu.org>.
29675
29676 2010-06-02  Eric Blake  <eblake@redhat.com>
29677
29678         time: work with mingw + pthreads-win32 library
29679         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
29680         if timespec is defined only in pthread.h.
29681         * modules/time (Makefile.am): Substitute it.
29682         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
29683         <pthread.h>, when needed.
29684         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
29685         from the library.
29686
29687 2010-05-31  Bruno Haible  <bruno@clisp.org>
29688
29689         Avoid expanding two macros in the wrong order.
29690         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
29691         gl_LIBUNISTRING if it is defined.
29692         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
29693         autoconf >= 2.64.
29694         Reported by Ludovic Courtès <ludo@gnu.org>.
29695
29696 2010-05-27  Jim Meyering  <meyering@redhat.com>
29697
29698         maint.mk: also prohibit "#undef" of always-defined symbols
29699         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
29700         Allow more than one space before the symbol name.
29701         (sc_prohibit_always-defined_macros): Use grep's -E, now that
29702         the regexp uses alternation.
29703
29704 2010-05-26  Eric Blake  <eblake@redhat.com>
29705
29706         maint.mk: avoid echo -e
29707         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
29708         Convert all uses of echo -* to printf.
29709         Reported by Matthias Bolte.
29710
29711 2010-05-25  Bruno Haible  <bruno@clisp.org>
29712
29713         Update to GNU gettext 0.18, part 2.
29714         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
29715         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
29716
29717 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29718
29719         Add missing include in test-pwrite.c.
29720         * tests/test-pwrite.c: Include string.h, for strcmp.
29721
29722 2010-05-24  Bruno Haible  <bruno@clisp.org>
29723
29724         * NEWS: Mention requirement for Automake option 'subdir-objects'.
29725
29726 2010-05-24  Bruno Haible  <bruno@clisp.org>
29727
29728         Don't use conversion with transliteration in u{8,16,32}_strcoll.
29729         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
29730         iconveh_error argument.
29731         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
29732         U_STRCONV_TO_LOCALE.
29733         * lib/unistr/u16-strcoll.c: Likewise.
29734         * lib/unistr/u32-strcoll.c: Likewise.
29735         * modules/unistr/u8-strcoll (Depends-on): Add
29736         uniconv/u8-strconv-to-enc, localcharset. Remove
29737         uniconv/u8-strconv-to-locale.
29738         (configure.ac): Bump version number.
29739         * modules/unistr/u16-strcoll (Depends-on): Add
29740         uniconv/u16-strconv-to-enc, localcharset. Remove
29741         uniconv/u16-strconv-to-locale.
29742         (configure.ac): Bump version number.
29743         * modules/unistr/u32-strcoll (Depends-on): Add
29744         uniconv/u32-strconv-to-enc, localcharset. Remove
29745         uniconv/u32-strconv-to-locale.
29746         (configure.ac): Bump version number.
29747
29748 2010-05-24  Bruno Haible  <bruno@clisp.org>
29749
29750         Avoid a test failure on NetBSD 5.0.
29751         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
29752         an iconv() bug.
29753
29754 2010-05-24  Bruno Haible  <bruno@clisp.org>
29755
29756         Adjust #include directive style.
29757         * modules/regex (Includes): Recommend to write <regex.h>.
29758
29759 2010-05-24  Bruno Haible  <bruno@clisp.org>
29760
29761         regex: Don't require alloca.
29762         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
29763         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
29764         only inside if (0).
29765
29766 2010-05-23  Jim Meyering  <meyering@redhat.com>
29767
29768         test-renameat.c: include <sys/stat.h>
29769         * tests/test-renameat.c: Include <sys/stat.h>; required for
29770         definition of S_IS* macros.
29771
29772 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
29773
29774         Update maintainer documentation for 'relocatable-prog' module.
29775         * doc/relocatable-maint.texi: Update.
29776         Comments by Bruno Haible.
29777
29778 2010-05-23  Bruno Haible  <bruno@clisp.org>
29779
29780         git-merge-changelog: Enable --split-merged-entry by default.
29781         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
29782         (usage): Don't mention this option any more.
29783         Reported by Ralf Wildenhues.
29784
29785 2010-05-23  Jim Meyering  <meyering@redhat.com>
29786
29787         test-pwrite: do not leave behind a test file named "out"
29788         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
29789         The trivial-looking use of init.sh is really necessary.
29790         It ensures that the temporary file, "out", is created in
29791         a temporary directory, and removed upon termination.
29792         * tests/test-pwrite.sh: Re-add file.
29793         * modules/pwrite-tests: Reference it.
29794
29795 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29796
29797         Fix output redirection buglet in init.sh.
29798         * tests/init.sh: Fix redirection of stderr.
29799
29800 2010-05-20  Simon Josefsson  <simon@josefsson.org>
29801
29802         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
29803
29804 2010-05-17  Simon Josefsson  <simon@josefsson.org>
29805
29806         * modules/valgrind-tests: New file.
29807         * m4/valgrind-tests.m4: New file.
29808         * doc/valgrind-tests.texi: New file.
29809         * doc/gnulib.texi (Running self-tests under valgrind): New
29810         section.
29811
29812 2010-05-19  Bruno Haible  <bruno@clisp.org>
29813
29814         Clean up dead code in recent commit.
29815         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
29816         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
29817         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
29818         Suggested by Paolo Bonzini.
29819
29820 2010-05-19  Bruno Haible  <bruno@clisp.org>
29821
29822         Avoid valgrind error reports from libunistring.
29823         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
29824         * modules/libunistring (Files): Add it.
29825         * modules/libunistring-optional (Files): Likewise.
29826
29827 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
29828             Bruno Haible  <bruno@clisp.org>
29829
29830         New module 'libunistring-optional'.
29831         * modules/libunistring-optional: New file.
29832         * m4/libunistring-base.m4: New file.
29833         * m4/libunistring-optional.m4: New file.
29834         * lib/unicase.in.h: Renamed from lib/unicase.h.
29835         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
29836         * lib/unictype.in.h: Renamed from lib/unictype.h.
29837         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
29838         * lib/uniname.in.h: Renamed from lib/uniname.h.
29839         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
29840         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
29841         * lib/unistr.in.h: Renamed from lib/unistr.h.
29842         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
29843         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
29844         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
29845         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
29846         gl_LIBUNISTRING. If the library was found, determine the installed
29847         version and set LIBUNISTRING_VERSION.
29848         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
29849         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
29850         handle a configuration option --with-included-libunistring.
29851         * modules/libunistring (Files): Add m4/absolute-header.m4.
29852         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
29853         Add m4/libunistring-base.m4.
29854         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29855         (Makefile.am): Build unicase.h from unicase.in.h.
29856         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
29857         Add m4/libunistring-base.m4.
29858         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29859         (Makefile.am): Build uniconv.h from uniconv.in.h.
29860         * modules/unictype/base (Files): Use unictype.in.h instead of
29861         unictype.h. Add m4/libunistring-base.m4.
29862         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29863         (Makefile.am): Build unictype.h from unictype.in.h.
29864         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
29865         Add m4/libunistring-base.m4.
29866         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29867         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
29868         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
29869         Add m4/libunistring-base.m4.
29870         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29871         (Makefile.am): Build uniname.h from uniname.in.h.
29872         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
29873         Add m4/libunistring-base.m4.
29874         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29875         (Makefile.am): Build uninorm.h from uninorm.in.h.
29876         * modules/unistdio/base (Files): Use unistdio.in.h instead of
29877         unistdio.h. Add m4/libunistring-base.m4.
29878         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29879         (Makefile.am): Build unistdio.h from unistdio.in.h.
29880         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
29881         Add m4/libunistring-base.m4.
29882         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29883         (Makefile.am): Build unistr.h from unistr.in.h.
29884         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
29885         Add m4/libunistring-base.m4.
29886         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29887         (Makefile.am): Build unitypes.h from unitypes.in.h.
29888         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
29889         Add m4/libunistring-base.m4.
29890         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29891         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
29892         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
29893         uniwidth.h. Add m4/libunistring-base.m4.
29894         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
29895         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
29896         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
29897         instead of augmenting lib_SOURCES.
29898         * modules/unicase/empty-suffix-context: Likewise.
29899         * modules/unicase/locale-language: Likewise.
29900         * modules/unicase/tolower: Likewise.
29901         * modules/unicase/totitle: Likewise.
29902         * modules/unicase/toupper: Likewise.
29903         * modules/unicase/u8-casecmp: Likewise.
29904         * modules/unicase/u8-casecoll: Likewise.
29905         * modules/unicase/u8-casefold: Likewise.
29906         * modules/unicase/u8-casexfrm: Likewise.
29907         * modules/unicase/u8-ct-casefold: Likewise.
29908         * modules/unicase/u8-ct-tolower: Likewise.
29909         * modules/unicase/u8-ct-totitle: Likewise.
29910         * modules/unicase/u8-ct-toupper: Likewise.
29911         * modules/unicase/u8-is-cased: Likewise.
29912         * modules/unicase/u8-is-casefolded: Likewise.
29913         * modules/unicase/u8-is-lowercase: Likewise.
29914         * modules/unicase/u8-is-titlecase: Likewise.
29915         * modules/unicase/u8-is-uppercase: Likewise.
29916         * modules/unicase/u8-prefix-context: Likewise.
29917         * modules/unicase/u8-suffix-context: Likewise.
29918         * modules/unicase/u8-tolower: Likewise.
29919         * modules/unicase/u8-totitle: Likewise.
29920         * modules/unicase/u8-toupper: Likewise.
29921         * modules/unicase/u16-casecmp: Likewise.
29922         * modules/unicase/u16-casecoll: Likewise.
29923         * modules/unicase/u16-casefold: Likewise.
29924         * modules/unicase/u16-casexfrm: Likewise.
29925         * modules/unicase/u16-ct-casefold: Likewise.
29926         * modules/unicase/u16-ct-tolower: Likewise.
29927         * modules/unicase/u16-ct-totitle: Likewise.
29928         * modules/unicase/u16-ct-toupper: Likewise.
29929         * modules/unicase/u16-is-cased: Likewise.
29930         * modules/unicase/u16-is-casefolded: Likewise.
29931         * modules/unicase/u16-is-lowercase: Likewise.
29932         * modules/unicase/u16-is-titlecase: Likewise.
29933         * modules/unicase/u16-is-uppercase: Likewise.
29934         * modules/unicase/u16-prefix-context: Likewise.
29935         * modules/unicase/u16-suffix-context: Likewise.
29936         * modules/unicase/u16-tolower: Likewise.
29937         * modules/unicase/u16-totitle: Likewise.
29938         * modules/unicase/u16-toupper: Likewise.
29939         * modules/unicase/u32-casecmp: Likewise.
29940         * modules/unicase/u32-casecoll: Likewise.
29941         * modules/unicase/u32-casefold: Likewise.
29942         * modules/unicase/u32-casexfrm: Likewise.
29943         * modules/unicase/u32-ct-casefold: Likewise.
29944         * modules/unicase/u32-ct-tolower: Likewise.
29945         * modules/unicase/u32-ct-totitle: Likewise.
29946         * modules/unicase/u32-ct-toupper: Likewise.
29947         * modules/unicase/u32-is-cased: Likewise.
29948         * modules/unicase/u32-is-casefolded: Likewise.
29949         * modules/unicase/u32-is-lowercase: Likewise.
29950         * modules/unicase/u32-is-titlecase: Likewise.
29951         * modules/unicase/u32-is-uppercase: Likewise.
29952         * modules/unicase/u32-prefix-context: Likewise.
29953         * modules/unicase/u32-suffix-context: Likewise.
29954         * modules/unicase/u32-tolower: Likewise.
29955         * modules/unicase/u32-totitle: Likewise.
29956         * modules/unicase/u32-toupper: Likewise.
29957         * modules/unicase/ulc-casecmp: Likewise.
29958         * modules/unicase/ulc-casecoll: Likewise.
29959         * modules/unicase/ulc-casexfrm: Likewise.
29960         * modules/uniconv/u8-conv-from-enc: Likewise.
29961         * modules/uniconv/u8-conv-to-enc: Likewise.
29962         * modules/uniconv/u8-strconv-from-enc: Likewise.
29963         * modules/uniconv/u8-strconv-from-locale: Likewise.
29964         * modules/uniconv/u8-strconv-to-enc: Likewise.
29965         * modules/uniconv/u8-strconv-to-locale: Likewise.
29966         * modules/uniconv/u16-conv-from-enc: Likewise.
29967         * modules/uniconv/u16-conv-to-enc: Likewise.
29968         * modules/uniconv/u16-strconv-from-enc: Likewise.
29969         * modules/uniconv/u16-strconv-from-locale: Likewise.
29970         * modules/uniconv/u16-strconv-to-enc: Likewise.
29971         * modules/uniconv/u16-strconv-to-locale: Likewise.
29972         * modules/uniconv/u32-conv-from-enc: Likewise.
29973         * modules/uniconv/u32-conv-to-enc: Likewise.
29974         * modules/uniconv/u32-strconv-from-enc: Likewise.
29975         * modules/uniconv/u32-strconv-from-locale: Likewise.
29976         * modules/uniconv/u32-strconv-to-enc: Likewise.
29977         * modules/uniconv/u32-strconv-to-locale: Likewise.
29978         * modules/unictype/bidicategory-byname: Likewise.
29979         * modules/unictype/bidicategory-name: Likewise.
29980         * modules/unictype/bidicategory-of: Likewise.
29981         * modules/unictype/bidicategory-test: Likewise.
29982         * modules/unictype/block-list: Likewise.
29983         * modules/unictype/block-test: Likewise.
29984         * modules/unictype/category-C: Likewise.
29985         * modules/unictype/category-Cc: Likewise.
29986         * modules/unictype/category-Cf: Likewise.
29987         * modules/unictype/category-Cn: Likewise.
29988         * modules/unictype/category-Co: Likewise.
29989         * modules/unictype/category-Cs: Likewise.
29990         * modules/unictype/category-L: Likewise.
29991         * modules/unictype/category-Ll: Likewise.
29992         * modules/unictype/category-Lm: Likewise.
29993         * modules/unictype/category-Lo: Likewise.
29994         * modules/unictype/category-Lt: Likewise.
29995         * modules/unictype/category-Lu: Likewise.
29996         * modules/unictype/category-M: Likewise.
29997         * modules/unictype/category-Mc: Likewise.
29998         * modules/unictype/category-Me: Likewise.
29999         * modules/unictype/category-Mn: Likewise.
30000         * modules/unictype/category-N: Likewise.
30001         * modules/unictype/category-Nd: Likewise.
30002         * modules/unictype/category-Nl: Likewise.
30003         * modules/unictype/category-No: Likewise.
30004         * modules/unictype/category-P: Likewise.
30005         * modules/unictype/category-Pc: Likewise.
30006         * modules/unictype/category-Pd: Likewise.
30007         * modules/unictype/category-Pe: Likewise.
30008         * modules/unictype/category-Pf: Likewise.
30009         * modules/unictype/category-Pi: Likewise.
30010         * modules/unictype/category-Po: Likewise.
30011         * modules/unictype/category-Ps: Likewise.
30012         * modules/unictype/category-S: Likewise.
30013         * modules/unictype/category-Sc: Likewise.
30014         * modules/unictype/category-Sk: Likewise.
30015         * modules/unictype/category-Sm: Likewise.
30016         * modules/unictype/category-So: Likewise.
30017         * modules/unictype/category-Z: Likewise.
30018         * modules/unictype/category-Zl: Likewise.
30019         * modules/unictype/category-Zp: Likewise.
30020         * modules/unictype/category-Zs: Likewise.
30021         * modules/unictype/category-and: Likewise.
30022         * modules/unictype/category-and-not: Likewise.
30023         * modules/unictype/category-byname: Likewise.
30024         * modules/unictype/category-name: Likewise.
30025         * modules/unictype/category-none: Likewise.
30026         * modules/unictype/category-of: Likewise.
30027         * modules/unictype/category-or: Likewise.
30028         * modules/unictype/category-test: Likewise.
30029         * modules/unictype/combining-class: Likewise.
30030         * modules/unictype/ctype-alnum: Likewise.
30031         * modules/unictype/ctype-alpha: Likewise.
30032         * modules/unictype/ctype-blank: Likewise.
30033         * modules/unictype/ctype-cntrl: Likewise.
30034         * modules/unictype/ctype-digit: Likewise.
30035         * modules/unictype/ctype-graph: Likewise.
30036         * modules/unictype/ctype-lower: Likewise.
30037         * modules/unictype/ctype-print: Likewise.
30038         * modules/unictype/ctype-punct: Likewise.
30039         * modules/unictype/ctype-space: Likewise.
30040         * modules/unictype/ctype-upper: Likewise.
30041         * modules/unictype/ctype-xdigit: Likewise.
30042         * modules/unictype/decimal-digit: Likewise.
30043         * modules/unictype/digit: Likewise.
30044         * modules/unictype/mirror: Likewise.
30045         * modules/unictype/numeric: Likewise.
30046         * modules/unictype/property-alphabetic: Likewise.
30047         * modules/unictype/property-ascii-hex-digit: Likewise.
30048         * modules/unictype/property-bidi-arabic-digit: Likewise.
30049         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
30050         * modules/unictype/property-bidi-block-separator: Likewise.
30051         * modules/unictype/property-bidi-boundary-neutral: Likewise.
30052         * modules/unictype/property-bidi-common-separator: Likewise.
30053         * modules/unictype/property-bidi-control: Likewise.
30054         * modules/unictype/property-bidi-embedding-or-override: Likewise.
30055         * modules/unictype/property-bidi-eur-num-separator: Likewise.
30056         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
30057         * modules/unictype/property-bidi-european-digit: Likewise.
30058         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
30059         * modules/unictype/property-bidi-left-to-right: Likewise.
30060         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
30061         * modules/unictype/property-bidi-other-neutral: Likewise.
30062         * modules/unictype/property-bidi-pdf: Likewise.
30063         * modules/unictype/property-bidi-segment-separator: Likewise.
30064         * modules/unictype/property-bidi-whitespace: Likewise.
30065         * modules/unictype/property-byname: Likewise.
30066         * modules/unictype/property-combining: Likewise.
30067         * modules/unictype/property-composite: Likewise.
30068         * modules/unictype/property-currency-symbol: Likewise.
30069         * modules/unictype/property-dash: Likewise.
30070         * modules/unictype/property-decimal-digit: Likewise.
30071         * modules/unictype/property-default-ignorable-code-point: Likewise.
30072         * modules/unictype/property-deprecated: Likewise.
30073         * modules/unictype/property-diacritic: Likewise.
30074         * modules/unictype/property-extender: Likewise.
30075         * modules/unictype/property-format-control: Likewise.
30076         * modules/unictype/property-grapheme-base: Likewise.
30077         * modules/unictype/property-grapheme-extend: Likewise.
30078         * modules/unictype/property-grapheme-link: Likewise.
30079         * modules/unictype/property-hex-digit: Likewise.
30080         * modules/unictype/property-hyphen: Likewise.
30081         * modules/unictype/property-id-continue: Likewise.
30082         * modules/unictype/property-id-start: Likewise.
30083         * modules/unictype/property-ideographic: Likewise.
30084         * modules/unictype/property-ids-binary-operator: Likewise.
30085         * modules/unictype/property-ids-trinary-operator: Likewise.
30086         * modules/unictype/property-ignorable-control: Likewise.
30087         * modules/unictype/property-iso-control: Likewise.
30088         * modules/unictype/property-join-control: Likewise.
30089         * modules/unictype/property-left-of-pair: Likewise.
30090         * modules/unictype/property-line-separator: Likewise.
30091         * modules/unictype/property-logical-order-exception: Likewise.
30092         * modules/unictype/property-lowercase: Likewise.
30093         * modules/unictype/property-math: Likewise.
30094         * modules/unictype/property-non-break: Likewise.
30095         * modules/unictype/property-not-a-character: Likewise.
30096         * modules/unictype/property-numeric: Likewise.
30097         * modules/unictype/property-other-alphabetic: Likewise.
30098         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
30099         * modules/unictype/property-other-grapheme-extend: Likewise.
30100         * modules/unictype/property-other-id-continue: Likewise.
30101         * modules/unictype/property-other-id-start: Likewise.
30102         * modules/unictype/property-other-lowercase: Likewise.
30103         * modules/unictype/property-other-math: Likewise.
30104         * modules/unictype/property-other-uppercase: Likewise.
30105         * modules/unictype/property-paired-punctuation: Likewise.
30106         * modules/unictype/property-paragraph-separator: Likewise.
30107         * modules/unictype/property-pattern-syntax: Likewise.
30108         * modules/unictype/property-pattern-white-space: Likewise.
30109         * modules/unictype/property-private-use: Likewise.
30110         * modules/unictype/property-punctuation: Likewise.
30111         * modules/unictype/property-quotation-mark: Likewise.
30112         * modules/unictype/property-radical: Likewise.
30113         * modules/unictype/property-sentence-terminal: Likewise.
30114         * modules/unictype/property-soft-dotted: Likewise.
30115         * modules/unictype/property-space: Likewise.
30116         * modules/unictype/property-terminal-punctuation: Likewise.
30117         * modules/unictype/property-test: Likewise.
30118         * modules/unictype/property-titlecase: Likewise.
30119         * modules/unictype/property-unassigned-code-value: Likewise.
30120         * modules/unictype/property-unified-ideograph: Likewise.
30121         * modules/unictype/property-uppercase: Likewise.
30122         * modules/unictype/property-variation-selector: Likewise.
30123         * modules/unictype/property-white-space: Likewise.
30124         * modules/unictype/property-xid-continue: Likewise.
30125         * modules/unictype/property-xid-start: Likewise.
30126         * modules/unictype/property-zero-width: Likewise.
30127         * modules/unictype/scripts: Likewise.
30128         * modules/unictype/syntax-c-ident: Likewise.
30129         * modules/unictype/syntax-c-whitespace: Likewise.
30130         * modules/unictype/syntax-java-ident: Likewise.
30131         * modules/unictype/syntax-java-whitespace: Likewise.
30132         * modules/unilbrk/u8-possible-linebreaks: Likewise.
30133         * modules/unilbrk/u8-width-linebreaks: Likewise.
30134         * modules/unilbrk/u16-possible-linebreaks: Likewise.
30135         * modules/unilbrk/u16-width-linebreaks: Likewise.
30136         * modules/unilbrk/u32-possible-linebreaks: Likewise.
30137         * modules/unilbrk/u32-width-linebreaks: Likewise.
30138         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
30139         * modules/unilbrk/ulc-width-linebreaks: Likewise.
30140         * modules/uniname/uniname: Likewise.
30141         * modules/uninorm/canonical-decomposition: Likewise.
30142         * modules/uninorm/composition: Likewise.
30143         * modules/uninorm/decomposing-form: Likewise.
30144         * modules/uninorm/decomposition: Likewise.
30145         * modules/uninorm/filter: Likewise.
30146         * modules/uninorm/nfc: Likewise.
30147         * modules/uninorm/nfd: Likewise.
30148         * modules/uninorm/nfkc: Likewise.
30149         * modules/uninorm/nfkd: Likewise.
30150         * modules/uninorm/u8-normalize: Likewise.
30151         * modules/uninorm/u8-normcmp: Likewise.
30152         * modules/uninorm/u8-normcoll: Likewise.
30153         * modules/uninorm/u8-normxfrm: Likewise.
30154         * modules/uninorm/u16-normalize: Likewise.
30155         * modules/uninorm/u16-normcmp: Likewise.
30156         * modules/uninorm/u16-normcoll: Likewise.
30157         * modules/uninorm/u16-normxfrm: Likewise.
30158         * modules/uninorm/u32-normalize: Likewise.
30159         * modules/uninorm/u32-normcmp: Likewise.
30160         * modules/uninorm/u32-normcoll: Likewise.
30161         * modules/uninorm/u32-normxfrm: Likewise.
30162         * modules/unistdio/u8-asnprintf: Likewise.
30163         * modules/unistdio/u8-asprintf: Likewise.
30164         * modules/unistdio/u8-snprintf: Likewise.
30165         * modules/unistdio/u8-sprintf: Likewise.
30166         * modules/unistdio/u8-u8-asnprintf: Likewise.
30167         * modules/unistdio/u8-u8-asprintf: Likewise.
30168         * modules/unistdio/u8-u8-snprintf: Likewise.
30169         * modules/unistdio/u8-u8-sprintf: Likewise.
30170         * modules/unistdio/u8-u8-vasnprintf: Likewise.
30171         * modules/unistdio/u8-u8-vasprintf: Likewise.
30172         * modules/unistdio/u8-u8-vsnprintf: Likewise.
30173         * modules/unistdio/u8-u8-vsprintf: Likewise.
30174         * modules/unistdio/u8-vasnprintf: Likewise.
30175         * modules/unistdio/u8-vasprintf: Likewise.
30176         * modules/unistdio/u8-vsnprintf: Likewise.
30177         * modules/unistdio/u8-vsprintf: Likewise.
30178         * modules/unistdio/u16-asnprintf: Likewise.
30179         * modules/unistdio/u16-asprintf: Likewise.
30180         * modules/unistdio/u16-snprintf: Likewise.
30181         * modules/unistdio/u16-sprintf: Likewise.
30182         * modules/unistdio/u16-u16-asnprintf: Likewise.
30183         * modules/unistdio/u16-u16-asprintf: Likewise.
30184         * modules/unistdio/u16-u16-snprintf: Likewise.
30185         * modules/unistdio/u16-u16-sprintf: Likewise.
30186         * modules/unistdio/u16-u16-vasnprintf: Likewise.
30187         * modules/unistdio/u16-u16-vasprintf: Likewise.
30188         * modules/unistdio/u16-u16-vsnprintf: Likewise.
30189         * modules/unistdio/u16-u16-vsprintf: Likewise.
30190         * modules/unistdio/u16-vasnprintf: Likewise.
30191         * modules/unistdio/u16-vasprintf: Likewise.
30192         * modules/unistdio/u16-vsnprintf: Likewise.
30193         * modules/unistdio/u16-vsprintf: Likewise.
30194         * modules/unistdio/u32-asnprintf: Likewise.
30195         * modules/unistdio/u32-asprintf: Likewise.
30196         * modules/unistdio/u32-snprintf: Likewise.
30197         * modules/unistdio/u32-sprintf: Likewise.
30198         * modules/unistdio/u32-u32-asnprintf: Likewise.
30199         * modules/unistdio/u32-u32-asprintf: Likewise.
30200         * modules/unistdio/u32-u32-snprintf: Likewise.
30201         * modules/unistdio/u32-u32-sprintf: Likewise.
30202         * modules/unistdio/u32-u32-vasnprintf: Likewise.
30203         * modules/unistdio/u32-u32-vasprintf: Likewise.
30204         * modules/unistdio/u32-u32-vsnprintf: Likewise.
30205         * modules/unistdio/u32-u32-vsprintf: Likewise.
30206         * modules/unistdio/u32-vasnprintf: Likewise.
30207         * modules/unistdio/u32-vasprintf: Likewise.
30208         * modules/unistdio/u32-vsnprintf: Likewise.
30209         * modules/unistdio/u32-vsprintf: Likewise.
30210         * modules/unistdio/ulc-asnprintf: Likewise.
30211         * modules/unistdio/ulc-asprintf: Likewise.
30212         * modules/unistdio/ulc-fprintf: Likewise.
30213         * modules/unistdio/ulc-snprintf: Likewise.
30214         * modules/unistdio/ulc-sprintf: Likewise.
30215         * modules/unistdio/ulc-vasnprintf: Likewise.
30216         * modules/unistdio/ulc-vasprintf: Likewise.
30217         * modules/unistdio/ulc-vfprintf: Likewise.
30218         * modules/unistdio/ulc-vsnprintf: Likewise.
30219         * modules/unistdio/ulc-vsprintf: Likewise.
30220         * modules/unistr/u8-check: Likewise.
30221         * modules/unistr/u8-chr: Likewise.
30222         * modules/unistr/u8-cmp: Likewise.
30223         * modules/unistr/u8-cmp2: Likewise.
30224         * modules/unistr/u8-cpy: Likewise.
30225         * modules/unistr/u8-cpy-alloc: Likewise.
30226         * modules/unistr/u8-endswith: Likewise.
30227         * modules/unistr/u8-mblen: Likewise.
30228         * modules/unistr/u8-mbsnlen: Likewise.
30229         * modules/unistr/u8-mbtouc: Likewise.
30230         * modules/unistr/u8-mbtouc-unsafe: Likewise.
30231         * modules/unistr/u8-mbtoucr: Likewise.
30232         * modules/unistr/u8-move: Likewise.
30233         * modules/unistr/u8-next: Likewise.
30234         * modules/unistr/u8-prev: Likewise.
30235         * modules/unistr/u8-set: Likewise.
30236         * modules/unistr/u8-startswith: Likewise.
30237         * modules/unistr/u8-stpcpy: Likewise.
30238         * modules/unistr/u8-stpncpy: Likewise.
30239         * modules/unistr/u8-strcat: Likewise.
30240         * modules/unistr/u8-strchr: Likewise.
30241         * modules/unistr/u8-strcmp: Likewise.
30242         * modules/unistr/u8-strcoll: Likewise.
30243         * modules/unistr/u8-strcpy: Likewise.
30244         * modules/unistr/u8-strcspn: Likewise.
30245         * modules/unistr/u8-strdup: Likewise.
30246         * modules/unistr/u8-strlen: Likewise.
30247         * modules/unistr/u8-strmblen: Likewise.
30248         * modules/unistr/u8-strmbtouc: Likewise.
30249         * modules/unistr/u8-strncat: Likewise.
30250         * modules/unistr/u8-strncmp: Likewise.
30251         * modules/unistr/u8-strncpy: Likewise.
30252         * modules/unistr/u8-strnlen: Likewise.
30253         * modules/unistr/u8-strpbrk: Likewise.
30254         * modules/unistr/u8-strrchr: Likewise.
30255         * modules/unistr/u8-strspn: Likewise.
30256         * modules/unistr/u8-strstr: Likewise.
30257         * modules/unistr/u8-strtok: Likewise.
30258         * modules/unistr/u8-to-u16: Likewise.
30259         * modules/unistr/u8-to-u32: Likewise.
30260         * modules/unistr/u8-uctomb: Likewise.
30261         * modules/unistr/u16-check: Likewise.
30262         * modules/unistr/u16-chr: Likewise.
30263         * modules/unistr/u16-cmp: Likewise.
30264         * modules/unistr/u16-cmp2: Likewise.
30265         * modules/unistr/u16-cpy: Likewise.
30266         * modules/unistr/u16-cpy-alloc: Likewise.
30267         * modules/unistr/u16-endswith: Likewise.
30268         * modules/unistr/u16-mblen: Likewise.
30269         * modules/unistr/u16-mbsnlen: Likewise.
30270         * modules/unistr/u16-mbtouc: Likewise.
30271         * modules/unistr/u16-mbtouc-unsafe: Likewise.
30272         * modules/unistr/u16-mbtoucr: Likewise.
30273         * modules/unistr/u16-move: Likewise.
30274         * modules/unistr/u16-next: Likewise.
30275         * modules/unistr/u16-prev: Likewise.
30276         * modules/unistr/u16-set: Likewise.
30277         * modules/unistr/u16-startswith: Likewise.
30278         * modules/unistr/u16-stpcpy: Likewise.
30279         * modules/unistr/u16-stpncpy: Likewise.
30280         * modules/unistr/u16-strcat: Likewise.
30281         * modules/unistr/u16-strchr: Likewise.
30282         * modules/unistr/u16-strcmp: Likewise.
30283         * modules/unistr/u16-strcoll: Likewise.
30284         * modules/unistr/u16-strcpy: Likewise.
30285         * modules/unistr/u16-strcspn: Likewise.
30286         * modules/unistr/u16-strdup: Likewise.
30287         * modules/unistr/u16-strlen: Likewise.
30288         * modules/unistr/u16-strmblen: Likewise.
30289         * modules/unistr/u16-strmbtouc: Likewise.
30290         * modules/unistr/u16-strncat: Likewise.
30291         * modules/unistr/u16-strncmp: Likewise.
30292         * modules/unistr/u16-strncpy: Likewise.
30293         * modules/unistr/u16-strnlen: Likewise.
30294         * modules/unistr/u16-strpbrk: Likewise.
30295         * modules/unistr/u16-strrchr: Likewise.
30296         * modules/unistr/u16-strspn: Likewise.
30297         * modules/unistr/u16-strstr: Likewise.
30298         * modules/unistr/u16-strtok: Likewise.
30299         * modules/unistr/u16-to-u32: Likewise.
30300         * modules/unistr/u16-to-u8: Likewise.
30301         * modules/unistr/u16-uctomb: Likewise.
30302         * modules/unistr/u32-check: Likewise.
30303         * modules/unistr/u32-chr: Likewise.
30304         * modules/unistr/u32-cmp: Likewise.
30305         * modules/unistr/u32-cmp2: Likewise.
30306         * modules/unistr/u32-cpy: Likewise.
30307         * modules/unistr/u32-cpy-alloc: Likewise.
30308         * modules/unistr/u32-endswith: Likewise.
30309         * modules/unistr/u32-mblen: Likewise.
30310         * modules/unistr/u32-mbsnlen: Likewise.
30311         * modules/unistr/u32-mbtouc: Likewise.
30312         * modules/unistr/u32-mbtouc-unsafe: Likewise.
30313         * modules/unistr/u32-mbtoucr: Likewise.
30314         * modules/unistr/u32-move: Likewise.
30315         * modules/unistr/u32-next: Likewise.
30316         * modules/unistr/u32-prev: Likewise.
30317         * modules/unistr/u32-set: Likewise.
30318         * modules/unistr/u32-startswith: Likewise.
30319         * modules/unistr/u32-stpcpy: Likewise.
30320         * modules/unistr/u32-stpncpy: Likewise.
30321         * modules/unistr/u32-strcat: Likewise.
30322         * modules/unistr/u32-strchr: Likewise.
30323         * modules/unistr/u32-strcmp: Likewise.
30324         * modules/unistr/u32-strcoll: Likewise.
30325         * modules/unistr/u32-strcpy: Likewise.
30326         * modules/unistr/u32-strcspn: Likewise.
30327         * modules/unistr/u32-strdup: Likewise.
30328         * modules/unistr/u32-strlen: Likewise.
30329         * modules/unistr/u32-strmblen: Likewise.
30330         * modules/unistr/u32-strmbtouc: Likewise.
30331         * modules/unistr/u32-strncat: Likewise.
30332         * modules/unistr/u32-strncmp: Likewise.
30333         * modules/unistr/u32-strncpy: Likewise.
30334         * modules/unistr/u32-strnlen: Likewise.
30335         * modules/unistr/u32-strpbrk: Likewise.
30336         * modules/unistr/u32-strrchr: Likewise.
30337         * modules/unistr/u32-strspn: Likewise.
30338         * modules/unistr/u32-strstr: Likewise.
30339         * modules/unistr/u32-strtok: Likewise.
30340         * modules/unistr/u32-to-u16: Likewise.
30341         * modules/unistr/u32-to-u8: Likewise.
30342         * modules/unistr/u32-uctomb: Likewise.
30343         * modules/uniwbrk/u8-wordbreaks: Likewise.
30344         * modules/uniwbrk/u16-wordbreaks: Likewise.
30345         * modules/uniwbrk/u32-wordbreaks: Likewise.
30346         * modules/uniwbrk/ulc-wordbreaks: Likewise.
30347         * modules/uniwbrk/wordbreak-property: Likewise.
30348         * modules/uniwidth/u8-strwidth: Likewise.
30349         * modules/uniwidth/u8-width: Likewise.
30350         * modules/uniwidth/u16-strwidth: Likewise.
30351         * modules/uniwidth/u16-width: Likewise.
30352         * modules/uniwidth/u32-strwidth: Likewise.
30353         * modules/uniwidth/u32-width: Likewise.
30354         * modules/uniwidth/width: Likewise.
30355         * modules/unicase/cased-tests (Makefile.am): Link all test programs
30356         with $(LIBUNISTRING).
30357         * modules/unicase/ignorable-tests: Likewise.
30358         * modules/unicase/locale-language-tests: Likewise.
30359         * modules/unicase/tolower-tests: Likewise.
30360         * modules/unicase/totitle-tests: Likewise.
30361         * modules/unicase/toupper-tests: Likewise.
30362         * modules/unicase/u8-casecmp-tests: Likewise.
30363         * modules/unicase/u8-casecoll-tests: Likewise.
30364         * modules/unicase/u8-casefold-tests: Likewise.
30365         * modules/unicase/u8-is-cased-tests: Likewise.
30366         * modules/unicase/u8-is-casefolded-tests: Likewise.
30367         * modules/unicase/u8-is-lowercase-tests: Likewise.
30368         * modules/unicase/u8-is-titlecase-tests: Likewise.
30369         * modules/unicase/u8-is-uppercase-tests: Likewise.
30370         * modules/unicase/u8-tolower-tests: Likewise.
30371         * modules/unicase/u8-totitle-tests: Likewise.
30372         * modules/unicase/u8-toupper-tests: Likewise.
30373         * modules/unicase/u16-casecmp-tests: Likewise.
30374         * modules/unicase/u16-casecoll-tests: Likewise.
30375         * modules/unicase/u16-casefold-tests: Likewise.
30376         * modules/unicase/u16-is-cased-tests: Likewise.
30377         * modules/unicase/u16-is-casefolded-tests: Likewise.
30378         * modules/unicase/u16-is-lowercase-tests: Likewise.
30379         * modules/unicase/u16-is-titlecase-tests: Likewise.
30380         * modules/unicase/u16-is-uppercase-tests: Likewise.
30381         * modules/unicase/u16-tolower-tests: Likewise.
30382         * modules/unicase/u16-totitle-tests: Likewise.
30383         * modules/unicase/u16-toupper-tests: Likewise.
30384         * modules/unicase/u32-casecmp-tests: Likewise.
30385         * modules/unicase/u32-casecoll-tests: Likewise.
30386         * modules/unicase/u32-casefold-tests: Likewise.
30387         * modules/unicase/u32-is-cased-tests: Likewise.
30388         * modules/unicase/u32-is-casefolded-tests: Likewise.
30389         * modules/unicase/u32-is-lowercase-tests: Likewise.
30390         * modules/unicase/u32-is-titlecase-tests: Likewise.
30391         * modules/unicase/u32-is-uppercase-tests: Likewise.
30392         * modules/unicase/u32-tolower-tests: Likewise.
30393         * modules/unicase/u32-totitle-tests: Likewise.
30394         * modules/unicase/u32-toupper-tests: Likewise.
30395         * modules/unicase/ulc-casecmp-tests: Likewise.
30396         * modules/unicase/ulc-casecoll-tests: Likewise.
30397         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
30398         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
30399         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
30400         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
30401         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
30402         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
30403         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
30404         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
30405         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
30406         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
30407         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
30408         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
30409         * modules/unictype/bidicategory-byname-tests: Likewise.
30410         * modules/unictype/bidicategory-name-tests: Likewise.
30411         * modules/unictype/bidicategory-of-tests: Likewise.
30412         * modules/unictype/bidicategory-test-tests: Likewise.
30413         * modules/unictype/block-list-tests: Likewise.
30414         * modules/unictype/block-of-tests: Likewise.
30415         * modules/unictype/block-test-tests: Likewise.
30416         * modules/unictype/category-C-tests: Likewise.
30417         * modules/unictype/category-Cc-tests: Likewise.
30418         * modules/unictype/category-Cf-tests: Likewise.
30419         * modules/unictype/category-Cn-tests: Likewise.
30420         * modules/unictype/category-Co-tests: Likewise.
30421         * modules/unictype/category-Cs-tests: Likewise.
30422         * modules/unictype/category-L-tests: Likewise.
30423         * modules/unictype/category-Ll-tests: Likewise.
30424         * modules/unictype/category-Lm-tests: Likewise.
30425         * modules/unictype/category-Lo-tests: Likewise.
30426         * modules/unictype/category-Lt-tests: Likewise.
30427         * modules/unictype/category-Lu-tests: Likewise.
30428         * modules/unictype/category-M-tests: Likewise.
30429         * modules/unictype/category-Mc-tests: Likewise.
30430         * modules/unictype/category-Me-tests: Likewise.
30431         * modules/unictype/category-Mn-tests: Likewise.
30432         * modules/unictype/category-N-tests: Likewise.
30433         * modules/unictype/category-Nd-tests: Likewise.
30434         * modules/unictype/category-Nl-tests: Likewise.
30435         * modules/unictype/category-No-tests: Likewise.
30436         * modules/unictype/category-P-tests: Likewise.
30437         * modules/unictype/category-Pc-tests: Likewise.
30438         * modules/unictype/category-Pd-tests: Likewise.
30439         * modules/unictype/category-Pe-tests: Likewise.
30440         * modules/unictype/category-Pf-tests: Likewise.
30441         * modules/unictype/category-Pi-tests: Likewise.
30442         * modules/unictype/category-Po-tests: Likewise.
30443         * modules/unictype/category-Ps-tests: Likewise.
30444         * modules/unictype/category-S-tests: Likewise.
30445         * modules/unictype/category-Sc-tests: Likewise.
30446         * modules/unictype/category-Sk-tests: Likewise.
30447         * modules/unictype/category-Sm-tests: Likewise.
30448         * modules/unictype/category-So-tests: Likewise.
30449         * modules/unictype/category-Z-tests: Likewise.
30450         * modules/unictype/category-Zl-tests: Likewise.
30451         * modules/unictype/category-Zp-tests: Likewise.
30452         * modules/unictype/category-Zs-tests: Likewise.
30453         * modules/unictype/category-and-not-tests: Likewise.
30454         * modules/unictype/category-and-tests: Likewise.
30455         * modules/unictype/category-byname-tests: Likewise.
30456         * modules/unictype/category-name-tests: Likewise.
30457         * modules/unictype/category-none-tests: Likewise.
30458         * modules/unictype/category-of-tests: Likewise.
30459         * modules/unictype/category-or-tests: Likewise.
30460         * modules/unictype/category-test-withtable-tests: Likewise.
30461         * modules/unictype/combining-class-tests: Likewise.
30462         * modules/unictype/ctype-alnum-tests: Likewise.
30463         * modules/unictype/ctype-alpha-tests: Likewise.
30464         * modules/unictype/ctype-blank-tests: Likewise.
30465         * modules/unictype/ctype-cntrl-tests: Likewise.
30466         * modules/unictype/ctype-digit-tests: Likewise.
30467         * modules/unictype/ctype-graph-tests: Likewise.
30468         * modules/unictype/ctype-lower-tests: Likewise.
30469         * modules/unictype/ctype-print-tests: Likewise.
30470         * modules/unictype/ctype-punct-tests: Likewise.
30471         * modules/unictype/ctype-space-tests: Likewise.
30472         * modules/unictype/ctype-upper-tests: Likewise.
30473         * modules/unictype/ctype-xdigit-tests: Likewise.
30474         * modules/unictype/decimal-digit-tests: Likewise.
30475         * modules/unictype/digit-tests: Likewise.
30476         * modules/unictype/mirror-tests: Likewise.
30477         * modules/unictype/numeric-tests: Likewise.
30478         * modules/unictype/property-alphabetic-tests: Likewise.
30479         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
30480         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
30481         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
30482         * modules/unictype/property-bidi-block-separator-tests: Likewise.
30483         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
30484         * modules/unictype/property-bidi-common-separator-tests: Likewise.
30485         * modules/unictype/property-bidi-control-tests: Likewise.
30486         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
30487         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
30488         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
30489         * modules/unictype/property-bidi-european-digit-tests: Likewise.
30490         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
30491         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
30492         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
30493         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
30494         * modules/unictype/property-bidi-pdf-tests: Likewise.
30495         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
30496         * modules/unictype/property-bidi-whitespace-tests: Likewise.
30497         * modules/unictype/property-byname-tests: Likewise.
30498         * modules/unictype/property-combining-tests: Likewise.
30499         * modules/unictype/property-composite-tests: Likewise.
30500         * modules/unictype/property-currency-symbol-tests: Likewise.
30501         * modules/unictype/property-dash-tests: Likewise.
30502         * modules/unictype/property-decimal-digit-tests: Likewise.
30503         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
30504         * modules/unictype/property-deprecated-tests: Likewise.
30505         * modules/unictype/property-diacritic-tests: Likewise.
30506         * modules/unictype/property-extender-tests: Likewise.
30507         * modules/unictype/property-format-control-tests: Likewise.
30508         * modules/unictype/property-grapheme-base-tests: Likewise.
30509         * modules/unictype/property-grapheme-extend-tests: Likewise.
30510         * modules/unictype/property-grapheme-link-tests: Likewise.
30511         * modules/unictype/property-hex-digit-tests: Likewise.
30512         * modules/unictype/property-hyphen-tests: Likewise.
30513         * modules/unictype/property-id-continue-tests: Likewise.
30514         * modules/unictype/property-id-start-tests: Likewise.
30515         * modules/unictype/property-ideographic-tests: Likewise.
30516         * modules/unictype/property-ids-binary-operator-tests: Likewise.
30517         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
30518         * modules/unictype/property-ignorable-control-tests: Likewise.
30519         * modules/unictype/property-iso-control-tests: Likewise.
30520         * modules/unictype/property-join-control-tests: Likewise.
30521         * modules/unictype/property-left-of-pair-tests: Likewise.
30522         * modules/unictype/property-line-separator-tests: Likewise.
30523         * modules/unictype/property-logical-order-exception-tests: Likewise.
30524         * modules/unictype/property-lowercase-tests: Likewise.
30525         * modules/unictype/property-math-tests: Likewise.
30526         * modules/unictype/property-non-break-tests: Likewise.
30527         * modules/unictype/property-not-a-character-tests: Likewise.
30528         * modules/unictype/property-numeric-tests: Likewise.
30529         * modules/unictype/property-other-alphabetic-tests: Likewise.
30530         * modules/unictype/property-other-default-ignorable-code-point-tests:
30531         Likewise.
30532         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
30533         * modules/unictype/property-other-id-continue-tests: Likewise.
30534         * modules/unictype/property-other-id-start-tests: Likewise.
30535         * modules/unictype/property-other-lowercase-tests: Likewise.
30536         * modules/unictype/property-other-math-tests: Likewise.
30537         * modules/unictype/property-other-uppercase-tests: Likewise.
30538         * modules/unictype/property-paired-punctuation-tests: Likewise.
30539         * modules/unictype/property-paragraph-separator-tests: Likewise.
30540         * modules/unictype/property-pattern-syntax-tests: Likewise.
30541         * modules/unictype/property-pattern-white-space-tests: Likewise.
30542         * modules/unictype/property-private-use-tests: Likewise.
30543         * modules/unictype/property-punctuation-tests: Likewise.
30544         * modules/unictype/property-quotation-mark-tests: Likewise.
30545         * modules/unictype/property-radical-tests: Likewise.
30546         * modules/unictype/property-sentence-terminal-tests: Likewise.
30547         * modules/unictype/property-soft-dotted-tests: Likewise.
30548         * modules/unictype/property-space-tests: Likewise.
30549         * modules/unictype/property-terminal-punctuation-tests: Likewise.
30550         * modules/unictype/property-test-tests: Likewise.
30551         * modules/unictype/property-titlecase-tests: Likewise.
30552         * modules/unictype/property-unassigned-code-value-tests: Likewise.
30553         * modules/unictype/property-unified-ideograph-tests: Likewise.
30554         * modules/unictype/property-uppercase-tests: Likewise.
30555         * modules/unictype/property-variation-selector-tests: Likewise.
30556         * modules/unictype/property-white-space-tests: Likewise.
30557         * modules/unictype/property-xid-continue-tests: Likewise.
30558         * modules/unictype/property-xid-start-tests: Likewise.
30559         * modules/unictype/property-zero-width-tests: Likewise.
30560         * modules/unictype/scripts-tests: Likewise.
30561         * modules/unictype/syntax-c-ident-tests: Likewise.
30562         * modules/unictype/syntax-c-whitespace-tests: Likewise.
30563         * modules/unictype/syntax-java-ident-tests: Likewise.
30564         * modules/unictype/syntax-java-whitespace-tests: Likewise.
30565         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
30566         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
30567         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
30568         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
30569         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
30570         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
30571         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
30572         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
30573         * modules/uniname/uniname-tests: Likewise.
30574         * modules/uninorm/canonical-decomposition-tests: Likewise.
30575         * modules/uninorm/compat-decomposition-tests: Likewise.
30576         * modules/uninorm/composition-tests: Likewise.
30577         * modules/uninorm/decomposing-form-tests: Likewise.
30578         * modules/uninorm/decomposition-tests: Likewise.
30579         * modules/uninorm/filter-tests: Likewise.
30580         * modules/uninorm/nfc-tests: Likewise.
30581         * modules/uninorm/nfd-tests: Likewise.
30582         * modules/uninorm/nfkc-tests: Likewise.
30583         * modules/uninorm/nfkd-tests: Likewise.
30584         * modules/uninorm/u8-normcmp-tests: Likewise.
30585         * modules/uninorm/u8-normcoll-tests: Likewise.
30586         * modules/uninorm/u16-normcmp-tests: Likewise.
30587         * modules/uninorm/u16-normcoll-tests: Likewise.
30588         * modules/uninorm/u32-normcmp-tests: Likewise.
30589         * modules/uninorm/u32-normcoll-tests: Likewise.
30590         * modules/unistdio/u8-asnprintf-tests: Likewise.
30591         * modules/unistdio/u8-vasnprintf-tests: Likewise.
30592         * modules/unistdio/u8-vasprintf-tests: Likewise.
30593         * modules/unistdio/u8-vsnprintf-tests: Likewise.
30594         * modules/unistdio/u8-vsprintf-tests: Likewise.
30595         * modules/unistdio/u16-asnprintf-tests: Likewise.
30596         * modules/unistdio/u16-vasnprintf-tests: Likewise.
30597         * modules/unistdio/u16-vasprintf-tests: Likewise.
30598         * modules/unistdio/u16-vsnprintf-tests: Likewise.
30599         * modules/unistdio/u16-vsprintf-tests: Likewise.
30600         * modules/unistdio/u32-asnprintf-tests: Likewise.
30601         * modules/unistdio/u32-vasnprintf-tests: Likewise.
30602         * modules/unistdio/u32-vasprintf-tests: Likewise.
30603         * modules/unistdio/u32-vsnprintf-tests: Likewise.
30604         * modules/unistdio/u32-vsprintf-tests: Likewise.
30605         * modules/unistdio/ulc-asnprintf-tests: Likewise.
30606         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
30607         * modules/unistdio/ulc-vasprintf-tests: Likewise.
30608         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
30609         * modules/unistdio/ulc-vsprintf-tests: Likewise.
30610         * modules/unistr/u8-check-tests: Likewise.
30611         * modules/unistr/u8-chr-tests: Likewise.
30612         * modules/unistr/u8-cmp-tests: Likewise.
30613         * modules/unistr/u8-cmp2-tests: Likewise.
30614         * modules/unistr/u8-cpy-alloc-tests: Likewise.
30615         * modules/unistr/u8-cpy-tests: Likewise.
30616         * modules/unistr/u8-mblen-tests: Likewise.
30617         * modules/unistr/u8-mbsnlen-tests: Likewise.
30618         * modules/unistr/u8-mbtouc-tests: Likewise.
30619         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
30620         * modules/unistr/u8-mbtoucr-tests: Likewise.
30621         * modules/unistr/u8-move-tests: Likewise.
30622         * modules/unistr/u8-next-tests: Likewise.
30623         * modules/unistr/u8-prev-tests: Likewise.
30624         * modules/unistr/u8-set-tests: Likewise.
30625         * modules/unistr/u8-stpcpy-tests: Likewise.
30626         * modules/unistr/u8-stpncpy-tests: Likewise.
30627         * modules/unistr/u8-strcat-tests: Likewise.
30628         * modules/unistr/u8-strcmp-tests: Likewise.
30629         * modules/unistr/u8-strcoll-tests: Likewise.
30630         * modules/unistr/u8-strcpy-tests: Likewise.
30631         * modules/unistr/u8-strdup-tests: Likewise.
30632         * modules/unistr/u8-strlen-tests: Likewise.
30633         * modules/unistr/u8-strmblen-tests: Likewise.
30634         * modules/unistr/u8-strmbtouc-tests: Likewise.
30635         * modules/unistr/u8-strncat-tests: Likewise.
30636         * modules/unistr/u8-strncmp-tests: Likewise.
30637         * modules/unistr/u8-strncpy-tests: Likewise.
30638         * modules/unistr/u8-strnlen-tests: Likewise.
30639         * modules/unistr/u8-to-u16-tests: Likewise.
30640         * modules/unistr/u8-to-u32-tests: Likewise.
30641         * modules/unistr/u8-uctomb-tests: Likewise.
30642         * modules/unistr/u16-check-tests: Likewise.
30643         * modules/unistr/u16-chr-tests: Likewise.
30644         * modules/unistr/u16-cmp-tests: Likewise.
30645         * modules/unistr/u16-cmp2-tests: Likewise.
30646         * modules/unistr/u16-cpy-alloc-tests: Likewise.
30647         * modules/unistr/u16-cpy-tests: Likewise.
30648         * modules/unistr/u16-mblen-tests: Likewise.
30649         * modules/unistr/u16-mbsnlen-tests: Likewise.
30650         * modules/unistr/u16-mbtouc-tests: Likewise.
30651         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
30652         * modules/unistr/u16-mbtoucr-tests: Likewise.
30653         * modules/unistr/u16-move-tests: Likewise.
30654         * modules/unistr/u16-next-tests: Likewise.
30655         * modules/unistr/u16-prev-tests: Likewise.
30656         * modules/unistr/u16-set-tests: Likewise.
30657         * modules/unistr/u16-stpcpy-tests: Likewise.
30658         * modules/unistr/u16-stpncpy-tests: Likewise.
30659         * modules/unistr/u16-strcat-tests: Likewise.
30660         * modules/unistr/u16-strcmp-tests: Likewise.
30661         * modules/unistr/u16-strcoll-tests: Likewise.
30662         * modules/unistr/u16-strcpy-tests: Likewise.
30663         * modules/unistr/u16-strdup-tests: Likewise.
30664         * modules/unistr/u16-strlen-tests: Likewise.
30665         * modules/unistr/u16-strmblen-tests: Likewise.
30666         * modules/unistr/u16-strmbtouc-tests: Likewise.
30667         * modules/unistr/u16-strncat-tests: Likewise.
30668         * modules/unistr/u16-strncmp-tests: Likewise.
30669         * modules/unistr/u16-strncpy-tests: Likewise.
30670         * modules/unistr/u16-strnlen-tests: Likewise.
30671         * modules/unistr/u16-to-u32-tests: Likewise.
30672         * modules/unistr/u16-to-u8-tests: Likewise.
30673         * modules/unistr/u16-uctomb-tests: Likewise.
30674         * modules/unistr/u32-check-tests: Likewise.
30675         * modules/unistr/u32-chr-tests: Likewise.
30676         * modules/unistr/u32-cmp-tests: Likewise.
30677         * modules/unistr/u32-cmp2-tests: Likewise.
30678         * modules/unistr/u32-cpy-alloc-tests: Likewise.
30679         * modules/unistr/u32-cpy-tests: Likewise.
30680         * modules/unistr/u32-mblen-tests: Likewise.
30681         * modules/unistr/u32-mbsnlen-tests: Likewise.
30682         * modules/unistr/u32-mbtouc-tests: Likewise.
30683         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
30684         * modules/unistr/u32-mbtoucr-tests: Likewise.
30685         * modules/unistr/u32-move-tests: Likewise.
30686         * modules/unistr/u32-next-tests: Likewise.
30687         * modules/unistr/u32-prev-tests: Likewise.
30688         * modules/unistr/u32-set-tests: Likewise.
30689         * modules/unistr/u32-stpcpy-tests: Likewise.
30690         * modules/unistr/u32-stpncpy-tests: Likewise.
30691         * modules/unistr/u32-strcat-tests: Likewise.
30692         * modules/unistr/u32-strcmp-tests: Likewise.
30693         * modules/unistr/u32-strcoll-tests: Likewise.
30694         * modules/unistr/u32-strcpy-tests: Likewise.
30695         * modules/unistr/u32-strdup-tests: Likewise.
30696         * modules/unistr/u32-strlen-tests: Likewise.
30697         * modules/unistr/u32-strmblen-tests: Likewise.
30698         * modules/unistr/u32-strmbtouc-tests: Likewise.
30699         * modules/unistr/u32-strncat-tests: Likewise.
30700         * modules/unistr/u32-strncmp-tests: Likewise.
30701         * modules/unistr/u32-strncpy-tests: Likewise.
30702         * modules/unistr/u32-strnlen-tests: Likewise.
30703         * modules/unistr/u32-to-u16-tests: Likewise.
30704         * modules/unistr/u32-to-u8-tests: Likewise.
30705         * modules/unistr/u32-uctomb-tests: Likewise.
30706         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
30707         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
30708         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
30709         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
30710         * modules/uniwidth/u8-strwidth-tests: Likewise.
30711         * modules/uniwidth/u8-width-tests: Likewise.
30712         * modules/uniwidth/u16-strwidth-tests: Likewise.
30713         * modules/uniwidth/u16-width-tests: Likewise.
30714         * modules/uniwidth/u32-strwidth-tests: Likewise.
30715         * modules/uniwidth/u32-width-tests: Likewise.
30716         * modules/uniwidth/width-tests: Likewise.
30717
30718 2010-05-18  Richard Jones  <rjones@redhat.com>
30719
30720         doc: users.txt: list hivex
30721         * users.txt: Add hivex.
30722
30723 2010-05-18  Richard Jones  <rjones@redhat.com>
30724
30725         doc: users.txt: list febootstrap
30726         * users.txt: Add febootstrap.
30727
30728 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
30729
30730         bootstrap: fix an error when gnulib is not used as a git submodule
30731         * build-aux/bootstrap (gnulib_path): If its length is zero then
30732         assign "gnulib" to it.
30733         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
30734
30735 2010-05-16  Bruno Haible  <bruno@clisp.org>
30736
30737         Avoid autoconf warnings about AM_ICONV.
30738         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
30739         2.64.
30740
30741 2010-05-16  Bruno Haible  <bruno@clisp.org>
30742
30743         absolute-header: Make the macro usable in more situations.
30744         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
30745         from gl_ABSOLUTE_HEADER.
30746         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
30747
30748 2010-05-16  James Youngman  <jay@gnu.org>
30749
30750         doc: update users.txt
30751         * users.txt: Add CSSC.
30752
30753 2010-05-16  Jim Meyering  <meyering@redhat.com>
30754
30755         init.sh: fix an error in the previous change; add more comments
30756         * tests/init.sh: Compare exit code in loop against 9, not 2.
30757         Patch by Bruno Haible.
30758         Make the two tests more similar by adding an empty "then" clause.
30759         Add comments.
30760
30761         init.sh: avoid unnecessary shell re-exec
30762         * tests/init.sh: Improve the re-exec-required check to first test the
30763         current shell.  If it passes the test, do not search for a shell that
30764         does pass, and do not re-exec.  This test is particularly contorted to
30765         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
30766         of $(...) evokes a syntax error and causes immediate shell exit with
30767         status 2.  Bruno Haible reported that the re-exec made it impossible
30768         to single-step through any init.sh-using script.
30769
30770 2010-05-16  Bruno Haible  <bruno@clisp.org>
30771
30772         Fix collision between gnulib's and libintl's printf replacements.
30773         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
30774         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
30775         (printf): When using GNU C, map the __printf__ function to rpl_printf
30776         via __asm__. When not using GNU C, define rpl_printf instead of
30777         __printf__.
30778         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
30779         commit.
30780         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
30781         commit.
30782         * m4/asm-underscore.m4: New file.
30783         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
30784         * modules/stdio (Files): Add m4/asm-underscore.m4.
30785         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
30786         Reported by Ben Pfaff.
30787
30788 2010-05-16  Bruno Haible  <bruno@clisp.org>
30789
30790         verify: Avoid skipping the test on openSUSE 11.0.
30791         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
30792
30793 2010-05-13  Bruno Haible  <bruno@clisp.org>
30794
30795         Avoid useless warnings from G++.
30796         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
30797         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
30798         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30799
30800 2010-05-11  Jim Meyering  <meyering@redhat.com>
30801
30802         maint.mk: tweak preceding change
30803         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
30804         regexps tighter by anchoring at EOL, and make the new group "shy"
30805         for slightly decreased overhead.
30806
30807 2010-05-11  Eric Blake  <eblake@redhat.com>
30808
30809         maint.mk: gnulib doesn't guarantee NSIG
30810         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
30811
30812 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30813
30814         test-pwrite.c: Remove unused variable declaration.
30815         * tests/test-pwrite.c (main): Remove read_buf declaration.
30816
30817         Remove useless test-pwrite.sh file.
30818         * tests/test-pwrite.sh: Delete file.
30819         * modules/pwrite-tests: Remove references.
30820         Reported by Bruno Haible.
30821
30822 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
30823
30824         init.sh: fix a typo
30825         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
30826
30827 2010-05-10  Jim Meyering  <meyering@redhat.com>
30828
30829         maint.mk: avoid using a temporary file in the always-defined-macros check
30830         * top/maint.mk (.re-defmac): Remove rule.
30831         (gl_trap_): Remove definition.
30832         (sc_prohibit_always-defined_macros): Rewrite not to create and
30833         depend on a temporary file.  Instead, depend on GNU grep's ability
30834         to read a list of regular expressions from stdin when given "-f -".
30835
30836 2010-05-09  Bruno Haible  <bruno@clisp.org>
30837
30838         Update to GNU gettext 0.18, part 1.
30839         * m4/gettext.m4: Update to GNU gettext 0.18.
30840         * m4/intl.m4: Likewise.
30841         * m4/po.m4: Likewise.
30842         * modules/gettext (Files): Add m4/fcntl-o.m4.
30843         (configure.ac): Require gettext infrastructure from version 0.18.
30844
30845 2010-05-09  Jim Meyering  <meyering@redhat.com>
30846
30847         init.sh: enable MALLOC_PERTURB_
30848         * tests/init.sh: Enable glibc's malloc-perturbing option.
30849
30850         maint.mk: improve sc_cross_check_PATH_usage_in_tests
30851         With my recent change in init.sh from the two-line form:
30852             -#   : ${srcdir=.}
30853             -#   . "$srcdir/init.sh"; path_prepend_ .
30854             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
30855         I noticed that using the one-line form would cause this test
30856         to fail with a false-positive, or to stop working altogether,
30857         depending on whether help-version changed or all the tests did.
30858         * top/maint.mk (_hv_regex): Remove this definition.
30859         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
30860         (_hv_regex_strong): Use a stronger regex to check for conformance.
30861         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
30862         Give a separate diagnostic for lack of conforming use.
30863
30864         maint.mk: prohibit definition of symbols defined by gnulib
30865         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
30866         definition of symbols defined by gnulib.
30867
30868 2010-05-09  Bruno Haible  <bruno@clisp.org>
30869
30870         acl: Avoid test failure on Cygwin-hosted mingw.
30871         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
30872
30873 2010-05-09  Bruno Haible  <bruno@clisp.org>
30874
30875         error: Use system's fcntl function.
30876         * lib/error.c (fcntl): Undefine.
30877
30878 2010-05-09  Jim Meyering  <meyering@redhat.com>
30879
30880         verify: adjust formatting to be more consistent
30881         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
30882         argument-list '('s, and after one comma.
30883
30884 2010-05-09  Bruno Haible  <bruno@clisp.org>
30885
30886         error: More reliable output on mingw.
30887         * lib/error.c: Include <windows.h>.
30888         (is_open): New function.
30889         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
30890         defined.
30891
30892 2010-05-09  Bruno Haible  <bruno@clisp.org>
30893
30894         vasnprintf: Fix syntax errors in libintl build on mingw.
30895         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
30896         pad_ourselves and prec_ourselves after use.
30897
30898 2010-05-08  Bruno Haible  <bruno@clisp.org>
30899
30900         * lib/config.charset: Update comments for Cygwin 1.7.
30901         * lib/localcharset.c: Likewise.
30902
30903 2010-05-07  Jim Meyering  <meyering@redhat.com>
30904
30905         init.sh: improve comments
30906         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
30907         . "${srcdir=.}/init.sh"; path_prepend_ .
30908         Add a note about path_prepend_ and the alternative of using
30909         TESTS_ENVIRONMENT.
30910
30911 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
30912
30913         exclude: Unescape hashed patterns in wildcard mode.
30914         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
30915         to the hash list.
30916         * tests/test-exclude8.sh: New test case.
30917         * modules/exclude-tests: Add new test.
30918
30919 2010-05-05  Eric Blake  <eblake@redhat.com>
30920
30921         verify: automate tests
30922         * modules/verify-tests: New module.
30923         * tests/test-verify.sh: New file.
30924         * tests/test-verify.c: Guard each negative test with a unique id.
30925         Also avoid warning about unused left hand of comma expressions.
30926
30927 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
30928
30929         Further improvements to verify.h, suggested by Eric Blake.
30930         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
30931         the GL_* versions, to avoid collision with OpenGL.
30932         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
30933         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
30934         than testing merely whether it's defined.
30935
30936         Modify verify.h to pacify gcc -Wredundant_decls.
30937         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
30938         These use the prefix "GL_" since they're likely to be useful elsewhere.
30939         We may need to break them out into a different .h file.
30940         (__COUNTER__): Define to 0 if the compiler doesn't support it.
30941         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
30942         of verify_function__.
30943
30944 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30945
30946         Tests for module pwrite.
30947         * modules/pwrite-tests: New file.
30948         * tests/test-pwrite.sh: New file.
30949         * tests/test-pwrite.c: New file.
30950
30951         New module pwrite.
30952         * lib/unistd.in.h (pwrite): New declaration.
30953         * lib/pwrite.c: New file, from glibc with modifications.
30954         * m4/pwrite.m4: New file.
30955         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
30956         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
30957         REPLACE_PWRITE.
30958         * modules/pwrite: New file.
30959         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
30960         REPLACE_PWRITE.
30961         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
30962         * doc/posix-functions/pwrite.texi: Mention the new module.
30963
30964 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
30965
30966         pread: Update documentation.
30967         * doc/posix-functions/pread.texi: Mention the 'pread' module.
30968
30969 2010-05-04  Eric Blake  <eblake@redhat.com>
30970
30971         docs: update cygwin progress
30972         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
30973         this bug.
30974         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
30975         Added in cygwin 1.7.2.
30976         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
30977         Likewise.
30978         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
30979         Likewise.
30980         * doc/glibc-functions/dup3.texi (dup3): Likewise.
30981         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
30982         * doc/glibc-functions/accept4.texi (accept4): Likewise.
30983         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
30984         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
30985         Mention nproc module.
30986         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
30987         bug in cygwin 1.7.5 addition.
30988         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
30989         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
30990         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
30991         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
30992         1.7.5.
30993         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
30994         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
30995         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
30996         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
30997         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
30998         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
30999         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
31000         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
31001         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
31002         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
31003         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
31004         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
31005         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
31006         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
31007         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
31008         Likewise.
31009         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
31010         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
31011         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
31012         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
31013         Likewise.
31014         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
31015         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
31016         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
31017         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
31018         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
31019         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
31020         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
31021         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
31022         Likewise.
31023         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
31024         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
31025         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
31026         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
31027         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
31028         Likewise.
31029         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
31030         Likewise.
31031         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
31032         Likewise.
31033         * doc/glibc-functions/xdrrec_endofrecord.texi
31034         (xdrrec_endofrecord): Likewise.
31035         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
31036         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
31037         Likewise.
31038         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
31039         Likewise.
31040
31041 2010-05-04  Jim Meyering  <meyering@redhat.com>
31042
31043         gendocs.sh: make its "-s FILE" option more useful
31044         * build-aux/gendocs.sh: When honoring the -s FILE option, update
31045         $PACKAGE to reflect the probably-different basename of "FILE".
31046
31047 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
31048
31049         bootstrap: don't ignore download_po_files failure
31050         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
31051         failure.
31052
31053 2010-05-03  Jim Meyering  <meyering@redhat.com>
31054
31055         maint.mk: allow to pass options to gendocs.sh
31056         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
31057         (gendocs_options_): New overridable variable.
31058
31059         gnu-web-doc-update: don't ignore configure or build failure
31060         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
31061
31062         announce-gen: backslash-escape '@'s in --help output
31063         * build-aux/announce-gen: Fix syntax errors.
31064
31065         maint.mk, announce-gen: allow project-specific announcement mail headers
31066         * top/maint.mk (translation_project_): Define default.
31067         (announcement_Cc_, announcement_mail_headers_): Likewise.
31068         (announcement): Invoke announce-gen with new --mail-headers option.
31069         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
31070
31071         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
31072         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
31073         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
31074         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
31075         line in the "err2" output file when running "make check" in verbose
31076         mode (i.e., with set -x enabled).
31077
31078 2010-05-03  Bruno Haible  <bruno@clisp.org>
31079
31080         wctob: Fix for weird platforms.
31081         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
31082         argument value.
31083
31084 2010-05-03  Jim Meyering  <meyering@redhat.com>
31085
31086         maint.mk: prohibit unwarranted use of <strings.h>
31087         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
31088         strings.h in a file that does not also use strcasecmp, strncasecmp,
31089         ffs or ffsll.
31090
31091         maint.mk: remove obsolete comments
31092         * top/maint.mk: Remove stale, commented-out rules.
31093
31094 2010-05-02  Bruno Haible  <bruno@clisp.org>
31095
31096         wcwidth: Declare also when it's aliased.
31097         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
31098         macro.
31099
31100 2010-05-02  Bruno Haible  <bruno@clisp.org>
31101
31102         Fix regression from 2010-04-25.
31103         * gnulib-tool (func_modules_transitive_closure): Check the status of
31104         all modules, not only of the tests that are of the form foo-tests where
31105         foo is a module.
31106
31107 2010-05-02  Bruno Haible  <bruno@clisp.org>
31108
31109         wctob: Work around nasty Cygwin 1.7.2 bug.
31110         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
31111         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
31112
31113 2010-05-01  Bruno Haible  <bruno@clisp.org>
31114
31115         fpurge: Sharper test.
31116         * tests/test-fpurge.c (main): Add one more ftell check.
31117         * modules/fpurge-tests (Depends-on): Add ftell.
31118         Suggested by Eric Blake.
31119
31120 2010-05-01  Bruno Haible  <bruno@clisp.org>
31121
31122         ftello: Another test.
31123         * tests/test-ftello3.c: New file.
31124         * modules/ftello-tests (Files): Add it.
31125         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31126         MOSTLYCLEANFILES.
31127
31128         ftell: Another test.
31129         * tests/test-ftell3.c: New file.
31130         * modules/ftell-tests (Files): Add it.
31131         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
31132         MOSTLYCLEANFILES.
31133
31134 2010-05-01  Bruno Haible  <bruno@clisp.org>
31135
31136         ftell, ftello: Work around Solaris bug.
31137         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
31138         * lib/ftello.c: Include stdio-impl.h.
31139         (ftello): On Solaris, when _IOWRT is set, compute the result without
31140         looking at _IOREAD.
31141         * modules/ftello (Files): Add lib/stdio-impl.h.
31142         * doc/posix-functions/ftell.texi: Mention Solaris bug.
31143         * doc/posix-functions/ftello.texi: Likewise.
31144         Reported by Eric Blake.
31145
31146 2010-05-01  Bruno Haible  <bruno@clisp.org>
31147
31148         freading: Adapt to special meaning of _IOREAD flag on Solaris.
31149         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
31150         the _IOWRT flag is also set.
31151
31152 2010-05-01  Bruno Haible  <bruno@clisp.org>
31153
31154         Fix doc about a HP-UX stdio bug.
31155         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
31156         * doc/posix-functions/ftello.texi: Likewise.
31157
31158 2010-05-01  Bruno Haible  <bruno@clisp.org>
31159
31160         lseek test: Fix failure on Solaris.
31161         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
31162         output.
31163
31164 2010-04-30  Jim Meyering  <meyering@redhat.com>
31165
31166         bootstrap: don't ignore failure to generate po*/Makevars
31167         * build-aux/bootstrap (with_gettext): Don't ignore failure
31168         to create po/Makevars or runtime-po/Makevars.
31169
31170 2010-04-29  Eric Blake  <eblake@redhat.com>
31171
31172         headers: relax license to LGPLv2+
31173         * modules/fcntl-h (License): Relax license.
31174         * modules/getopt-posix (License): Likewise.
31175         * modules/locale (License): Likewise.
31176         * modules/math (License): Likewise.
31177         * modules/pty (License): Likewise.
31178         * modules/sched (License): Likewise.
31179         * modules/search (License): Likewise.
31180         * modules/spawn (License): Likewise.
31181         * modules/stdarg (License): Likewise.
31182         * modules/sysexits (License): Likewise.
31183
31184 2010-04-29  Jim Meyering  <meyering@redhat.com>
31185
31186         inttypes: relax license to LGPLv2+
31187         * modules/inttypes (License): Relax license.
31188
31189 2010-04-29  Simon Josefsson  <simon@josefsson.org>
31190
31191         * top/maint.mk (indent): Run twice to produce idempotent results.
31192
31193 2010-04-28  Bruno Haible  <bruno@clisp.org>
31194
31195         getdate: Generate getdate.c in the source directory.
31196         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
31197         MOSTLYCLEANFILES.
31198         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
31199
31200 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
31201
31202         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
31203         is not declared as a const *; avoid warnings in that case.
31204
31205 2010-04-28  Eric Blake  <eblake@redhat.com>
31206
31207         canonicalize-lgpl: avoid compiler warning
31208         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
31209         declaration' / 'extraneous semicolon' warning with some compilers.
31210         Reported by Andreas Gruenbacher.
31211
31212 2010-04-28  Jim Meyering  <meyering@redhat.com>
31213
31214         init.sh: ensure a more reliable exit status when exiting via trap
31215         * tests/init.sh (setup_): Don't rely on $? in signal handler.
31216         Inspired by patches from Dmitry V. Levin.
31217         Also trap on signal 3 (SIGQUIT).
31218
31219 2010-04-27  Bruno Haible  <bruno@clisp.org>
31220
31221         Update doc about utimes().
31222         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
31223         'utimens' module.
31224         Reported by Andreas Gruenbacher <agruen@suse.de>.
31225
31226 2010-04-27  Eric Blake  <eblake@redhat.com>
31227
31228         full-read, full-write: relax license
31229         * modules/full-read (License): Drop to LGPLv2+.
31230         * modules/full-write (License): Likewise.
31231         * modules/safe-read (License): Likewise.
31232         * modules/safe-write (License): Likewise.
31233
31234         pthread: mention library for linking
31235         * modules/pthread (Link): Mention $(LIB_PTHREAD).
31236
31237 2010-04-27  Jim Meyering  <meyering@redhat.com>
31238
31239         maint.mk: fix a bug introduced in last change
31240         * top/maint.mk (gl_assured_headers_): Now that all names are on
31241         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
31242         is not anchored to end of word, it should be adequate.
31243
31244         maint.mk: avoid side-effect in latest syntax-check
31245         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
31246         to run commands via $(shell...), and hence to incur cost only when
31247         the new rule is actually run.
31248
31249         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
31250         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
31251         and use that to create a regexp used to detect all #if HAVE_..._H uses.
31252         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
31253         (gl_assured_headers_, az_, AZ_): Define.
31254         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
31255
31256 2010-04-26  Jim Meyering  <jim@meyering.net>
31257             Bruno Haible  <bruno@clisp.org>
31258
31259         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
31260         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
31261         Prompted by an exchange with Gilles Espinasse.
31262
31263 2010-04-26  Jim Meyering  <meyering@redhat.com>
31264
31265         git-version-gen: aesthetic tweak
31266         * build-aux/git-version-gen: Use "$nl" rather than a literal,
31267         so that the command remains on a single line.
31268
31269 2010-04-26  Eric Blake  <eblake@redhat.com>
31270
31271         git-version-gen: allow use on EBCDIC hosts
31272         * build-aux/git-version-gen (dirty): Use literal rather than tying
31273         ourselves to ascii.
31274         Reported by Steve Goetze.
31275
31276 2010-04-25  Bruno Haible  <bruno@clisp.org>
31277
31278         netdb: Add support for GNULIB_POSIXCHECK.
31279         * lib/netdb.in.h: Include warn-on-use.h.
31280         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
31281         functions are used when GNULIB_POSIXCHECK is defined and the
31282         getaddrinfo module is not in use.
31283         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
31284         freeaddrinfo, gai_strerror, getnameinfo are declared.
31285         * modules/netdb (Depends-on): Add warn-on-use.
31286         (Makefile.am): Include warn-on-use.h in netdb.h.
31287
31288 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
31289
31290         build: avoid "make check" failure without .git/ directory
31291         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
31292         there is no .git/ directory.
31293
31294 2010-04-25  Bruno Haible  <bruno@clisp.org>
31295
31296         ptsname: Fix misuse of ttyname_r.
31297         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
31298         of errno.
31299
31300 2010-04-25  Bruno Haible  <bruno@clisp.org>
31301
31302         ttyname_r: Make it work on Solaris 10.
31303         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
31304         if the system function has the POSIX declaration. Test whether the
31305         function fails if the buffer is less than 128 bytes large.
31306         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
31307         system's ttyname_r function. Provide a reasonably large buffer.
31308         * modules/ttyname_r (Depends-on): Add extensions.
31309         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
31310
31311 2010-04-25  Bruno Haible  <bruno@clisp.org>
31312
31313         Use the 'extensions' module for some more functions on Solaris.
31314         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
31315         module.
31316         * doc/posix-functions/ctime_r.texi: Likewise.
31317         * doc/posix-functions/getgrgid_r.texi: Likewise.
31318         * doc/posix-functions/getgrnam_r.texi: Likewise.
31319         * doc/posix-functions/getpwnam_r.texi: Likewise.
31320         * doc/posix-functions/getpwuid_r.texi: Likewise.
31321         * doc/posix-functions/readdir_r.texi: Likewise.
31322         * doc/posix-functions/sigwait.texi: Likewise.
31323         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
31324         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
31325
31326 2010-04-25  Bruno Haible  <bruno@clisp.org>
31327
31328         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
31329         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
31330         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
31331         * lib/ttyname_r.c: Include <limits.h>.
31332         (ttyname_r): Define using the system's ttyname_r function, if it exists
31333         and not on Solaris.
31334         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
31335         set.
31336         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
31337         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
31338         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
31339         Reported by Simon Josefsson.
31340
31341 2010-04-25  Bruno Haible  <bruno@clisp.org>
31342
31343         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
31344         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
31345         * doc/posix-functions/ctime_r.texi: Likewise.
31346         * doc/posix-functions/getgrgid_r.texi: Likewise.
31347         * doc/posix-functions/getgrnam_r.texi: Likewise.
31348         * doc/posix-functions/getlogin_r.texi: Likewise.
31349         * doc/posix-functions/getpwnam_r.texi: Likewise.
31350         * doc/posix-functions/getpwuid_r.texi: Likewise.
31351         * doc/posix-functions/readdir_r.texi: Likewise.
31352         * doc/posix-functions/sigwait.texi: Likewise.
31353         * doc/posix-functions/ttyname_r.texi: Likewise.
31354         Reported by Simon Josefsson.
31355
31356 2010-04-25  Bruno Haible  <bruno@clisp.org>
31357
31358         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
31359         * gnulib-tool (func_usage): Document that --with-*-tests options apply
31360         also to --create-testdir.
31361         (func_acceptable): Don't consider the status of *-tests modules here.
31362         (func_modules_transitive_closure): Consider it here, before including a
31363         test module.
31364         (func_import, func_create_testdir): Set inc_all_direct_tests,
31365         inc_all_indirect_tests.
31366         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
31367         --create-testdir and --create-megatestdir.
31368
31369 2010-04-25  Bruno Haible  <bruno@clisp.org>
31370
31371         gnulib-tool: Add --without-*-tests options.
31372         * gnulib-tool (func_usage): Document the --without-*-tests options.
31373         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
31374         excl_unportable_tests): New variables.
31375         Fail if they are specified with --import or --update.
31376         (func_acceptable): Respect the excl_*_tests variables.
31377         (func_import): Set the excl_*_tests variables to empty.
31378
31379 2010-04-25  Simon Josefsson  <simon@josefsson.org>
31380             Bruno Haible  <bruno@clisp.org>
31381
31382         Work around a MacOS X 10.4 bug with openpty.
31383         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
31384         * tests/test-openpty.c (main): Close the master side explicitly.
31385
31386 2010-04-25  Bruno Haible  <bruno@clisp.org>
31387
31388         strnlen: Fix a C++ test error on MacOS X and Solaris.
31389         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
31390         the function is not declared.
31391         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
31392         Simon Josefsson.
31393
31394 2010-04-24  Bruno Haible  <bruno@clisp.org>
31395
31396         Avoid a gcc warning.
31397         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
31398         of correct type for %08lx directive.
31399         Reported by Eric Blake.
31400
31401 2010-04-24  Bruno Haible  <bruno@clisp.org>
31402
31403         vasnprintf: Correct errno value in case of out-of-memory.
31404         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
31405         or sprintf. Use the errno value from SNPRINTF or sprintf.
31406         Reported by Ian Beckwith <ianb@erislabs.net>.
31407
31408 2010-04-24  Bruno Haible  <bruno@clisp.org>
31409
31410         ansi-c++-opt: Find correct compiler when cross-compiling.
31411         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
31412         AC_CHECK_PROGS.
31413         Reported by Simon Josefsson.
31414
31415 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
31416
31417         vc-list-files: Add support for subversion
31418         * build-aux/vc-list-files: Use "svn list" to generate the list of
31419         files controlled by subversion.
31420
31421 2010-04-23  Jim Meyering  <meyering@redhat.com>
31422
31423         vc-list-files tests: convert to use init.sh
31424         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
31425         path_prepend_.
31426         Use Exit, not exit.
31427         Use skip_ rather than open coding it.
31428         Remove trap set-up and compare definitions.
31429         * tests/test-vc-list-files-git.sh: Likewise.
31430         * modules/vc-list-files-tests (Files): Add tests/init.sh.
31431
31432 2010-04-22  Simon Josefsson  <simon@josefsson.org>
31433
31434         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
31435         backup files.
31436
31437 2010-04-21  Simon Josefsson  <simon@josefsson.org>
31438
31439         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
31440
31441 2010-04-20  Eric Blake  <eblake@redhat.com>
31442
31443         tests: be robust to ignored SIGPIPE
31444         * tests/test-select-in.sh: Consume all output.
31445         * tests/test-lseek.sh: Check correct exit status, while avoiding
31446         EPIPE.
31447
31448 2010-04-20  Simon Josefsson  <simon@josefsson.org>
31449             Bruno Haible  <bruno@clisp.org>
31450
31451         visibility: Don't use -fvisibility if it leads to a warning.
31452         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
31453         yes, don't pretend that visibility works if it leads to a warning.
31454         Reported by Mike Gran <spk121@yahoo.com>.
31455
31456 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
31457
31458         * build-aux/bootstrap: Use "git -h" for testing for supported options
31459         instead of "git --help".  The short-form option only shows a summary,
31460         and doesn't layout the full man page.  Grep for the full option name
31461         in the summary, too.
31462
31463 2010-04-19  Bruno Haible  <bruno@clisp.org>
31464
31465         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
31466         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
31467         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
31468         mention of RELOCATABLE_STRIP.
31469         Reported by Sylvain Beucler <beuc@beuc.net>.
31470
31471 2010-04-19  Bruno Haible  <bruno@clisp.org>
31472
31473         * lib/diffseq.h: Fix typo in comment.
31474         Reported by Eric Blake.
31475
31476 2010-04-19  Bruno Haible  <bruno@clisp.org>
31477
31478         ioctl: Move autoconf macro to a .m4 file.
31479         * m4/ioctl.m4: New file, extracted from modules/ioctl.
31480         * modules/ioctl (Files): Add it.
31481         (configure.ac): Simply invoke gl_FUNC_IOCTL.
31482         Reported by Ian Beckwith <ianb@erislabs.net>.
31483
31484 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
31485             Bruno Haible  <bruno@clisp.org>
31486
31487         diffseq: Accommodate use-case with abstract arrays.
31488         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
31489         is not defined.
31490         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
31491         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
31492
31493 2010-04-18  Bruno Haible  <bruno@clisp.org>
31494
31495         * doc/posix-headers/stdbool.texi: More precise wording.
31496
31497 2010-04-17  Jim Meyering  <meyering@redhat.com>
31498
31499         maint.mk: use gnu-style indentation in an embedded perl script
31500         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
31501         Rename variable: s/two/last_two_bytes/
31502
31503 2010-04-16  Eric Blake  <eblake@redhat.com>
31504
31505         test-stdbool: skip test that fails with Solaris CC
31506         * tests/test-stdbool.c (f): Skip test that causes compilation
31507         error under buggy C++ compiler.
31508         * lib/stdbool.in.h: Document the limitation.
31509         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
31510
31511         setenv: allow compilation with C++
31512         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
31513         register keyword.
31514
31515         stdint: allow test to pass with C++
31516         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
31517
31518         getopt: allow compilation with C++
31519         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
31520         struct.
31521         * lib/getopt.c (_getopt_internal_r): Use correct type.
31522         Reported by Dagobert Michelson, via Joel E. Denny.
31523
31524 2010-04-16  Bruno Haible  <bruno@clisp.org>
31525
31526         Override netdb.h always.
31527         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
31528         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
31529         Reported by Ludovic Courtès <ludo@gnu.org>.
31530
31531 2010-04-15  Bruno Haible  <bruno@clisp.org>
31532
31533         openpty: Fix mistake from 2010-03-21.
31534         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
31535         Reported by Simon Josefsson.
31536
31537 2010-04-15  Eric Blake  <eblake@redhat.com>
31538
31539         test-forkpty: fix expected signature
31540         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
31541         Reported by Simon Josefsson.
31542
31543 2010-04-15  Jim Meyering  <meyering@redhat.com>
31544
31545         maint.mk: texinfo_suffix_re_: correct the default regexp
31546         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
31547
31548         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
31549         make it configurable via texinfo_suffix_re_.
31550
31551 2010-04-14  Eric Blake  <eblake@redhat.com>
31552
31553         strtok_r: relax license to LGPLv2+
31554         * modules/strtok_r (License): Relax license.
31555         Reported by Matthias Bolte.
31556
31557 2010-04-14  Simon Josefsson  <simon@josefsson.org>
31558
31559         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
31560         version 1.4.4 by default instead of requiring the libgcrypt
31561         version used during build.  This makes it possible to use the
31562         application with older but still binary compatible libgcrypt
31563         versions.
31564
31565 2010-04-13  Eric Blake  <eblake@redhat.com>
31566
31567         getopt-gnu: match recent glibc fixes and posix ruling
31568         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
31569         '+' handling, when requesting extensions.
31570         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
31571         'W;' handling.
31572         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
31573         * doc/posix-functions/getopt.texi (getopt): Document this.
31574         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31575         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31576         Likewise.
31577
31578         getopt: merge bug fixes from glibc
31579         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
31580         diagnostics.  Honor '+:' correctly.  Reject ';'.
31581
31582         getopt-posix: detect MacOS bug
31583         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
31584         optind when missing a required argument.
31585         * doc/posix-functions/getopt.texi (getopt): Document the bug.
31586         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
31587         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
31588         Likewise.
31589
31590         getopt-posix: avoid spurious failure on Solaris
31591         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
31592         an indicator that setting optind=1 is sufficient for reset.
31593
31594         getopt-posix: avoid spurious failure on FreeBSD
31595         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
31596         in POSIX mode, since the m4 test uses it.
31597
31598         gnulib-tool: silence warning on BSD sh
31599         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
31600
31601 2010-04-13  Jim Meyering  <meyering@redhat.com>
31602
31603         doc: users.txt: GNU patch now uses gnulib
31604         * users.txt: Add patch.
31605
31606 2010-04-12  Jim Meyering  <meyering@redhat.com>
31607
31608         maint.mk: generate more concise timing data for syntax-check rules
31609         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
31610         " done" from each line that reports a syntax-check test duration.
31611
31612 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
31613
31614         git-version-gen: use "git update-index..." rather than "git status"
31615         * build-aux/git-version-gen: Use git update-index --refresh, not
31616         "git status".  With some versions of git, "git status" would fail
31617         to update the index and result in an unwarranted "-dirty" suffix.
31618
31619 2010-04-11  Jim Meyering  <meyering@redhat.com>
31620
31621         openat: correct formatting (no semantic change)
31622         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
31623         Suggested by Bruno Haible.
31624
31625 2010-04-11  Bruno Haible  <bruno@clisp.org>
31626
31627         Stricter declaration checking in testdirs.
31628         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
31629         If for_tests is true, augment AM_CPPFLAGS to define
31630         GNULIB_STRICT_CHECKING.
31631         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
31632         GNULIB_STRICT_CHECKING is defined, verify that the function is
31633         declared.
31634
31635 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
31636             Bruno Haible  <bruno@clisp.org>
31637
31638         libunistring: Improve configure output.
31639         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
31640         Don't say "consider installing GNU libunistring" when checking again
31641         with libiconv.
31642
31643 2010-04-11  Bruno Haible  <bruno@clisp.org>
31644
31645         libunistring: Correct value of $LTLIBUNISTRING.
31646         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
31647         correct the value of $LTLIBUNISTRING.
31648
31649 2010-04-11  Bruno Haible  <bruno@clisp.org>
31650
31651         havelib: Add static libraries to LIBS in the right order.
31652         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
31653         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
31654
31655 2010-04-11  Bruno Haible  <bruno@clisp.org>
31656
31657         libunistring: Detect libunistring also when it depends on libiconv.
31658         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
31659         the second AC_LIB_HAVE_LINKFLAGS invocation.
31660
31661 2010-04-11  James Youngman  <jay@gnu.org>
31662
31663         close-stream: declare local scalars to be "const"
31664         * lib/close-stream.c (close_stream): Make boolean variables const
31665         to document the fact that we set but do not change them.
31666
31667 2010-04-11  Bruno Haible  <bruno@clisp.org>
31668
31669         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
31670
31671 2010-04-11  Jim Meyering  <meyering@redhat.com>
31672
31673         maint.mk: don't include dist-check.mk
31674         * top/maint.mk: Remove bogus include directive.
31675
31676         maint.mk: improve empty-line-at-EOF check
31677         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
31678         solution, rather than tail+Perl-based one.  The latter would read
31679         a few kilobytes from the end of each file, and did not handle empty
31680         files properly.
31681
31682         maint.mk: print the elapsed time for each syntax-check rule
31683         * top/maint.mk (sc_m_rules_): Save start time in a file.
31684         (sc_z_rules_): New rules: remove temp file and print elapsed time.
31685         (local-check): Interpose the .z rules
31686
31687 2010-04-11  Jim Meyering  <meyering@redhat.com>
31688
31689         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
31690         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
31691         empty file with one that ends in an empty line.
31692
31693 2010-04-10  Bruno Haible  <bruno@clisp.org>
31694
31695         mkdir: Make it work on mingw64.
31696         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
31697         * lib/mkdir.c: Update comment.
31698         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
31699
31700 2010-04-10  Bruno Haible  <bruno@clisp.org>
31701
31702         Don't override improved macro from newer autoconf.
31703         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
31704         autoconf >= 2.62.
31705         Reported by Joel E. Denny <jdenny@clemson.edu>.
31706
31707 2010-04-10  Jim Meyering  <meyering@redhat.com>
31708
31709         maint.mk: new syntax-check rule: prohibit empty lines at end of file
31710         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
31711
31712         maint.mk: correct a diagnostic
31713         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
31714         in diagnostic; now use $prohibit.
31715
31716 2010-04-10  Bruno Haible  <address@hidden>
31717
31718         fchownat: Fix a C++ test error on Solaris 8.
31719         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
31720         the function does not exist.
31721
31722 2010-04-10  Bruno Haible  <bruno@clisp.org>
31723
31724         vasnprintf: Add more tests.
31725         * tests/test-vasnprintf-posix.c: Include <errno.h>.
31726         (test_function): Test converting an invalid wide string.
31727
31728         vasnprintf: Correct handling of unconvertible wide string arguments.
31729         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
31730         VASNPRINTF.
31731         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
31732         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
31733         smaller than the expected maximum need for the directive. Set errno to
31734         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
31735         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
31736         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
31737         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
31738         * modules/vasnprintf (Files): Add m4/printf.m4.
31739         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31740
31741 2010-04-10  Bruno Haible  <bruno@clisp.org>
31742
31743         vasnprintf: Fix crash in %ls directive.
31744         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
31745         string is passed as argument to %ls, with no precision and no width.
31746         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31747
31748 2010-04-10  Bruno Haible  <bruno@clisp.org>
31749
31750         vasnprintf: Fix multiple test failures on mingw.
31751         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
31752         _snprintf, or snwprintf, not _snwprintf.
31753
31754 2010-04-10  Bruno Haible  <bruno@clisp.org>
31755
31756         write: Fix a C++ test error on mingw.
31757         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
31758
31759 2010-04-10  Bruno Haible  <bruno@clisp.org>
31760
31761         vasnprintf test: Reduce code duplication.
31762         * tests/test-vasnprintf.c (test_function): New function, extracted from
31763         test_vasnprintf.
31764         (test_vasnprintf, test_asnprintf): Invoke it.
31765
31766 2010-04-10  Bruno Haible  <bruno@clisp.org>
31767
31768         strnlen: Fix warning in C++ mode on MacOS X.
31769         * lib/string.in.h (strnlen): Use the modern idiom.
31770         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
31771         defining strnlen as a macro already in <config.h>.
31772         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31773         REPLACE_STRNLEN.
31774         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
31775         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31776
31777 2010-04-08  James Youngman  <jay@gnu.org>
31778
31779         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
31780         the example.
31781
31782 2010-04-09  Jim Meyering  <meyering@redhat.com>
31783
31784         maint.mk: print better diagnostic when there is no $(_hv_file)
31785         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
31786         announce that when $(_hv_file) (aka help-version) does not exist.
31787
31788         init.sh: run tr in the "C" locale to avoid multibyte interpretation
31789         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
31790         not try to interpret its random input bytes.  Jarno Rajahalme reported
31791         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
31792         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
31793         (mktempd_): Likewise, just in case.
31794
31795         ftruncate: add two years to projected module removal date: 2012
31796         * m4/ftruncate.m4: Adjust comments.
31797
31798         ftruncate: mark module as obsolete; even MinGW provides it, now
31799         * modules/ftruncate (Status): Obsolete.
31800         (Notice): Say that.
31801         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
31802         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
31803
31804 2010-04-08  Bruno Haible  <bruno@clisp.org>
31805
31806         Fix side effects from tests-related modules.
31807         * modules/dprintf-posix (Comment): New section.
31808         * modules/fprintf-posix (Comment): Likewise.
31809         * modules/obstack-printf-posix (Comment): Likewise.
31810         * modules/printf-posix (Comment): Likewise.
31811         * modules/snprintf-posix (Comment): Likewise.
31812         * modules/sprintf-posix (Comment): Likewise.
31813         * modules/vasnprintf-posix (Comment): Likewise.
31814         * modules/vasprintf-posix (Comment): Likewise.
31815         * modules/vdprintf-posix (Comment): Likewise.
31816         * modules/vfprintf-posix (Comment): Likewise.
31817         * modules/vprintf-posix (Comment): Likewise.
31818         * modules/vsnprintf-posix (Comment): Likewise.
31819         * modules/vsprintf-posix (Comment): Likewise.
31820         * modules/xprintf-posix (Comment): Likewise.
31821         * modules/xvasprintf-posix (Comment): Likewise.
31822         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
31823         * modules/floorf-tests (Depends-on): Likewise.
31824         * modules/round-tests (Depends-on): Likewise.
31825         * modules/roundf-tests (Depends-on): Likewise.
31826         * modules/trunc-tests (Depends-on): Likewise.
31827         * modules/truncf-tests (Depends-on): Likewise.
31828         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
31829         'fprintf-posix' module is not present.
31830         * tests/test-floorf2.c (check): Likewise.
31831         * tests/test-trunc2.c (check): Likewise.
31832         * tests/test-truncf2.c (check): Likewise.
31833         * tests/test-round2.c (equal): Likewise.
31834         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31835
31836 2010-04-07  Karl Berry  <karl@gnu.org>
31837
31838         * config/srclist.txt,
31839         * config/srclistvars.sh,
31840         * config/srclist-update: doc fixes.
31841
31842 2010-04-07  Jim Meyering  <meyering@redhat.com>
31843
31844         maint.mk: add a PATH crosschecking syntax-check rule
31845         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
31846         Useful if you use a test like the one in help-version (coreutils,
31847         diffutils, grep, gzip) that ensures $(VERSION) matches what is
31848         printed by prog --version.
31849
31850 2010-04-06  Bruno Haible  <bruno@clisp.org>
31851
31852         Fix link error on mingw.
31853         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
31854         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
31855
31856 2010-04-06  Bruno Haible  <bruno@clisp.org>
31857
31858         Assume rmdir exists.
31859         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
31860
31861 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
31862
31863         doc: update users.txt
31864         * users.txt: Add gcal.
31865
31866 2010-04-06  Jim Meyering  <meyering@redhat.com>
31867
31868         init.sh: simply unset TMPDIR rather than risking env -i
31869         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
31870         although it probably works fine on all Unix-based systems, some
31871         systems (Cygwin?) cannot tolerate a totally cleared environment.
31872         Suggestion from Eric Blake.
31873
31874 2010-04-06  Jim Meyering  <meyering@redhat.com>
31875
31876         init.sh: portability fix: use env's POSIX-specified -i option not -u
31877         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
31878         than unportable env -u.  Solaris 5.11's env lacks support for -u.
31879
31880 2010-04-05  Bruno Haible  <bruno@clisp.org>
31881
31882         btowc: Work around Cygwin 1.7.2 bug.
31883         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
31884         does not map NUL to 0.
31885         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
31886
31887 2010-04-05  Bruno Haible  <bruno@clisp.org>
31888
31889         Make the multithread modules work on Cygwin 1.7.2.
31890         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
31891         imported symbols can be declared weak, so that it returns "no" on
31892         Cygwin 1.7.2.
31893
31894 2010-04-05  Bruno Haible  <bruno@clisp.org>
31895
31896         Use the module 'strncat'.
31897         * modules/unistr/u8-strncat (Depends-on): Add strncat.
31898
31899         Tests for module 'strncat'.
31900         * modules/strncat-tests: New file.
31901         * tests/test-strncat.c: New file.
31902
31903         New module 'strncat'.
31904         * lib/string.in.h (strncat): New declaration.
31905         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
31906         * m4/strncat.m4: New file, based on m4/memchr.m4.
31907         * modules/strncat: New file.
31908         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
31909         is declared.
31910         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
31911         REPLACE_STRNCAT.
31912         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
31913         REPLACE_STRNCAT.
31914         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
31915         module.
31916         * tests/test-string-c++.cc: Check signature of strncat.
31917
31918 2010-04-05  Jim Meyering  <meyering@redhat.com>
31919
31920         xstrtoumax-tests: convert to use init.sh
31921         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
31922         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31923         Use Exit, not exit.
31924         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31925
31926         xstrtoimax-tests: convert to use init.sh
31927         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
31928         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
31929         Use Exit, not exit.
31930         Remove uses of $EXEEXT and "./" to run a program in the current dir.
31931
31932 2010-04-05  Bruno Haible  <bruno@clisp.org>
31933
31934         sys_socket: Avoid #define replacements in C++ mode.
31935         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
31936         warning to the function if possible, rather than #defining the symbol
31937         to a dysfunctional alias.
31938
31939 2010-04-05  Bruno Haible  <bruno@clisp.org>
31940
31941         fseeko: Fix C++ test error on mingw.
31942         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
31943         gl_FUNC_FSEEKO.
31944         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
31945         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
31946         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
31947         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
31948
31949 2010-04-05  Bruno Haible  <bruno@clisp.org>
31950
31951         duplocale: Improve test output.
31952         * tests/test-duplocale.c (main): Print reason for skipped test.
31953
31954 2010-04-05  Bruno Haible  <bruno@clisp.org>
31955
31956         Assume rmdir exists.
31957         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
31958         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
31959
31960 2010-04-05  Bruno Haible  <bruno@clisp.org>
31961
31962         Fix link error on Solaris 8 with cc.
31963         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
31964
31965 2010-04-05  Bruno Haible  <bruno@clisp.org>
31966
31967         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
31968         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
31969
31970 2010-04-05  Bruno Haible  <bruno@clisp.org>
31971
31972         vasprintf: Update documentation.
31973         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
31974
31975 2010-04-05  Bruno Haible  <bruno@clisp.org>
31976
31977         ptsname: Improve test.
31978         * tests/test-ptsname.c (main): Also try the various master names of BSD
31979         systems.
31980
31981 2010-04-05  Bruno Haible  <bruno@clisp.org>
31982
31983         memchr: Avoid a possible C++ test error.
31984         * lib/string.in.h (memchr): Provide declaration if function is missing.
31985         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
31986         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
31987         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
31988         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
31989
31990 2010-04-05  Bruno Haible  <bruno@clisp.org>
31991
31992         strtok_r: Improve idiom.
31993         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
31994         AC_LIBOBJ is used.
31995
31996 2010-04-05  Bruno Haible  <bruno@clisp.org>
31997
31998         strdup: Improve idiom.
31999         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
32000         AC_LIBOBJ is used.
32001         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
32002         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
32003         when AC_LIBOBJ is used.
32004
32005 2010-04-05  Bruno Haible  <bruno@clisp.org>
32006
32007         mbsinit, mbrtowc, wcrtomb: Improve idioms.
32008         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
32009         don't set REPLACE_MBSINIT to 1.
32010         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
32011         don't set REPLACE_MBRTOWC to 1.
32012         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
32013         exist, don't set REPLACE_MBSRTOWCS to 1.
32014         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
32015         exist, don't set REPLACE_MBSNRTOWCS to 1.
32016         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
32017         don't set REPLACE_WCRTOMB to 1.
32018         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
32019         exist, don't set REPLACE_WCSRTOMBS to 1.
32020         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
32021         exist, don't set REPLACE_WCSNRTOMBS to 1.
32022
32023 2010-04-05  Bruno Haible  <bruno@clisp.org>
32024
32025         ldexpl: Improve idiom.
32026         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
32027         make sure to set HAVE_DECL_LDEXPL to 0.
32028
32029 2010-04-05  Jim Meyering  <meyering@redhat.com>
32030
32031         xstrtol-tests: convert to use init.sh
32032         * modules/xstrtol-tests (Files): Add tests/init.sh.
32033         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32034         Use Exit, not exit.
32035         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32036
32037         atexit-tests: convert to use init.sh
32038         * modules/atexit-tests (Files): Add tests/init.sh.
32039         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
32040         Use Exit, not exit.
32041         Remove uses of $EXEEXT and "./" to run a program in the current dir.
32042
32043         init.sh: fix typo
32044         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
32045
32046         init.sh: make it easier for a test script to write to the tty, ...
32047         when using automake's parallel-tests mode.
32048         * tests/init.sh (stderr_fileno_): Define overridable variable.
32049         (warn_): New function, to use it.
32050         (fail_, skip_, framework_failure_): Use warn_.
32051
32052 2010-04-04  Bruno Haible  <bruno@clisp.org>
32053
32054         btowc: Avoid warning.
32055         * lib/btowc.c: Include <stdlib.h>.
32056         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
32057
32058 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32059             Bruno Haible  <bruno@clisp.org>
32060
32061         wchar: Port to NetBSD 1.5.
32062         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
32063         * lib/wctype.in.h (WEOF): Likewise.
32064
32065 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
32066             Bruno Haible  <bruno@clisp.org>
32067
32068         Port extended stdio to NetBSD 1.5.
32069         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
32070         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
32071         older.
32072
32073 2010-04-04  Bruno Haible  <bruno@clisp.org>
32074
32075         string: Remove unused substitution.
32076         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
32077         HAVE_DECL_STRERROR.
32078         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
32079
32080 2010-04-04  Bruno Haible  <bruno@clisp.org>
32081
32082         strtod: Avoid a possible C++ test error.
32083         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
32084         set REPLACE_STRTOD.
32085
32086 2010-04-04  Bruno Haible  <bruno@clisp.org>
32087
32088         strerror: Update documentation.
32089         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
32090
32091 2010-04-04  Bruno Haible  <bruno@clisp.org>
32092
32093         stdio: Fix some C++ test errors on Solaris 8 with GCC.
32094         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
32095         _GL_CXXALIAS_SYS_CAST.
32096
32097 2010-04-04  Bruno Haible  <bruno@clisp.org>
32098
32099         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
32100         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
32101         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
32102         REPLACE_FREXPL to 1.
32103         * doc/posix-functions/frexpl.texi: Update documentation.
32104
32105 2010-04-04  Bruno Haible  <bruno@clisp.org>
32106
32107         math: Fix some C++ test errors on Solaris 8 and Cygwin.
32108         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
32109
32110 2010-04-04  Bruno Haible  <bruno@clisp.org>
32111
32112         Implement nanosleep for native Windows.
32113         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
32114
32115 2010-04-04  Bruno Haible  <bruno@clisp.org>
32116
32117         math: Fix some C++ test errors on Solaris 8.
32118         * lib/math.in.h (truncf, trunc): Use simpler idiom.
32119
32120 2010-04-04  Bruno Haible  <bruno@clisp.org>
32121
32122         math: Fix some C++ test errors on Cygwin.
32123         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
32124         truncl): Provide declaration if the system does not have it.
32125         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
32126         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
32127         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
32128         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
32129         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
32130         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
32131         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
32132         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
32133         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
32134         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
32135         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
32136         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
32137         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
32138         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
32139         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
32140         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
32141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
32142         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32143         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32144         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
32145         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
32146         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
32147
32148 2010-04-04  Bruno Haible  <bruno@clisp.org>
32149
32150         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
32151         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
32152         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
32153         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
32154         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
32155         * m4/isinf.m4 (gl_ISINF): Likewise.
32156         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
32157
32158 2010-04-04  Bruno Haible  <bruno@clisp.org>
32159
32160         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
32161         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
32162
32163 2010-04-04  Bruno Haible  <bruno@clisp.org>
32164
32165         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
32166         * modules/tmpfile (configure.ac): Update.
32167
32168         tmpfile: Fix C++ test error on mingw.
32169         * lib/stdio.in.h (tmpfile): New declaration.
32170         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
32171         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
32172         * modules/tmpfile (Depends-on): Add stdio.
32173         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
32174         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
32175         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
32176         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
32177         REPLACE_TMPFILE.
32178         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
32179
32180 2010-04-04  Bruno Haible  <bruno@clisp.org>
32181
32182         ioctl: Fix C++ test error on mingw.
32183         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
32184         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
32185         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
32186
32187 2010-04-03  Bruno Haible  <bruno@clisp.org>
32188
32189         wcwidth: Fix C++ test error on mingw.
32190         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
32191         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
32192         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
32193
32194 2010-04-03  Bruno Haible  <bruno@clisp.org>
32195
32196         nanosleep: Fix C++ test error on mingw.
32197         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
32198         * lib/time.in.h (nanosleep): Use modern idiom.
32199         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
32200         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
32201         REPLACE_NANOSLEEP to 1.
32202         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
32203         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
32204
32205 2010-04-03  Bruno Haible  <bruno@clisp.org>
32206
32207         strptime: Fix C++ test error on mingw.
32208         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
32209         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
32210         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
32211         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
32212         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
32213         not REPLACE_STRPTIME.
32214         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
32215         REPLACE_STRPTIME.
32216
32217 2010-04-03  Bruno Haible  <bruno@clisp.org>
32218
32219         timegm: Fix C++ test error on mingw.
32220         * lib/time.in.h (timegm): Use modern idiom.
32221         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
32222         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
32223         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
32224         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
32225
32226 2010-04-03  Bruno Haible  <bruno@clisp.org>
32227
32228         timegm: Assume declaration if function exists.
32229         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
32230         if it exists. Don't clobber ac_cv_func_timegm.
32231
32232 2010-04-03  Bruno Haible  <bruno@clisp.org>
32233
32234         time_r: Fix C++ test error on mingw.
32235         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
32236         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
32237         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
32238         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
32239         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
32240
32241 2010-04-03  Bruno Haible  <bruno@clisp.org>
32242
32243         time_r: Minor updates.
32244         * modules/time_r (Description): Mention the provided functions.
32245         * lib/time_r.c: Don't include <string.h>.
32246         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
32247         * doc/posix-functions/localtime_r.texi: Likewise.
32248
32249 2010-04-03  Bruno Haible  <bruno@clisp.org>
32250
32251         time: Fix regression introduced on 2010-03-08.
32252         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
32253         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
32254
32255 2010-04-03  Jim Meyering  <meyering@redhat.com>
32256
32257         maint.mk: don't silently disable project-specific syntax-check rules
32258         * top/maint.mk (_prohibit_regexp): Define, to help people realize
32259         that they need to convert their project-specific syntax-check rules
32260         to use the new _sc_search_regexp.
32261
32262 2010-04-03  Bruno Haible  <bruno@clisp.org>
32263
32264         fchdir: Fix regression introduced on 2010-03-08.
32265         * lib/unistd.in.h (fchdir): Fix declaration.
32266         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
32267         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
32268         REPLACE_FCHDIR.
32269         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
32270         REPLACE_FCHDIR.
32271
32272 2010-04-03  Bruno Haible  <bruno@clisp.org>
32273
32274         getpagesize: Fix C++ test error on mingw.
32275         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
32276         system does not declare the function.
32277         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
32278         declared.
32279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32280         HAVE_DECL_GETPAGESIZE.
32281         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
32282
32283 2010-04-03  Bruno Haible  <bruno@clisp.org>
32284
32285         stdio: Make C++ tests work on mingw.
32286         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
32287         does not declare the function.
32288
32289 2010-04-03  Bruno Haible  <bruno@clisp.org>
32290
32291         ftello: Fix C++ test error on mingw.
32292         * lib/stdio.in.h (ftello): Use modern idiom.
32293         * lib/ftello.c (ftello): Renamed from rpl_ftello.
32294         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
32295         is missing and that it needs to be replaced.
32296         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
32297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
32298         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
32299
32300 2010-04-03  Bruno Haible  <bruno@clisp.org>
32301
32302         fseeko: Fix C++ test error on mingw.
32303         * lib/stdio.in.h (fseeko): Use modern idiom.
32304         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
32305         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
32306         is missing and that it needs to be replaced.
32307         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
32308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
32309         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
32310
32311 2010-04-03  Bruno Haible  <bruno@clisp.org>
32312
32313         mkstemp: Fix C++ test error on mingw.
32314         * lib/stdlib.in.h (mkstemp): Use modern idiom.
32315         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
32316         function is missing and that it needs to be replaced.
32317         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
32318         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
32319
32320 2010-04-03  Bruno Haible  <bruno@clisp.org>
32321
32322         stpncpy: Fix C++ test error on mingw.
32323         * lib/string.in.h (stpncpy): Use modern idiom.
32324         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
32325         function is missing and that it needs to be replaced.
32326         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32327         REPLACE_STPNCPY.
32328         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
32329
32330 2010-04-03  Bruno Haible  <bruno@clisp.org>
32331
32332         sys_stat: Fix C++ test error on mingw.
32333         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
32334         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
32335
32336 2010-04-03  Bruno Haible  <bruno@clisp.org>
32337
32338         pty: Update doc.
32339         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
32340
32341 2010-04-03  Bruno Haible  <bruno@clisp.org>
32342
32343         unistd: Fix C++ test error on mingw.
32344         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
32345
32346 2010-04-03  Bruno Haible  <bruno@clisp.org>
32347
32348         Update doc regarding mingw.
32349         * doc/glibc-functions/openpty.texi: Update regarding mingw.
32350         * doc/glibc-functions/login_tty.texi: Likewise.
32351         * doc/glibc-functions/forkpty.texi: Likewise.
32352
32353 2010-04-03  Bruno Haible  <bruno@clisp.org>
32354
32355         stdlib: Avoid compilation failure of c-strtold on mingw.
32356         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
32357
32358 2010-04-03  Bruno Haible  <bruno@clisp.org>
32359
32360         locale: Make C++ tests work on Cygwin and mingw.
32361         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
32362         cannot provide the function.
32363         Reported by Simon Josefsson.
32364
32365 2010-04-03  Bruno Haible  <bruno@clisp.org>
32366
32367         localename: Port to MacOS X 10.6.
32368         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
32369         memory layout of the locales in MacOS X 10.6 as well.
32370         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
32371
32372 2010-04-02  Bruno Haible  <bruno@clisp.org>
32373
32374         gnulib-tool: Ensure that long-running tests are executed last.
32375         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
32376         running tests after the one for the other tests.
32377
32378 2010-04-02  Bruno Haible  <bruno@clisp.org>
32379
32380         gnulib-tool: Ensure the tests in the main directory are executed first.
32381         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
32382         start with the current directory.
32383
32384 2010-04-02  Bruno Haible  <bruno@clisp.org>
32385
32386         Tests for module 'havelib', moved here from GNU gettext.
32387         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
32388         modifications.
32389         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
32390         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
32391         with modifications.
32392         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
32393         modifications.
32394         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
32395         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
32396         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
32397         with modifications.
32398         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
32399         with modifications.
32400         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
32401         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
32402         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
32403         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
32404         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
32405         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
32406         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
32407         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
32408         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
32409         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
32410         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
32411         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
32412         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
32413         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
32414         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
32415         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
32416         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
32417         with modifications.
32418         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
32419         with modifications.
32420         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
32421         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
32422         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
32423         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
32424         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
32425         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
32426         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
32427         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
32428         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
32429         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
32430         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
32431         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
32432         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
32433         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
32434         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
32435         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
32436         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
32437         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
32438         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
32439         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
32440         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
32441         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
32442         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
32443         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
32444         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
32445         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
32446         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
32447         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
32448         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
32449         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
32450         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
32451         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
32452         * tests/havelib/rpathx/rpathx.c: New file, from
32453         gettext/autoconf-lib-link.
32454         * tests/havelib/rpathx/Makefile.am: New file, from
32455         gettext/autoconf-lib-link.
32456         * tests/havelib/rpathx/configure.ac: New file, from
32457         gettext/autoconf-lib-link with modifications.
32458         * tests/havelib/rpathy/rpathy.c: New file, from
32459         gettext/autoconf-lib-link.
32460         * tests/havelib/rpathy/Makefile.am: New file, from
32461         gettext/autoconf-lib-link.
32462         * tests/havelib/rpathy/configure.ac: New file, from
32463         gettext/autoconf-lib-link with modifications.
32464         * tests/havelib/rpathz/rpathz.c: New file, from
32465         gettext/autoconf-lib-link.
32466         * tests/havelib/rpathz/Makefile.am: New file, from
32467         gettext/autoconf-lib-link.
32468         * tests/havelib/rpathz/configure.ac: New file, from
32469         gettext/autoconf-lib-link with modifications.
32470         * tests/havelib/rpathlx/usex.c: New file, from
32471         gettext/autoconf-lib-link.
32472         * tests/havelib/rpathlx/Makefile.am: New file, from
32473         gettext/autoconf-lib-link.
32474         * tests/havelib/rpathlx/configure.ac: New file, from
32475         gettext/autoconf-lib-link with modifications.
32476         * tests/havelib/rpathly/usey.c: New file, from
32477         gettext/autoconf-lib-link.
32478         * tests/havelib/rpathly/Makefile.am: New file, from
32479         gettext/autoconf-lib-link.
32480         * tests/havelib/rpathly/configure.ac: New file, from
32481         gettext/autoconf-lib-link with modifications.
32482         * tests/havelib/rpathlz/usez.c: New file, from
32483         gettext/autoconf-lib-link.
32484         * tests/havelib/rpathlz/Makefile.am: New file, from
32485         gettext/autoconf-lib-link.
32486         * tests/havelib/rpathlz/configure.ac: New file, from
32487         gettext/autoconf-lib-link with modifications.
32488         * tests/havelib/rpathlyx/usey.c: New file, from
32489         gettext/autoconf-lib-link.
32490         * tests/havelib/rpathlyx/Makefile.am: New file, from
32491         gettext/autoconf-lib-link.
32492         * tests/havelib/rpathlyx/configure.ac: New file, from
32493         gettext/autoconf-lib-link with modifications.
32494         * tests/havelib/rpathlzyx/usez.c: New file, from
32495         gettext/autoconf-lib-link.
32496         * tests/havelib/rpathlzyx/Makefile.am: New file, from
32497         gettext/autoconf-lib-link.
32498         * tests/havelib/rpathlzyx/configure.ac: New file, from
32499         gettext/autoconf-lib-link with modifications.
32500         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
32501         with modifications.
32502
32503 2010-04-02  Bruno Haible  <bruno@clisp.org>
32504
32505         gnulib-tool: Create distributed built sources also for the tests.
32506         * gnulib-tool (func_create_testdir): Also generate distributed built
32507         sources in the tests directory.
32508
32509 2010-04-02  Bruno Haible  <bruno@clisp.org>
32510
32511         gnulib-tool: Obey user's environment variables.
32512         * gnulib-tool (func_create_testdir): When creating built sources,
32513         respect the environment variables for autoconf, automake, etc. given by
32514         the user.
32515
32516 2010-04-02  Bruno Haible  <bruno@clisp.org>
32517
32518         gnulib-tool: Provide the value of --m4-base to modules.
32519         * gnulib-tool (func_import, func_create_testdir): Emit a definition
32520         of gl_m4_base.
32521
32522 2010-04-02  Eric Blake  <eblake@redhat.com>
32523
32524         maint.mk: fix some fallout
32525         * NEWS: Document the incompatible change, and its effect on cfg.mk.
32526         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
32527
32528 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32529
32530         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
32531         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
32532         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
32533         (sc_cast_of_x_alloc_return_value): Likewise.
32534         (sc_cast_of_alloca_return_value): Likewise.
32535         (sc_space_tab): Likewise.
32536         (sc_prohibit_atoi_atof): Likewise.
32537         (sc_prohibit_magic_number_exit): Likewise.
32538         (sc_error_exit_success): Likewise.
32539         (sc_file_system): Likewise.
32540         (sc_prohibit_have_config_h): Likewise.
32541         (sc_require_config_h): Likewise.
32542         (sc_prohibit_HAVE_MBRTOWC): Likewise.
32543         (sc_obsolete_symbols): Likewise.
32544         (sc_changelog): Likewise.
32545         (sc_program_name): Likewise.
32546         (sc_the_the): Likewise.
32547         (sc_trailing_blank): Likewise.
32548         (sc_two_space_separator_in_usage): Likewise.
32549         (sc_useless_cpp_parens): Likewise.
32550         (sc_GPL_version): Likewise.
32551         (sc_GFDL_version): Likewise.
32552         (sc_texinfo_acronym): Likewise.
32553         (sc_prohibit_cvs_keyword): Likewise.
32554         (sc_prohibit_stat_st_blocks): Likewise.
32555         (sc_prohibit_S_IS_definition): Likewise.
32556         (sc_redundant_const): Likewise.
32557         (sc_makefile_TAB_only_indentation): Likewise.
32558         (sc_m4_quote_check): Likewise.
32559         (sc_makefile_path_separator_check): Likewise.
32560         (sc_copyright_check): Likewise.
32561         (sc_Wundef_boolean): Likewise.
32562         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
32563
32564         maint.mk: match 0 or more whitespace-before-function-call '('
32565         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
32566         that have zero or two-and-more spaces between the function name
32567         and the open parenthesis.
32568         (sc_error_message_warn_fatal): Likewise.
32569         (sc_error_message_uppercase): Likewise.
32570         (sc_error_message_period): Likewise.
32571
32572 2010-03-31  Eric Blake  <eblake@redhat.com>
32573
32574         maint.mk: check for [ as well as test
32575         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
32576         Based on a libvirt report by Matthias Bolte.
32577
32578         gnumakefile: don't squelch _version output
32579         * top/GNUmakefile (_version): Create one-shot dependency rather
32580         than using $(shell) when version must be regenerated.
32581         (_autoreconf): Run verbosely, by default.
32582
32583         sys_time: avoid compiler warnings
32584         * lib/sys_time.in.h (includes): Ensure gcc pragma is
32585         unconditional, fixing regression from 2010-03-29.
32586         Reported by Simon Josefsson.
32587
32588 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
32589
32590         maint.mk: s/_header_without_use/_sc_header_without_use/
32591         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
32592         (sc_prohibit_assert_without_use): Use the new name.
32593         (sc_prohibit_close_stream_without_use): Likewise.
32594         (sc_prohibit_getopt_without_use): Likewise.
32595         (sc_prohibit_quotearg_without_use): Likewise.
32596         (sc_prohibit_quote_without_use): Likewise.
32597         (sc_prohibit_long_options_without_use): Likewise.
32598         (sc_prohibit_inttostr_without_use): Likewise.
32599         (sc_prohibit_ignore_value_without_use): Likewise.
32600         (sc_prohibit_error_without_use): Likewise.
32601         (sc_prohibit_xalloc_without_use): Likewise.
32602         (sc_prohibit_hash_without_use): Likewise.
32603         (sc_prohibit_hash_pjw_without_use): Likewise.
32604         (sc_prohibit_safe_read_without_use): Likewise.
32605         (sc_prohibit_argmatch_without_use): Likewise.
32606         (sc_prohibit_canonicalize_without_use): Likewise.
32607         (sc_prohibit_root_dev_ino_without_use): Likewise.
32608         (sc_prohibit_openat_without_use): Likewise.
32609         (sc_prohibit_c_ctype_without_use): Likewise.
32610         (sc_prohibit_signal_without_use): Likewise.
32611         (sc_prohibit_intprops_without_use): Likewise.
32612
32613 2010-03-30  Eric Blake  <eblake@redhat.com>
32614
32615         maint: improve module indicators
32616         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
32617         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
32618         columns, and avoid extra macro expansion.
32619
32620         fdopendir: work around FreeBSD bug
32621         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
32622         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
32623         * modules/dirent (Makefile.am): Substitute it.
32624         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
32625         declaration.
32626         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
32627         fix.
32628         Reported by Christian Weisgerber <naddy@mips.inka.de>.
32629
32630 2010-03-29  Bruno Haible  <bruno@clisp.org>
32631
32632         Emit #pragma system_header after the inclusion guard, not before.
32633         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
32634         guard that spans the entire file, not before. This enables an
32635         optimization in GCC's preprocessor.
32636         * lib/ctype.in.h: Likewise.
32637         * lib/dirent.in.h: Likewise.
32638         * lib/errno.in.h: Likewise.
32639         * lib/float.in.h: Likewise.
32640         * lib/getopt.in.h: Likewise.
32641         * lib/iconv.in.h: Likewise.
32642         * lib/langinfo.in.h: Likewise.
32643         * lib/locale.in.h: Likewise.
32644         * lib/math.in.h: Likewise.
32645         * lib/netdb.in.h: Likewise.
32646         * lib/netinet_in.in.h: Likewise.
32647         * lib/pty.in.h: Likewise.
32648         * lib/sched.in.h: Likewise.
32649         * lib/se-selinux.in.h: Likewise.
32650         * lib/search.in.h: Likewise.
32651         * lib/spawn.in.h: Likewise.
32652         * lib/stdarg.in.h: Likewise.
32653         * lib/stdint.in.h: Likewise.
32654         * lib/string.in.h: Likewise.
32655         * lib/strings.in.h: Likewise.
32656         * lib/sys_file.in.h: Likewise.
32657         * lib/sys_ioctl.in.h: Likewise.
32658         * lib/sys_time.in.h: Likewise.
32659         * lib/sys_times.in.h: Likewise.
32660         * lib/sys_utsname.in.h: Likewise.
32661         * lib/sys_wait.in.h: Likewise.
32662         * lib/sysexits.in.h: Likewise.
32663         * lib/wctype.in.h: Likewise.
32664
32665 2010-03-28  James Youngman  <jay@gnu.org>
32666
32667         save-cwd: don't leak a file descriptor when the caller execs.
32668         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
32669         saved file descriptor.
32670         * modules/save-cwd (Depends-on): Depend on cloexec.
32671
32672 2010-03-29  Bruno Haible  <bruno@clisp.org>
32673
32674         Remove vestiges of fts-lgpl module.
32675         * lib/fts_.h: Assume GNULIB_FTS is 1.
32676         * lib/fts.c: Likewise.
32677         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32678
32679 2010-03-28  Bruno Haible  <bruno@clisp.org>
32680
32681         Fix definition of tests witness macro.
32682         * gnulib-tool (func_import): Fix definition of witness macro.
32683
32684 2010-03-28  Bruno Haible  <bruno@clisp.org>
32685
32686         Fix ioctl's protoype on glibc systems.
32687         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
32688         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
32689         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
32690         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
32691         signature. If not, arrange to replace the ioctl function.
32692         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
32693         REPLACE_IOCTL.
32694         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
32695         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
32696         Reported by Ludovic Courtès <ludo@gnu.org>.
32697
32698 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
32699
32700         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
32701         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
32702         made it so grep -r --include=GLOB* ... did not work.
32703
32704 2010-03-26  Jim Meyering  <meyering@redhat.com>
32705             Eric Blake  <eblake@redhat.com>
32706
32707         maint.mk: prohibit use of test's -o and -a operators
32708         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
32709
32710 2010-03-28  Bruno Haible  <bruno@clisp.org>
32711
32712         Remove unused GNULIB_XYZ macro definitions.
32713         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
32714         invocation.
32715
32716 2010-03-28  Bruno Haible  <bruno@clisp.org>
32717
32718         Mark privileged tests modules.
32719         * modules/idpriv-drop-tests (Status): New section.
32720         * modules/idpriv-droptemp-tests (Status): New section.
32721
32722 2010-03-28  Bruno Haible  <bruno@clisp.org>
32723
32724         Split C++ tests into separate tests modules.
32725         * modules/dirent-c++-tests: New file, extracted from
32726         modules/dirent-tests.
32727         * modules/dirent-tests: Depend on it.
32728         * modules/fcntl-h-c++-tests: New file, extracted from
32729         modules/fcntl-h-tests.
32730         * modules/fcntl-h-tests: Depend on it.
32731         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
32732         * modules/glob-tests: Depend on it.
32733         * modules/iconv-h-c++-tests: New file, extracted from
32734         modules/iconv-h-tests.
32735         * modules/iconv-h-tests: Depend on it.
32736         * modules/langinfo-c++-tests: New file, extracted from
32737         modules/langinfo-tests.
32738         * modules/langinfo-tests: Depend on it.
32739         * modules/locale-c++-tests: New file, extracted from
32740         modules/locale-tests.
32741         * modules/locale-tests: Depend on it.
32742         * modules/math-c++-tests: New file, extracted from modules/math-tests.
32743         * modules/math-tests: Depend on it.
32744         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
32745         * modules/pty-tests: Depend on it.
32746         * modules/search-c++-tests: New file, extracted from
32747         modules/search-tests.
32748         * modules/search-tests: Depend on it.
32749         * modules/signal-c++-tests: New file, extracted from
32750         modules/signal-tests.
32751         * modules/signal-tests: Depend on it.
32752         * modules/spawn-c++-tests: New file, extracted from
32753         modules/spawn-tests.
32754         * modules/spawn-tests: Depend on it.
32755         * modules/stdio-c++-tests: New file, extracted from
32756         modules/stdio-tests.
32757         * modules/stdio-tests: Depend on it.
32758         * modules/stdlib-c++-tests: New file, extracted from
32759         modules/stdlib-tests.
32760         * modules/stdlib-tests: Depend on it.
32761         * modules/string-c++-tests: New file, extracted from
32762         modules/string-tests.
32763         * modules/string-tests: Depend on it.
32764         * modules/sys_ioctl-c++-tests: New file, extracted from
32765         modules/sys_ioctl-tests.
32766         * modules/sys_ioctl-tests: Depend on it.
32767         * modules/sys_select-c++-tests: New file, extracted from
32768         modules/sys_select-tests.
32769         * modules/sys_select-tests: Depend on it.
32770         * modules/sys_socket-c++-tests: New file, extracted from
32771         modules/sys_socket-tests.
32772         * modules/sys_socket-tests: Depend on it.
32773         * modules/sys_stat-c++-tests: New file, extracted from
32774         modules/sys_stat-tests.
32775         * modules/sys_stat-tests: Depend on it.
32776         * modules/sys_time-c++-tests: New file, extracted from
32777         modules/sys_time-tests.
32778         * modules/sys_time-tests: Depend on it.
32779         * modules/time-c++-tests: New file, extracted from modules/time-tests.
32780         * modules/time-tests: Depend on it.
32781         * modules/unistd-c++-tests: New file, extracted from
32782         modules/unistd-tests.
32783         * modules/unistd-tests: Depend on it.
32784         * modules/wchar-c++-tests: New file, extracted from
32785         modules/wchar-tests.
32786         * modules/wchar-tests: Depend on it.
32787         * modules/wctype-c++-tests: New file, extracted from
32788         modules/wctype-tests.
32789         * modules/wctype-tests: Depend on it.
32790         Reported by Simon Josefsson.
32791
32792 2010-03-28  Bruno Haible  <bruno@clisp.org>
32793
32794         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
32795         * gnulib-tool (func_exists_module): New function, extracted from
32796         func_verify_module.
32797         (func_verify_module): Use it.
32798         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
32799         'foo' only if 'foo' exists.
32800         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
32801         module.
32802
32803 2010-03-28  Bruno Haible  <bruno@clisp.org>
32804
32805         gnulib-tool: Add support for special categories of tests.
32806         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
32807         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
32808         (func_usage): Document them.
32809         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
32810         inc_unportable_tests, inc_all_tests): New variables.
32811         (func_acceptable): Consider these variables.
32812         (func_modules_transitive_closure): Make it work when the 'Status' field
32813         consists of multiple words.
32814         (func_import): Store and restore the values of inc_cxx_tests,
32815         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
32816         inc_all_tests in gnulib-comp.m4.
32817         (func_create_testdir): Set inc_all_tests to true.
32818         * doc/gnulib.texi (Extra tests modules): New section.
32819         Suggested by Jim Meyering.
32820
32821 2010-03-28  Bruno Haible  <bruno@clisp.org>
32822
32823         ansi-c++-opt: Allow turning off the C++ build by default.
32824         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
32825         gl_CXX_CHOICE_DEFAULT_NO is defined.
32826         Requested by Eric Blake.
32827
32828 2010-03-28  Bruno Haible  <bruno@clisp.org>
32829
32830         unistd: Avoid #define replacements in C++ mode.
32831         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
32832         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
32833         setsockopt, shutdown, select): In C++, attach a warning to the function
32834         if possible, rather than #defining the symbol to a dysfunctional alias.
32835         Reported by John W. Eaton <jwe@gnu.org>.
32836
32837 2010-03-28  Bruno Haible  <bruno@clisp.org>
32838
32839         Fix link errors on mingw.
32840         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
32841         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
32842         $(LIBSOCKET).
32843         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
32844         $(LIBSOCKET).
32845
32846 2010-03-28  Bruno Haible  <bruno@clisp.org>
32847             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32848
32849         lib-ignore: Determine different options for different compilers.
32850         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
32851         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
32852         Add comments.
32853         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
32854         * NEWS: Mention the change.
32855
32856 2010-03-27  Bruno Haible  <bruno@clisp.org>
32857
32858         Remove unused GNULIB_XYZ macro definitions.
32859         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
32860         * modules/fseek (configure.ac): Likewise.
32861         * modules/ioctl (configure.ac): Likewise.
32862         * modules/open (configure.ac): Likewise.
32863         * modules/stdlib-safer (configure.ac): Likewise.
32864
32865 2010-03-27  Bruno Haible  <bruno@clisp.org>
32866
32867         Add a remark about certain modules.
32868         * modules/malloc (Comment): New section.
32869         * modules/realloc (Comment): Likewise.
32870         * modules/sigpipe (Comment): Likewise.
32871
32872 2010-03-27  Bruno Haible  <bruno@clisp.org>
32873
32874         Resolve conflict between the two kinds of module indicators.
32875         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
32876         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
32877         * modules/canonicalize (configure.ac): Invoke
32878         gl_MODULE_INDICATOR_FOR_TESTS.
32879         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
32880         GNULIB_XYZ.
32881         * tests/test-dirent-c++.cc: Likewise.
32882         * tests/test-dirent-safer.c: Likewise.
32883         * tests/test-dup2.c: Likewise.
32884         * tests/test-fchdir.c: Likewise.
32885         * tests/test-fcntl-h-c++.cc: Likewise.
32886         * tests/test-getopt.c: Likewise.
32887         * tests/test-getopt.h: Likewise.
32888         * tests/test-langinfo-c++.cc: Likewise.
32889         * tests/test-locale-c++.cc: Likewise.
32890         * tests/test-math-c++.cc: Likewise.
32891         * tests/test-pty-c++.cc: Likewise.
32892         * tests/test-search-c++.cc: Likewise.
32893         * tests/test-signal-c++.cc: Likewise.
32894         * tests/test-spawn-c++.cc: Likewise.
32895         * tests/test-stdio-c++.cc: Likewise.
32896         * tests/test-stdlib-c++.cc: Likewise.
32897         * tests/test-string-c++.cc: Likewise.
32898         * tests/test-sys_ioctl-c++.cc: Likewise.
32899         * tests/test-sys_select-c++.cc: Likewise.
32900         * tests/test-sys_socket-c++.cc: Likewise.
32901         * tests/test-sys_stat-c++.cc: Likewise.
32902         * tests/test-sys_time-c++.cc: Likewise.
32903         * tests/test-time-c++.cc: Likewise.
32904         * tests/test-unistd-c++.cc: Likewise.
32905         * tests/test-wchar-c++.cc: Likewise.
32906         * tests/uninorm/test-u8-nfc.c: Likewise.
32907         * tests/uninorm/test-u8-nfd.c: Likewise.
32908         * tests/uninorm/test-u8-nfkc.c: Likewise.
32909         * tests/uninorm/test-u8-nfkd.c: Likewise.
32910         * tests/uninorm/test-u16-nfc.c: Likewise.
32911         * tests/uninorm/test-u16-nfd.c: Likewise.
32912         * tests/uninorm/test-u16-nfkc.c: Likewise.
32913         * tests/uninorm/test-u16-nfkd.c: Likewise.
32914         * tests/uninorm/test-u32-nfc.c: Likewise.
32915         * tests/uninorm/test-u32-nfc-big.c: Likewise.
32916         * tests/uninorm/test-u32-nfd.c: Likewise.
32917         * tests/uninorm/test-u32-nfd-big.c: Likewise.
32918         * tests/uninorm/test-u32-nfkc.c: Likewise.
32919         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
32920         * tests/uninorm/test-u32-nfkd.c: Likewise.
32921         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
32922         * tests/uninorm/test-u32-normalize-big.c: Likewise.
32923
32924 2010-03-27  Bruno Haible  <bruno@clisp.org>
32925
32926         Distinguish two kinds of module indicators.
32927         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
32928         gl_MODULE_INDICATOR.
32929         (gl_MODULE_INDICATOR): New macro.
32930         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
32931         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
32932         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
32933         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
32934         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
32935         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
32936         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
32937         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
32938         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
32939         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
32940         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
32941         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
32942         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
32943         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
32944         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
32945         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
32946         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
32947         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
32948         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
32949         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
32950         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
32951         * modules/cloexec (configure.ac): Likewise.
32952         * modules/getopt-gnu (configure.ac): Likewise.
32953         * modules/uninorm/u8-normalize (configure.ac): Likewise.
32954         * modules/uninorm/u16-normalize (configure.ac): Likewise.
32955         * modules/uninorm/u32-normalize (configure.ac): Likewise.
32956         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
32957
32958 2010-03-27  Bruno Haible  <bruno@clisp.org>
32959
32960         New module description field 'Comment'.
32961         * gnulib-tool: New option --extract-comment.
32962         (func_usage): Document it.
32963         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
32964         (func_get_comment): New function.
32965         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
32966
32967 2010-03-27  Bruno Haible  <bruno@clisp.org>
32968
32969         Addendum to 2010-02-07 commit.
32970         * gnulib-tool (func_usage): Document --extract-applicability option.
32971
32972 2010-03-27  Bruno Haible  <bruno@clisp.org>
32973
32974         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
32975         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
32976         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
32977         rather than link errors.
32978
32979 2010-03-27  Bruno Haible  <bruno@clisp.org>
32980
32981         Avoid side effects from tests-related modules on the compilation of lib.
32982         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
32983         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
32984         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
32985         parameter. Emit into AM_CPPFLAGS a definition of the designated C
32986         macro.
32987         (func_import): Define a witness macro. Assign it a value that depends
32988         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
32989         tests-related modules.
32990         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
32991         Reported by Jim Meyering.
32992
32993 2010-03-27  Bruno Haible  <bruno@clisp.org>
32994
32995         Factorize common .m4 code.
32996         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
32997         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
32998         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
32999         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
33000         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
33001         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
33002         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
33003         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
33004         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
33005         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
33006         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
33007         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
33008         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
33009         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
33010         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
33011         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
33012         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
33013         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
33014         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
33015         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
33016         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
33017         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
33018         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
33019         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
33020         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
33021         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
33022         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
33023         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
33024         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
33025         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
33026         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
33027         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
33028
33029 2010-03-27  Bruno Haible  <bruno@clisp.org>
33030
33031         Fix a compilation error on Cygwin with g++ >= 4.3.
33032         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
33033         if it is undefined or if we alias it to chmod.
33034         (lstat): Don't warn about the use of this function if it is undefined
33035         or if we alias it to stat.
33036         Reported by Simon Josefsson.
33037
33038 2010-03-27  Bruno Haible  <bruno@clisp.org>
33039
33040         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
33041         * modules/getlogin (configure.ac): Update.
33042
33043         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
33044         * modules/getlogin_r (configure.ac): Update.
33045
33046         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
33047         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
33048         * modules/inet_ntop (configure.ac): Update.
33049
33050         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
33051         * modules/inet_pton (configure.ac): Update.
33052
33053         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
33054         * modules/mbslen (configure.ac): Update.
33055
33056         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
33057         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
33058         * modules/forkpty (configure.ac): Update.
33059         * modules/openpty (configure.ac): Update.
33060
33061 2010-03-26  Simon Josefsson  <simon@josefsson.org>
33062
33063         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
33064         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
33065
33066 2010-03-25  Eric Blake  <eblake@redhat.com>
33067
33068         maint: use pragma consistently across replacement headers
33069         * lib/ctype.in.h (system_header): Hoist for consistent placement.
33070         * lib/dirent.in.h (system_header): Likewise.
33071         * lib/errno.in.h (system_header): Likewise.
33072         * lib/float.in.h (system_header): Likewise.
33073         * lib/getopt.in.h (system_header): Likewise.
33074         * lib/iconv.in.h (system_header): Likewise.
33075         * lib/inttypes.in.h (system_header): Likewise.
33076         * lib/langinfo.in.h (system_header): Likewise.
33077         * lib/locale.in.h (system_header): Likewise.
33078         * lib/math.in.h (system_header): Likewise.
33079         * lib/netdb.in.h (system_header): Likewise.
33080         * lib/netinet_in.in.h (system_header): Likewise.
33081         * lib/pty.in.h (system_header): Likewise.
33082         * lib/sched.in.h (system_header): Likewise.
33083         * lib/se-selinux.in.h (system_header): Likewise.
33084         * lib/search.in.h (system_header): Likewise.
33085         * lib/spawn.in.h (system_header): Likewise.
33086         * lib/stdarg.in.h (system_header): Likewise.
33087         * lib/stdint.in.h (system_header): Likewise.
33088         * lib/string.in.h (system_header): Likewise.
33089         * lib/strings.in.h (system_header): Likewise.
33090         * lib/sys_file.in.h (system_header): Likewise.
33091         * lib/sys_ioctl.in.h (system_header): Likewise.
33092         * lib/sys_socket.in.h (system_header): Likewise.
33093         * lib/sys_times.in.h (system_header): Likewise.
33094         * lib/sys_utsname.in.h (system_header): Likewise.
33095         * lib/sys_wait.in.h (system_header): Likewise.
33096         * lib/sysexits.in.h (system_header): Likewise.
33097         * lib/unistd.in.h (system_header): Likewise.
33098         * lib/wctype.in.h (system_header): Likewise.
33099
33100         arpa/inet: fix mingw compilation warning
33101         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
33102         Reported by Matthew Bolte.
33103
33104 2010-03-25  Bruno Haible  <bruno@clisp.org>
33105
33106         Avoid collision between gnulib wrapper and libintl wrapper.
33107         * lib/printf.c (printf): Don't define if a printf wrapper is already
33108         defined in intl/printf.c.
33109         Reported by Michel Boaventura <michel@michelboaventura.com>.
33110
33111 2010-03-25  Bruno Haible  <bruno@clisp.org>
33112
33113         Use ANSI C.
33114         * lib/readutmp.h (getutent): Provide ANSI C prototype.
33115
33116 2010-03-25  Bruno Haible  <bruno@clisp.org>
33117
33118         Minor formatting changes.
33119         * lib/acosl.c: Insert space before function argument list.
33120         * lib/argz.c: Likewise.
33121         * lib/asinl.c: Likewise.
33122         * lib/expl.c: Likewise.
33123         * lib/gen-uni-tables.c: Likewise.
33124         * lib/gettext.h: Likewise.
33125         * lib/glthread/lock.h: Likewise.
33126         * lib/tanl.c: Likewise.
33127         * lib/uniname/uniname.c: Likewise.
33128         * tests/test-idpriv-drop.c: Likewise.
33129         * tests/test-idpriv-droptemp.c: Likewise.
33130         * tests/test-lock.c: Likewise.
33131         * tests/test-tls.c: Likewise.
33132         * lib/argp-help.c: Insert space before function-like macro argument
33133         list.
33134         * lib/memcmp.c: Likewise.
33135         * tests/test-base64.c: Likewise.
33136         * lib/localename.c: Insert space before sizeof's argument list.
33137         * lib/safe-alloc.h: Likewise.
33138         * lib/file-set.h: Insert space before macro argument list.
33139         * tests/test-argp.c: Likewise.
33140         * lib/argp-namefrob.h: Insert space before function parameter list.
33141         * lib/getaddrinfo.c: Likewise.
33142         * lib/netdb.in.h: Likewise.
33143         * lib/parse-duration.h: Likewise.
33144         * lib/parse-duration.c: Likewise.
33145         * lib/poll.c: Likewise.
33146         * lib/select.c: Likewise.
33147         * lib/trim.h: Likewise.
33148         * tests/test-usleep.c: Likewise.
33149         * lib/ldexpl.c: Insert space before function parameter list and before
33150         function argument list.
33151         * lib/logl.c: Likewise.
33152         * lib/sqrtl.c: Likewise.
33153         * lib/trim.c: Likewise.
33154         * lib/cosl.c: Use GNU style indentation. Insert space before function
33155         argument list.
33156         * lib/sinl.c: Likewise.
33157         * lib/tsearch.c: Insert space after 'for'.
33158         Reported by Jim Meyering.
33159
33160 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
33161
33162         * maint.mk (sc_Wundef_boolean): Check for the presence of the
33163         config header before grepping, as it's not present before
33164         autoreconf/configure are run.  Reported by Simon Josefsson.
33165
33166 2010-03-23  Bruno Haible  <bruno@clisp.org>
33167
33168         pt_chown: Make it work with automake < 1.11.
33169         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
33170         Reported by Simon Josefsson.
33171
33172 2010-03-23  Bruno Haible  <bruno@clisp.org>
33173
33174         pt_chown: Don't depend on GPLed modules.
33175         * lib/pt_chown.c: Don't include idpriv.h.
33176         (main): Don't drop privileges.
33177         * modules/pt_chown (Depends-on): Remove idpriv-drop.
33178         Reported by Simon Josefsson.
33179
33180 2010-03-24  Simon Josefsson  <simon@josefsson.org>
33181
33182         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
33183         suggestions from karl@freefriends.org (Karl Berry).
33184
33185 2010-03-22  Eric Blake  <eblake@redhat.com>
33186
33187         gethostname: further tweaks
33188         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
33189         are overriding gethostname.
33190         Suggested by Bruno Haible.
33191
33192 2010-03-21  Bruno Haible  <bruno@clisp.org>
33193
33194         Fix comments.
33195         * lib/forkpty.c (rpl_forkpty): Fix comment.
33196         * lib/openpty.c (rpl_openpty): Likewise.
33197         Reported by Eric Blake.
33198
33199 2010-03-22  Eric Blake  <eblake@redhat.com>
33200
33201         gethostname: fix build on mingw
33202         * lib/unistd.in.h (includes): Work around fact that mingw
33203         <winsock2.h> re-includes <unistd.h>, by avoiding any
33204         redeclarations if we are being included by <winsock2.h>.
33205         Reported by Matthias Bolte.
33206
33207 2010-03-21  Bruno Haible  <bruno@clisp.org>
33208
33209         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33210         * lib/forkpty.c (forkpty): New replacement function, from glibc with
33211         modifications.
33212         * lib/pty.in.h (forkpty): Update declaration. Add comments.
33213         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
33214         provide the replacement.
33215         * modules/forkpty (Depends-on): Add openpty, login_tty.
33216         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
33217         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
33218         * doc/glibc-functions/forkpty.texi: More supported platforms.
33219         * config/srclist.txt: Add forkpty.c (commented).
33220
33221 2010-03-21  Bruno Haible  <bruno@clisp.org>
33222
33223         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
33224         (Makefile.am): Verify that PTY_LIB is defined.
33225
33226         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
33227
33228 2010-03-21  Bruno Haible  <bruno@clisp.org>
33229
33230         Tests for module 'login_tty'.
33231         * modules/login_tty-tests: New file.
33232         * tests/test-login_tty.c: New file.
33233
33234         New module 'login_tty'.
33235         * lib/login_tty.c: New file.
33236         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
33237         * modules/login_tty: New file.
33238         * doc/glibc-functions/login_tty.texi: Mention the new module.
33239
33240 2010-03-21  Bruno Haible  <bruno@clisp.org>
33241
33242         login_tty: Documentation.
33243         * doc/glibc-functions/login_tty.texi: New file.
33244         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
33245
33246 2010-03-21  Bruno Haible  <bruno@clisp.org>
33247
33248         pty: Consistent macro naming.
33249         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
33250         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
33251         * modules/pty (configure.ac): Update.
33252
33253 2010-03-21  Bruno Haible  <bruno@clisp.org>
33254
33255         Tests for openpty: Make stricter.
33256         * tests/test-openpty.c (main): Add test of canonical processing and
33257         erase.
33258         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
33259
33260         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
33261         * lib/openpty.c (openpty): New replacement function.
33262         * lib/pty.in.h: Include <termios.h>.
33263         (openpty): Update declaration. Add comments.
33264         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
33265         is not declared, arrange to provide the replacement. Check for _getpty
33266         and posix_openpt.
33267         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
33268         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
33269         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
33270         * modules/pty-tests (test_pty_c___LDADD): New variable.
33271         * doc/glibc-functions/openpty.texi: More supported platforms.
33272
33273 2010-03-21  Bruno Haible  <bruno@clisp.org>
33274
33275         setenv: Tweaks.
33276         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
33277         the test program.
33278         * doc/posix-functions/setenv.texi: Update platforms list.
33279
33280 2010-03-21  Bruno Haible  <bruno@clisp.org>
33281
33282         New module 'unlockpt'.
33283         * lib/unlockpt.c: New file, from glibc with modifications.
33284         * m4/unlockpt.m4: New file.
33285         * modules/unlockpt: New file.
33286         * lib/stdlib.in.h (unlockpt): New declaration.
33287         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
33288         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
33289         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
33290         HAVE_UNLOCKPT.
33291         * doc/posix-functions/unlockpt.texi: Mention the new module.
33292         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
33293         * config/srclist.txt: Add unlockpt.c (commented).
33294
33295 2010-03-21  Jim Meyering  <meyering@redhat.com>
33296
33297         maint.mk: prohibit inclusion of "intprops.h" without use
33298         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
33299
33300 2010-03-21  Bruno Haible  <bruno@clisp.org>
33301
33302         New module 'grantpt'.
33303         * lib/grantpt.c: New file, from glibc with modifications.
33304         * m4/grantpt.m4: New file.
33305         * modules/grantpt: New file.
33306         * lib/stdlib.in.h (grantpt): New declaration.
33307         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
33308         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
33309         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
33310         HAVE_GRANTPT.
33311         * doc/posix-functions/grantpt.texi: Mention the new module.
33312         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
33313         * config/srclist.txt: Add grantpt.c (commented).
33314
33315 2010-03-21  Bruno Haible  <bruno@clisp.org>
33316
33317         New module 'pt_chown'.
33318         * lib/pt_chown.c: New file, from glibc with modifications.
33319         * lib/pty-private.h: New file, from glibc with modifications.
33320         * modules/pt_chown: New file.
33321         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
33322
33323 2010-03-21  Bruno Haible  <bruno@clisp.org>
33324
33325         Tests for module 'ptsname'.
33326         * modules/ptsname-tests: New file.
33327         * tests/test-ptsname.c: New file.
33328
33329         New module 'ptsname'.
33330         * lib/ptsname.c: New file, from glibc with modifications.
33331         * m4/ptsname.m4: New file.
33332         * modules/ptsname: New file.
33333         * lib/stdlib.in.h (ptsname): New declaration.
33334         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
33335         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
33336         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
33337         HAVE_PTSNAME.
33338         * doc/posix-functions/ptsname.texi: Mention the new module.
33339         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
33340         * config/srclist.txt: Add ptsname.c (commented).
33341
33342 2010-03-21  Bruno Haible  <bruno@clisp.org>
33343
33344         Tests for module 'ttyname_r'.
33345         * modules/ttyname_r-tests: New file.
33346         * tests/test-ttyname_r.c: New file.
33347
33348         New module 'ttyname_r'.
33349         * lib/ttyname_r.c: New file.
33350         * m4/ttyname_r.m4: New file.
33351         * modules/ttyname_r: New file.
33352         * lib/unistd.in.h (ttyname_r): New declaration.
33353         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
33354         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
33355         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
33356         HAVE_TTYNAME_R.
33357         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
33358         * doc/posix-functions/ttyname_r.texi: Mention the new module.
33359
33360 2010-03-20  Bruno Haible  <bruno@clisp.org>
33361
33362         signal: Undefine macro definitions in C++ mode.
33363         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
33364         sigfillset): Undefine macro definitions from the system header in C++
33365         mode.
33366         Reported by John W. Eaton <jwe@gnu.org>.
33367
33368 2010-03-20  Bruno Haible  <bruno@clisp.org>
33369
33370         Ensure no #include statements inside extern "C" { ... }.
33371         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
33372         contain #include statements.
33373         * lib/time.in.h: Likewise.
33374
33375 2010-03-20  Bruno Haible  <bruno@clisp.org>
33376
33377         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
33378         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
33379         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
33380         Reported by John W. Eaton <jwe@gnu.org>.
33381
33382 2010-03-20  Bruno Haible  <bruno@clisp.org>
33383
33384         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
33385         Reported by Jim Meyering.
33386
33387 2010-03-20  Bruno Haible  <bruno@clisp.org>
33388
33389         pipe: Set errno upon failure.
33390         * lib/pipe.h: Specify that when -1 is returned, errno is set.
33391         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
33392         errno value in error message.
33393
33394 2010-03-20  Bruno Haible  <bruno@clisp.org>
33395             Jim Meyering  <meyering@redhat.com>
33396
33397         lchown: Avoid "unused variable" warning.
33398         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
33399
33400 2010-03-20  Bruno Haible  <bruno@clisp.org>
33401
33402         Work around unlink() bug on MacOS X 10.5.6.
33403         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
33404         attempting to unlink a parent directory.
33405         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
33406         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
33407         activate for the replacement function.
33408         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
33409
33410 2010-03-20  Bruno Haible  <bruno@clisp.org>
33411
33412         Fix link errors on Solaris 8.
33413         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
33414         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
33415
33416 2010-03-19  Jim Meyering  <meyering@redhat.com>
33417
33418         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
33419         The _LIBC implementation of build_range_exp correctly honors the
33420         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
33421         However, the non-_LIBC implementation would ignore that syntax-bit
33422         flag and return REG_ERANGE unconditionally.
33423         This change makes it honor that flag.
33424         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
33425         Make two pointer parameters "const".
33426         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
33427         (parse_bracket_exp): Update caller.
33428
33429         regex.m4: correct the reversed range endpoint ([b-a]) test
33430         * m4/regex.m4: When requiring that [b-a] evoke failure,
33431         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
33432         test pass once again for x86-based systems.
33433
33434 2010-03-19  Bruno Haible  <bruno@clisp.org>
33435
33436         scandir: Fix link error on Solaris 8.
33437         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
33438         macros.
33439
33440 2010-03-19  Bruno Haible  <bruno@clisp.org>
33441
33442         getusershell: Fix documentation.
33443         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
33444         module.
33445         * doc/glibc-functions/setusershell.texi: Likewise.
33446
33447         getusershell: Provide declaration, missing on Solaris 9.
33448         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
33449         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
33450         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
33451         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
33452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33453         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
33454         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
33455         HAVE_GETUSERSHELL.
33456         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
33457
33458 2010-03-19  Bruno Haible  <bruno@clisp.org>
33459
33460         wctype: Provide iswblank function.
33461         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
33462         exists and is fine.
33463         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
33464         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
33465         * tests/test-wctype.c (main): Re-enable the iswblank tests.
33466         * doc/posix-functions/iswblank.texi: Update.
33467
33468 2010-03-19  Bruno Haible  <bruno@clisp.org>
33469
33470         Tests of module 'pty' in C++ mode.
33471         * modules/pty-tests: New file.
33472         * tests/test-pty-c++.cc: New file.
33473         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33474
33475 2010-03-19  Eric Blake  <eblake@redhat.com>
33476
33477         logb: fix documentation
33478         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
33479         1.5 declaration bug.
33480
33481         forkpty, openpty: prefer glibc's const-safe prototype
33482         * lib/forkpty.c (rpl_forkpty): New file.
33483         * lib/openpty.c (rpl_openpty): Likewise.
33484         * modules/forkpty (Files): Distribute it.
33485         * modules/openpty (Files): Likewise.
33486         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
33487         check...
33488         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
33489         replacement for for non-const BSD signature.
33490         * modules/pty (Makefile.am): Substitute witnesses.
33491         * lib/pty.in.h (forkpty, openpty): Declare replacements.
33492         * tests/test-forkpty.c: Update signature check.
33493         * tests/test-openpty.c: Likewise.
33494         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
33495         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33496
33497         forkpty, openpty: split functions into new modules
33498         * modules/pty (Makefile.am): Substitute new witnesses.
33499         (Libraries): Move library detection...
33500         * modules/forkpty: ...into new module.
33501         * modules/openpty: Another new module.
33502         * modules/pty-tests: Rename and split...
33503         * modules/forkpty-tests: ...to this...
33504         * modules/openpty-tests: ...and this.
33505         * tests/test-pty.c: Rename and split...
33506         * tests/test-forkpty.c: ...to this...
33507         * tests/test-openpty.c: ...and this.
33508         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
33509         (gl_PTY): Split library searching...
33510         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
33511         (gl_FORKPTY, gl_OPENPTY): New macros.
33512         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
33513         * NEWS: Mention the split.
33514         * MODULES.html.sh (Misc): Document the modules.
33515         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
33516         * doc/glibc-functions/openpty.texi (openpty): Likewise.
33517
33518         pty: improve replacement header
33519         * lib/pty.in.h: New file.
33520         * modules/pty (Files): Ship it.
33521         (Makefile.am): Always build replacement.
33522         * m4/pty.m4: Rename...
33523         * m4/pty_h.m4: ...to this.
33524         (gl_PTY): Modernize setting of witness macros; update check of
33525         forkpty to take proper advantage of cache.
33526         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
33527
33528         getopt: avoid compiler warning
33529         * lib/getopt.c (attribute_hidden): Remove unused macro.
33530
33531 2010-03-18  Bruno Haible  <bruno@clisp.org>
33532
33533         Fix link errors on Solaris 8.
33534         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
33535         * modules/search-tests (test_search_c___LDADD): Likewise.
33536         * modules/signal-tests (test_signal_c___LDADD): Likewise.
33537         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
33538         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
33539         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
33540         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
33541         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
33542         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
33543
33544 2010-03-18  Bruno Haible  <bruno@clisp.org>
33545
33546         Fix bug introduced on 2010-03-14.
33547         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
33548         (gl_SPAWN_H): Require it.
33549         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
33550         Reported by Simon Josefsson.
33551
33552 2010-03-18  Bruno Haible  <bruno@clisp.org>
33553
33554         Fix typo introduced on 2009-12-31.
33555         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
33556         posix_spawn_file_actions_adddup2.
33557
33558 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
33559         and Eric Blake  <eblake@redhat.com>
33560
33561         test-vc-list-files-git: make more robust
33562         * tests/test-vc-list-files-git.sh: Unset problematic environment
33563         variables.  Chain commands together.
33564
33565 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
33566
33567         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
33568         `AC_CHECK_DECL' invocation.
33569
33570 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
33571
33572         * lib/inttostr.c (inttostr): Make sure the invocation of verify
33573         appears before executable statements. Suggested by Petr Sumbera
33574         <Petr.Sumbera@Sun.COM>.
33575
33576 2010-03-14  Bruno Haible  <bruno@clisp.org>
33577
33578         * tests/test-flock.c (test_exclusive): Comment out a test that causes
33579         portability problems. Instead use a simpler test.
33580         (main): Check that invalid arguments are rejected only on Linux.
33581
33582 2010-03-14  Bruno Haible  <bruno@clisp.org>
33583
33584         Fix bug introduced on 2009-12-31.
33585         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33586         gl_PREREQ_SYS_H_WINSOCK2 always.
33587         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
33588         SYS_SOCKET_H variable.
33589         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
33590         Update comments.
33591         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
33592         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33593         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33594         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
33595         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
33596
33597 2010-03-14  Bruno Haible  <bruno@clisp.org>
33598
33599         Fix values returned by sinl, cosl.
33600         * lib/trigl.h: Add specification comments.
33601         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
33602         that combines the values from the precomputed table with the values of
33603         the Chebyshev polynomials.
33604
33605 2010-03-14  Bruno Haible  <bruno@clisp.org>
33606
33607         Fix compilation error when modules 'posix_spawn[p]' are not used.
33608         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
33609         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
33610
33611 2010-03-14  Bruno Haible  <bruno@clisp.org>
33612
33613         Fix compilation error on mingw when module 'time_r' is not used.
33614         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
33615         is 1.
33616         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
33617         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33618         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
33619         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
33620
33621 2010-03-14  Bruno Haible  <bruno@clisp.org>
33622
33623         Fix compilation error with Sun C.
33624         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
33625         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
33626         instead of GCC specific ULONG_LONG_MAX.
33627         * lib/xstrtoll.c: Likewise.
33628         * lib/xstrtoull.c: Likewise.
33629
33630 2010-03-13  Bruno Haible  <bruno@clisp.org>
33631
33632         Allow the user to disable C++ code and tests.
33633         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
33634         (gl_PROG_ANSI_CXX): Require it.
33635
33636 2010-03-13  Bruno Haible  <bruno@clisp.org>
33637
33638         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
33639         cases.
33640
33641 2010-03-13  Bruno Haible  <bruno@clisp.org>
33642
33643         Test that gnulib does not break the standard C++ headers.
33644         * tests/test-locale-c++2.cc: New file.
33645         * modules/locale-tests (Files): Add it.
33646         (Makefile.am): Compile it for test-locale-c++.
33647         * tests/test-math-c++2.cc: New file.
33648         * modules/math-tests (Files): Add it.
33649         (Makefile.am): Compile it for test-math-c++.
33650         * tests/test-signal-c++2.cc: New file.
33651         * modules/signal-tests (Files): Add it.
33652         (Makefile.am): Compile it for test-signal-c++.
33653         * tests/test-stdio-c++2.cc: New file.
33654         * modules/stdio-tests (Files): Add it.
33655         (Makefile.am): Compile it for test-stdio-c++.
33656         * tests/test-stdlib-c++2.cc: New file.
33657         * modules/stdlib-tests (Files): Add it.
33658         (Makefile.am): Compile it for test-stdlib-c++.
33659         * tests/test-string-c++2.cc: New file.
33660         * modules/string-tests (Files): Add it.
33661         (Makefile.am): Compile it for test-string-c++.
33662         * tests/test-time-c++2.cc: New file.
33663         * modules/time-tests (Files): Add it.
33664         (Makefile.am): Compile it for test-time-c++.
33665         Reported by John W. Eaton <jwe@gnu.org>.
33666
33667 2010-03-13  Bruno Haible  <bruno@clisp.org>
33668
33669         * gnulib-tool (func_usage): Clarify which options are available for
33670         --create-testdir and --create-megatestdir.
33671
33672 2010-03-13  Bruno Haible  <bruno@clisp.org>
33673
33674         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
33675         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
33676         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
33677         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
33678         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
33679         when appropriate.
33680         Reported by Jim Meyering.
33681
33682 2010-03-12  Simon Josefsson  <simon@josefsson.org>
33683
33684         * gnulib-tool (func_import): Explain origin of code.
33685
33686 2010-03-12  Bruno Haible  <bruno@clisp.org>
33687
33688         Fix problem with automake's definition of CXXLINK.
33689         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
33690         Reported by Simon Josefsson and Ludovic Courtès.
33691
33692 2010-03-12  Bruno Haible  <bruno@clisp.org>
33693
33694         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
33695         stable releases.
33696
33697 2010-03-11  Bruno Haible  <bruno@clisp.org>
33698
33699         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
33700         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
33701         whether the system provides one variant or multiple variants of the
33702         function.
33703         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
33704         C++ compilers.
33705         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
33706         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
33707         Reported by Jim Meyering.
33708
33709 2010-03-09  Simon Josefsson  <simon@josefsson.org>
33710
33711         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
33712
33713 2010-03-08  Bruno Haible  <bruno@clisp.org>
33714
33715         gnulib-tool: Add support for --libtool in --create-testdir.
33716         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
33717         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
33718
33719 2010-03-08  Eric Blake  <eblake@redhat.com>
33720
33721         gnulib-tool.texi: mention possibility of git submodule
33722         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
33723         submodules.
33724         * doc/.gitignore: Ignore another generated file.
33725
33726 2010-03-08  Karl Berry  <karl@gnu.org>
33727
33728         * doc/gnulib-tool.texi (VCS Issues): Mention third option
33729         of committing gnulib files while skipping others.
33730
33731 2010-03-07  Bruno Haible  <bruno@clisp.org>
33732
33733         Tests of module 'wctype' in C++ mode.
33734         * tests/test-wctype-c++.cc: New file.
33735         * modules/wctype-tests (Files): Add it and tests/signature.h.
33736         (Depends-on): Add ansi-c++-opt.
33737         (Makefile.am): Arrange to compile and run test-wctype-c++.
33738
33739         Tests of module 'wchar' in C++ mode.
33740         * tests/test-wchar-c++.cc: New file.
33741         * modules/wchar-tests (Files): Add it and tests/signature.h.
33742         (Depends-on): Add ansi-c++-opt.
33743         (Makefile.am): Arrange to compile and run test-wchar-c++.
33744         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
33745         gl_MODULE_INDICATOR.
33746
33747         Tests of module 'unistd' in C++ mode.
33748         * tests/test-unistd-c++.cc: New file.
33749         * modules/unistd-tests (Files): Add it and tests/signature.h.
33750         (Depends-on): Add ansi-c++-opt.
33751         (Makefile.am): Arrange to compile and run test-unistd-c++.
33752         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
33753         gl_MODULE_INDICATOR.
33754
33755         Tests of module 'time' in C++ mode.
33756         * tests/test-time-c++.cc: New file.
33757         * modules/time-tests (Files): Add it and tests/signature.h.
33758         (Depends-on): Add ansi-c++-opt.
33759         (Makefile.am): Arrange to compile and run test-time-c++.
33760         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33761
33762         Tests of module 'sys_time' in C++ mode.
33763         * tests/test-sys_time-c++.cc: New file.
33764         * modules/sys_time-tests (Files): Add it and tests/signature.h.
33765         (Depends-on): Add ansi-c++-opt.
33766         (Makefile.am): Arrange to compile and run test-sys_time-c++.
33767         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
33768         gl_MODULE_INDICATOR.
33769
33770         Tests of module 'sys_stat' in C++ mode.
33771         * tests/test-sys_stat-c++.cc: New file.
33772         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
33773         (Depends-on): Add ansi-c++-opt.
33774         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
33775         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
33776         gl_MODULE_INDICATOR.
33777
33778         Tests of module 'sys_socket' in C++ mode.
33779         * tests/test-sys_socket-c++.cc: New file.
33780         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
33781         (Depends-on): Add ansi-c++-opt.
33782         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
33783         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
33784         gl_MODULE_INDICATOR.
33785
33786         Tests of module 'sys_select' in C++ mode.
33787         * tests/test-sys_select-c++.cc: New file.
33788         * modules/sys_select-tests (Files): Add it and tests/signature.h.
33789         (Depends-on): Add ansi-c++-opt.
33790         (Makefile.am): Arrange to compile and run test-sys_select-c++.
33791         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
33792         gl_MODULE_INDICATOR.
33793
33794         Tests of module 'sys_ioctl' in C++ mode.
33795         * tests/test-sys_ioctl-c++.cc: New file.
33796         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
33797         (Depends-on): Add ansi-c++-opt.
33798         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
33799         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
33800         gl_MODULE_INDICATOR.
33801
33802         Tests of module 'string' in C++ mode.
33803         * tests/test-string-c++.cc: New file.
33804         * modules/string-tests (Files): Add it and tests/signature.h.
33805         (Depends-on): Add ansi-c++-opt.
33806         (Makefile.am): Arrange to compile and run test-string-c++.
33807         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
33808         gl_MODULE_INDICATOR.
33809
33810         Tests of module 'stdlib' in C++ mode.
33811         * tests/test-stdlib-c++.cc: New file.
33812         * modules/stdlib-tests (Files): Add it and tests/signature.h.
33813         (Depends-on): Add ansi-c++-opt.
33814         (Makefile.am): Arrange to compile and run test-stdlib-c++.
33815         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
33816         gl_MODULE_INDICATOR.
33817
33818         Tests of module 'stdio' in C++ mode.
33819         * tests/test-stdio-c++.cc: New file.
33820         * modules/stdio-tests (Files): Add it and tests/signature.h.
33821         (Depends-on): Add ansi-c++-opt.
33822         (Makefile.am): Arrange to compile and run test-stdio-c++.
33823         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
33824         gl_MODULE_INDICATOR.
33825
33826         Tests of module 'spawn' in C++ mode.
33827         * tests/test-spawn-c++.cc: New file.
33828         * modules/spawn-tests (Files): Add it and tests/signature.h.
33829         (Depends-on): Add ansi-c++-opt.
33830         (Makefile.am): Arrange to compile and run test-spawn-c++.
33831         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
33832         gl_MODULE_INDICATOR.
33833
33834         Tests of module 'signal' in C++ mode.
33835         * tests/test-signal-c++.cc: New file.
33836         * modules/signal-tests (Files): Add it and tests/signature.h.
33837         (Depends-on): Add ansi-c++-opt.
33838         (Makefile.am): Arrange to compile and run test-signal-c++.
33839         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
33840         gl_MODULE_INDICATOR.
33841
33842         Tests of module 'search' in C++ mode.
33843         * tests/test-search-c++.cc: New file.
33844         * modules/search-tests (Files): Add it and tests/signature.h.
33845         (Depends-on): Add ansi-c++-opt.
33846         (Makefile.am): Arrange to compile and run test-search-c++.
33847         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
33848         gl_MODULE_INDICATOR.
33849
33850         Tests of module 'math' in C++ mode.
33851         * tests/test-math-c++.cc: New file.
33852         * modules/math-tests (Files): Add it and tests/signature.h.
33853         (Depends-on): Add ansi-c++-opt.
33854         (Makefile.am): Arrange to compile and run test-math-c++.
33855         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
33856
33857         Tests of module 'locale' in C++ mode.
33858         * tests/test-locale-c++.cc: New file.
33859         * modules/locale-tests (Files): Add it and tests/signature.h.
33860         (Depends-on): Add ansi-c++-opt.
33861         (Makefile.am): Arrange to compile and run test-locale-c++.
33862         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
33863         gl_MODULE_INDICATOR.
33864
33865         Tests of module 'langinfo' in C++ mode.
33866         * tests/test-langinfo-c++.cc: New file.
33867         * modules/langinfo-tests (Files): Add it and tests/signature.h.
33868         (Depends-on): Add ansi-c++-opt.
33869         (Makefile.am): Arrange to compile and run test-langinfo-c++.
33870         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
33871         gl_MODULE_INDICATOR.
33872
33873         Tests of module 'iconv-h' in C++ mode.
33874         * tests/test-iconv-h-c++.cc: New file.
33875         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
33876         (Depends-on): Add ansi-c++-opt.
33877         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
33878
33879         Tests of module 'glob' in C++ mode.
33880         * tests/test-glob-c++.cc: New file.
33881         * modules/glob-tests (Files): Add it.
33882         (Depends-on): Add ansi-c++-opt.
33883         (Makefile.am): Arrange to compile and run test-glob-c++.
33884
33885         Tests of module 'fcntl-h' in C++ mode.
33886         * tests/test-fcntl-h-c++.cc: New file.
33887         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
33888         (Depends-on): Add ansi-c++-opt.
33889         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
33890         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
33891         gl_MODULE_INDICATOR.
33892
33893         Tests of module 'dirent' in C++ mode.
33894         * tests/test-dirent-c++.cc: New file.
33895         * modules/dirent-tests (Files): Add it and tests/signature.h.
33896         (Depends-on): Add ansi-c++-opt.
33897         (Makefile.am): Arrange to compile and run test-dirent-c++.
33898         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
33899         gl_MODULE_INDICATOR.
33900
33901         New module 'ansi-c++-opt'.
33902         * modules/ansi-c++-opt: New file.
33903         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
33904
33905         Document C++ namespace mode.
33906         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
33907
33908         wctype: Avoid #define replacements in C++ mode.
33909         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
33910         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
33911         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
33912         In C++, define a namespaced alias symbol.
33913         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
33914         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
33915         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
33916         rule.
33917
33918         wchar: Avoid #define replacements in C++ mode.
33919         * lib/wchar.in.h: Include c++defs.h.
33920         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
33921         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
33922         symbol.
33923         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
33924         * modules/wchar (Depends-on): Add c++defs.
33925         (Makefile.am): Update wchar.h rule.
33926
33927         unistd: Avoid #define replacements in C++ mode.
33928         * lib/unistd.in.h: Include c++defs.h.
33929         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
33930         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
33931         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
33932         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
33933         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
33934         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
33935         symbol.
33936         (environ): Update.
33937         * modules/unistd (Depends-on): Add c++defs.
33938         (Makefile.am): Update unistd.h rule.
33939
33940         time: Avoid #define replacements in C++ mode.
33941         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
33942         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
33943         define a namespaced alias symbol.
33944         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
33945         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
33946         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
33947         * modules/time (Depends-on): Add c++defs, warn-on-use.
33948         (Makefile.am): Update time.h rule.
33949         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
33950         * modules/nanosleep (configure.ac): Likewise.
33951         * modules/strptime (configure.ac): Likewise.
33952         * modules/timegm (configure.ac): Likewise.
33953
33954         sys_time: Avoid #define replacements in C++ mode.
33955         * lib/sys_time.in.h: Include c++defs.h.
33956         (gettimeofday): In C++, define a namespaced alias symbol.
33957         * modules/sys_time (Depends-on): Add c++defs.
33958         (Makefile.am): Update sys/time.h rule.
33959
33960         sys_stat: Avoid #define replacements in C++ mode.
33961         * lib/sys_stat.in.h: Include c++defs.h.
33962         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
33963         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
33964         namespaced alias symbol.
33965         In C++, define a namespaced alias symbol.
33966         * modules/sys_stat (Depends-on): Add c++defs.
33967         (Makefile.am): Update sys/stat.h rule.
33968
33969         sys_socket: Avoid #define replacements in C++ mode.
33970         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
33971         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
33972         definitions also when the system has a <sys/socket.h>.
33973         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
33974         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
33975         In C++, define a namespaced alias symbol.
33976         * modules/sys_socket (Depends-on): Add c++defs.
33977         (Makefile.am): Update sys/socket.h rule.
33978
33979         sys_select: Avoid #define replacements in C++ mode.
33980         * lib/sys_select.in.h: Include c++defs.h. Enable the function
33981         definitions also when the system has a <sys/select.h>.
33982         (select): In C++, define a namespaced alias symbol.
33983         * modules/sys_select (Depends-on): Add c++defs.
33984         (Makefile.am): Update sys/select.h rule.
33985
33986         sys_ioctl: Avoid #define replacements in C++ mode.
33987         * lib/sys_ioctl.in.h: Include c++defs.h.
33988         (ioctl): In C++, define a namespaced alias symbol.
33989         * modules/sys_ioctl (Depends-on): Add c++defs.
33990         (Makefile.am): Update sys/ioctl.h rule.
33991
33992         string: Avoid #define replacements in C++ mode.
33993         * lib/string.in.h: Include c++defs.h.
33994         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
33995         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
33996         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
33997         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
33998         strsignal, strverscmp): In C++, define a namespaced alias symbol.
33999         * modules/string (Depends-on): Add c++defs.
34000         (Makefile.am): Update string.h rule.
34001
34002         stdlib: Avoid #define replacements in C++ mode.
34003         * lib/stdlib.in.h: Include c++defs.h.
34004         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
34005         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
34006         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
34007         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
34008         symbol.
34009         * modules/stdlib (Depends-on): Add c++defs.
34010         (Makefile.am): Update stdlib.h rule.
34011
34012         stdio: Avoid #define replacements in C++ mode.
34013         * lib/stdio.in.h: Include c++defs.h.
34014         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
34015         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
34016         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
34017         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
34018         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
34019         namespaced alias symbol.
34020         * modules/stdio (Depends-on): Add c++defs.
34021         (Makefile.am): Update stdio.h rule.
34022
34023         spawn: Avoid #define replacements in C++ mode.
34024         * lib/spawn.in.h: Include c++defs.h.
34025         (posix_spawn, posix_spawnp, posix_spawnattr_init,
34026         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
34027         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
34028         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
34029         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
34030         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
34031         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
34032         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
34033         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
34034         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
34035         In C++, define a namespaced alias symbol.
34036         * modules/spawn (Depends-on): Add c++defs.
34037         (Makefile.am): Update spawn.h rule.
34038
34039         signal: Avoid #define replacements in C++ mode.
34040         * lib/signal.in.h: Include c++defs.h.
34041         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
34042         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
34043         namespaced alias symbol.
34044         * modules/signal (Depends-on): Add c++defs.
34045         (Makefile.am): Update signal.h rule.
34046
34047         search: Avoid #define replacements in C++ mode.
34048         * lib/search.in.h: Include c++defs.h.
34049         (_gl_search_compar_fn, _gl_search_action_fn): New types.
34050         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
34051         symbol.
34052         * modules/search (Depends-on): Add c++defs.
34053         (Makefile.am): Update search.h rule.
34054
34055         math: Avoid #define replacements in C++ mode.
34056         * lib/math.in.h: Include c++defs.h.
34057         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
34058         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
34059         trunc, truncl): In C++, define a namespaced alias symbol.
34060         * modules/math (Depends-on): Add c++defs.
34061         (Makefile.am): Update math.h rule.
34062
34063         locale: Avoid #define replacements in C++ mode.
34064         * lib/locale.in.h: Include c++defs.h.
34065         (duplocale): In C++, define a namespaced alias symbol.
34066         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
34067         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
34068         * modules/locale (Depends-on): Add c++defs.
34069         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
34070
34071         langinfo: Avoid #define replacements in C++ mode.
34072         * lib/langinfo.in.h: Include c++defs.h.
34073         (nl_langinfo): In C++, define a namespaced alias symbol.
34074         * modules/langinfo (Depends-on): Add c++defs.
34075         (Makefile.am): Update langinfo.h rule.
34076
34077         iconv-h: Avoid #define replacements in C++ mode.
34078         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
34079         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
34080         symbol.
34081         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
34082         whenever iconv is present.
34083         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
34084         (Makefile.am): Update iconv.h rule.
34085
34086         glob: Avoid #define replacements in C++ mode.
34087         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
34088         (_gl_glob_errfunc_fn): New type.
34089         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
34090         symbol.
34091         * modules/glob (Depends-on): Add c++defs, warn-on-use.
34092         (Makefile.am): Update glob.h rule.
34093
34094         fcntl-h: Avoid #define replacements in C++ mode.
34095         * lib/fcntl.in.h: Include c++defs.h.
34096         (fcntl, open, openat): In C++, define a namespaced alias symbol.
34097         * modules/fcntl-h (Depends-on): Add c++defs.
34098         (Makefile.am): Update fcntl.h rule.
34099
34100         dirent: Avoid #define replacements in C++ mode.
34101         * lib/dirent.in.h: Include c++defs.h.
34102         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
34103         namespaced alias symbol.
34104         (dirfd): Update declaration.
34105         * modules/dirent (Depends-on): Add c++defs.
34106         (Makefile.am): Update dirent.h rule.
34107
34108         ctype: Make it usable in C++ code.
34109         * lib/ctype.in.h: Include c++defs.h.
34110         (isblank): Declare as extern "C".
34111         * modules/ctype (Depends-on): Add c++defs.
34112         (Makefile.am): Update ctype.h rule.
34113
34114         New module 'c++defs'.
34115         * modules/c++defs: New file.
34116         * build-aux/c++defs.h: New file.
34117         Reported by John W. Eaton <jwe@gnu.org>.
34118
34119 2010-03-07  Bruno Haible  <bruno@clisp.org>
34120
34121         logb: Provide missing declaration for Cygwin.
34122         * lib/math.in.h (logb): New declaration.
34123         * m4/logb.m4: New file.
34124         * modules/logb (Files): Add m4/logb.m4.
34125         (Depends-on): Add math.
34126         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
34127         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
34128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
34129         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
34130         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
34131
34132 2010-03-07  Bruno Haible  <bruno@clisp.org>
34133
34134         Fix test-cond link error.
34135         * tests/test-cond.c: Include <stdio.h>.
34136
34137 2010-03-07  Bruno Haible  <bruno@clisp.org>
34138
34139         Fix test-dirent-safer link error.
34140         * modules/dirent-safer-tests (Makefile.am): Define
34141         test_dirent_safer_LDADD.
34142
34143 2010-03-07  Bruno Haible  <bruno@clisp.org>
34144
34145         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
34146         among default module list.
34147
34148 2010-03-07  Bruno Haible  <bruno@clisp.org>
34149
34150         Fix link error on platforms with GNU libiconv.
34151         * modules/unistr/u8-strcoll-tests (Makefile): Define
34152         test_u8_strcoll_LDADD.
34153         * modules/unistr/u16-strcoll-tests (Makefile): Define
34154         test_u16_strcoll_LDADD.
34155         * modules/unistr/u32-strcoll-tests (Makefile): Define
34156         test_u32_strcoll_LDADD.
34157
34158 2010-03-07  Bruno Haible  <bruno@clisp.org>
34159
34160         Use POSIX declarations for socket functions.
34161         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
34162         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
34163         rpl_sendto): Change declaration to match POSIX.
34164         * lib/connect.c (rpl_connect): Likewise.
34165         * lib/accept.c (rpl_accept): Likewise.
34166         * lib/bind.c (rpl_bind): Likewise.
34167         * lib/getpeername.c (rpl_getpeername): Likewise.
34168         * lib/getsockname.c (rpl_getsockname): Likewise.
34169         * lib/recv.c (rpl_recv): Likewise.
34170         * lib/send.c (rpl_send): Likewise.
34171         * lib/recvfrom.c (rpl_recvfrom): Likewise.
34172         * lib/sendto.c (rpl_sendto): Likewise.
34173
34174 2010-03-06  Bruno Haible  <bruno@clisp.org>
34175
34176         Clarify access, euidaccess, faccessat.
34177         * doc/posix-functions/faccessat.texi: Mention security problem under
34178         "Other problems", not "Portability problems".
34179         * doc/posix-functions/access.texi: Likewise. Mention a related security
34180         problem.
34181         * doc/glibc-functions/euidaccess.texi: Mention security problems.
34182         * lib/euidaccess.c: Add comments about platforms.
34183         * lib/unistd.in.h (access, euidaccess): Add warnings.
34184
34185 2010-03-07  Bruno Haible  <bruno@clisp.org>
34186
34187         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
34188         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
34189         (POSIX_SPAWN_SETSCHEDULER): Likewise.
34190         (POSIX_SPAWN_USEVFORK): Define in a way that works when
34191         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34192         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
34193         declare when POSIX_SPAWN_SETSCHEDULER is zero.
34194         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
34195         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
34196         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
34197         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
34198         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
34199         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
34200         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
34201         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
34202         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
34203         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
34204         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
34205         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
34206         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
34207         Likewise.
34208         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
34209         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
34210         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
34211         Likewise.
34212         * tests/test-spawn.c (main): Make it work when
34213         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
34214
34215 2010-03-07  Bruno Haible  <bruno@clisp.org>
34216
34217         Fix incorrect Makefile.am generation in German locale.
34218         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34219         Execute sed command with character range in C locale.
34220
34221 2010-03-06  Bruno Haible  <bruno@clisp.org>
34222
34223         Tests for module 'iconv-h'.
34224         * modules/iconv-h-tests: New file.
34225         * tests/test-iconv-h.c: New file.
34226
34227         New module 'iconv-h'.
34228         * modules/iconv-h: New file.
34229         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
34230         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
34231         (configure.ac): Remove gl_ICONV_H.
34232         (Makefile.am): Remove rule for iconv.h.
34233
34234 2010-03-06  Bruno Haible  <bruno@clisp.org>
34235
34236         More consistent naming of *.m4 files.
34237         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
34238         * modules/wctype (Files): Update.
34239
34240         More consistent naming of *.m4 files.
34241         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
34242         * modules/wchar (Files): Update.
34243
34244 2010-03-06  Jim Meyering  <meyering@redhat.com>
34245
34246         euidaccess: relax license to LGPLv2+
34247         * modules/euidaccess (License): Relax to LGPLv2+.
34248
34249 2010-03-06  Bruno Haible  <bruno@clisp.org>
34250
34251         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
34252         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
34253         (Makefile.am): Augment lib_SOURCES instead.
34254
34255 2010-03-04  Jim Meyering  <meyering@redhat.com>
34256
34257         utime: remove obsolete module
34258         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
34259         unnecessary for years, and has been marked as obsolete for 10 months.
34260         * modules/utime: Remove file.
34261         * lib/utime.c: Remove file.
34262         * m4/utime.m4: Remove file.
34263         * m4/utimes-null.m4: Remove file.
34264         * doc/posix-functions/utime.texi (utime): Remove reference to
34265         the module.  Move the sole "fixed by gnulib" item into the
34266         "problems not fixed by Gnulib" list.
34267         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
34268
34269 2010-03-05  Simon Josefsson  <simon@josefsson.org>
34270
34271         * modules/exit (License): Relax license to LGPLv2+.
34272         (Status): Mark as obsolete.
34273         * NEWS: Mention deprecated 'exit' module.
34274         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
34275         of now obsolete 'exit'.
34276
34277 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34278
34279         fts-lgpl: remove unused module
34280         * modules/fts-lgpl: Remove.
34281         * MODULES.html.sh (func_all_modules): Adjust.
34282         * check-module (find_included_lib_files): Adjust.
34283         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
34284
34285 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
34286
34287         copy-acl: enhance Solaris ACL error handling
34288         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
34289         * lib/set-mode-acl.c (qset_acl): Likewise.
34290
34291 2010-03-02  Bruno Haible  <bruno@clisp.org>
34292
34293         spawn: Don't override the system defined values on FreeBSD 8.
34294         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
34295         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
34296         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
34297         if HAVE_POSIX_SPAWN is 1.
34298         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
34299
34300 2010-03-01  Bruno Haible  <bruno@clisp.org>
34301
34302         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
34303         regarding Automake.
34304
34305 2010-02-25  Bruno Haible  <bruno@clisp.org>
34306
34307         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
34308         * gnulib-tool: Define 'echo' as a function only before the ksh alias
34309         setting, not afterwards.
34310         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
34311
34312 2010-02-24  Eric Blake  <eblake@redhat.com>
34313
34314         bootstrap, git-version-gen: use timestamp
34315         * build-aux/git-version-gen (scriptversion): Force UTC.
34316         * build-aux/bootstrap (scriptversion): New variable.
34317
34318         bootstrap: allow older git
34319         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
34320         older than 1.6.4.  Requested by the libvirt project.
34321
34322 2010-02-23  Eric Blake  <eblake@redhat.com>
34323
34324         warn-on-use: work with old autoconf
34325         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
34326         AS_VAR semantics of autoconf 2.60.
34327         Reported by Bruno Haible.
34328
34329         bootstrap: improve some comments
34330         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
34331         clarification comments.
34332
34333         gettimeofday: provide correct function
34334         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
34335         when replacement is declared, otherwise provide gettimeofday.
34336         Reported by Michael Goffioul.
34337
34338 2010-02-23  Jim Meyering  <meyering@redhat.com>
34339
34340         lib-ignore: relax license to "unlimited", not LGPLv2+
34341         * modules/lib-ignore (License): Relax to "unlimited".
34342
34343 2010-02-23  Jim Meyering  <meyering@redhat.com>
34344
34345         lib-ignore: relax license to LGPLv2+
34346         * modules/lib-ignore (License): Relax to LGPLv2+.
34347
34348 2010-02-22  Eric Blake  <eblake@redhat.com>
34349
34350         lseek: avoid bash 3.2 broken pipe bug
34351         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
34352         warning from bash 3.2.
34353         Reported by Ben Pfaff, with analysis from Bruno Haible.
34354
34355         bootstrap: support non-FSF copyright holder
34356         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
34357         bootstrap.conf override of COPYRIGHT_HOLDER.
34358         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
34359
34360         bootstrap: interoperate with gettext 0.14.1
34361         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
34362
34363         bootstrap: allow for alternate submodule location
34364         * build-aux/bootstrap (gnulib_path): New variable; use instead of
34365         hardcoding submodule location.
34366         (gnulib_mk): Allow direct use of Makefile.am.
34367
34368         bootstrap: use GNULIB_SRCDIR to reduce disk usage
34369         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
34370         rather than reconfiguring where the submodule points.
34371
34372         gettimeofday: restore support for platforms that lack function
34373         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
34374         replacement if function is missing.
34375         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
34376         * modules/sys_time (Makefile.am): Substitute it.
34377         * lib/sys_time.in.h (gettimeofday): Check it.
34378         Reported by Michael Goffioul.
34379
34380 2010-02-21  Bruno Haible  <bruno@clisp.org>
34381
34382         * lib/stdio.in.h (obstack_printf): Fix typo.
34383
34384 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
34385
34386         vc-list-files: use bzr ls's -R option
34387         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
34388         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
34389
34390 2010-02-21  Jim Meyering  <meyering@redhat.com>
34391
34392         init.sh: fix EXEEXT shims to work also for names like test-prog
34393         * tests/init.sh: Re-exec a better shell, when needed.
34394         If the current shell lacks support for posix $(...), an init.sh-using
34395         test will now try to find a shell that supports that.  If EXEEXT is
34396         nonempty, we also require support for hyphen-in-alias-name and shell
34397         substitutions like ${var#glob}.  Failure to find such a shell results
34398         in a skipped test.
34399
34400 2010-02-21  Bruno Haible  <bruno@clisp.org>
34401
34402         Really work around around "broken pipe" error message from bash 3.2.
34403         * gnulib-tool (func_reset_sigpipe): Remove function.
34404         (echo): In bash 3.2, define to a function that uses printf.
34405         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
34406
34407 2010-02-20  Bruno Haible  <bruno@clisp.org>
34408
34409         Restore support for automake 1.9.6 with autoconf 2.61.
34410         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
34411         Reported by James Youngman <jay@gnu.org>.
34412
34413 2010-02-20  Bruno Haible  <bruno@clisp.org>
34414
34415         Improve *printf warning condition.
34416         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
34417         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
34418         and the function is overridden due to SIGPIPE emulation.
34419
34420 2010-02-20  Bruno Haible  <bruno@clisp.org>
34421
34422         * lib/stdio.in.h: Tweak comments.
34423
34424 2010-02-19  Bruno Haible  <bruno@clisp.org>
34425
34426         Make it easier to find modules. New gnulib-tool option '--find'.
34427         * gnulib-tool: New option --find.
34428         (func_usage): Document it.
34429         (func_sanitize_modulelist): New function, extracted from
34430         func_all_modules.
34431         (func_all_modules): Invoke it.
34432         * doc/gnulib-tool.texi (Which modules?): New node.
34433
34434 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
34435
34436         * lib/sys_select.in.h: Provide select replacement even if
34437         sys/select.h exists on a system, for Interix.
34438
34439 2010-02-18  Jim Meyering  <meyering@redhat.com>
34440
34441         init.sh: don't use $(...) just yet
34442         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
34443         to accommodate e.g., Solaris' /bin/sh.
34444
34445 2010-02-17  Bruno Haible  <bruno@clisp.org>
34446
34447         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
34448         Reported by Ludovic Courtès <ludo@gnu.org>.
34449
34450 2010-02-16  Simon Josefsson  <simon@josefsson.org>
34451
34452         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
34453         linking with -lintl.
34454
34455 2010-02-17  Simon Josefsson  <simon@josefsson.org>
34456
34457         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
34458         if not provided by the system's netdb.h.  Reported by
34459         ludo@gnu.org (Ludovic Courtès).
34460
34461 2010-02-15  Jim Meyering  <meyering@redhat.com>
34462
34463         init.sh: improve portability and efficiency
34464         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
34465         "dummy" in a for loop.
34466         Use '!', not '^' to select the complement of a character set used
34467         in a "case" statement.
34468         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
34469         Suggestions from Eric Blake.
34470
34471         init.sh: automatically accommodate programs with the .exe suffix
34472         Automatically arrange for an invocation of "prog" to execute the
34473         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
34474         may use the simpler "prog", yet still work when built on a system
34475         that requires specifying the added suffix.
34476         Do this by constructing a function named "prog" that invokes
34477         "prog.exe" for each .exe file in selected directories.
34478         * tests/init.sh (find_exe_basenames_): New function.
34479         (create_exe_shim_functions_): New function.
34480         (path_prepend_): Use it.
34481
34482         maint.mk: mark syntax-check sc_*.m rules as .PHONY
34483         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
34484         "make -t syntax-check" doesn't create a ton of sc_*.m files.
34485
34486 2010-02-14  Jim Meyering  <meyering@redhat.com>
34487
34488         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
34489         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
34490         (sc_prohibit_hash_pjw_without_use): New rule.
34491
34492         maint.mk: allow the default upload destination dir to be overridden
34493         * top/maint.mk (upload_dest_dir_): Define with a default that
34494         preserves the status quo.
34495         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
34496         Reported by Peter Simons.
34497
34498         maint.mk: prohibit inclusion of "hash.h" without_use
34499         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
34500
34501 2010-02-10  Jim Meyering  <meyering@redhat.com>
34502
34503         maint.mk: prohibit inclusion of "ignore-value.h" without_use
34504         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
34505
34506 2010-02-09  Eric Blake  <ebb9@byu.net>
34507         and Bruno Haible  <bruno@clisp.org>
34508
34509         obstack-printf-posix: ensure declaration
34510         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
34511         extracted from gl_FUNC_OBSTACK_PRINTF.
34512         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
34513         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
34514         Likewise.
34515         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
34516         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
34517         0.
34518
34519 2010-02-08  Bruno Haible  <bruno@clisp.org>
34520
34521         gnulib-tool: Fix typo in 2010-02-07 commit.
34522         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
34523         Reported by Eric Blake.
34524
34525 2010-02-07  Bruno Haible  <bruno@clisp.org>
34526
34527         gnulib-tool: Fix up caching patches.
34528         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
34529         option --no-cache. Use associative arrays when supported by the shell.
34530         (sed_comments): New variable.
34531         (modcache): Renamed from do_cache.
34532         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
34533         abbreviate unnecessarily.
34534         (have_associative): New variable.
34535         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
34536         way also for ksh and zsh.
34537         (func_init_sed_convert_to_cache_statements): New function, extracted
34538         from func_cache_lookup_module. Add support for associative arrays.
34539         Don't set the c_MODULE_cached variable here. Ignore all lines before
34540         the first field header. Remove only the final newline, not all trailing
34541         newlines. Support empty fields correctly. Limit the use of 'eval' to
34542         assignments.
34543         (func_get_description, func_get_status, func_get_notice,
34544         func_get_applicability, func_get_filelist, func_get_dependencies,
34545         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
34546         func_get_automake_snippet, func_get_include_directive,
34547         func_get_link_directive, func_get_license, func_get_maintainer):
34548         Update documentation. List the unoptimized code first. Add support for
34549         associative arrays. Limit the use of 'eval' to assignments.
34550         (func_get_applicability): Undo stylistic pessimisations.
34551         (func_get_automake_snippet, func_get_include_directive): Reduce code
34552         duplication.
34553         (func_modules_transitive_closure, func_modules_add_dummy,
34554         func_modules_notice, func_modules_to_filelist, func_add_file,
34555         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
34556         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
34557         func_create_testdir, func_create_megatestdir): Update documentation.
34558
34559 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34560
34561         * gnulib-tool (func_cache_lookup_module): Store the module name
34562         belonging to the cache variable; error out if two different
34563         module names map to the same cache variable name.
34564
34565 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34566
34567         gnulib-tool: Make caching optional.
34568         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
34569         Update matching short versions of --no-changelog.
34570         (func_usage): Update.
34571         (sed_extract_cache_prog): Renamed from ...
34572         (sed_extract_prog): ... this; revert to old extraction script.
34573         (func_get_description, func_get_status)
34574         (func_get_notice, func_get_applicability, func_get_filelist)
34575         (func_get_dependencies, func_get_autoconf_early_snippet)
34576         (func_get_autoconf_snippet, func_get_automake_snippet)
34577         (func_get_include_directive, func_get_link_directive)
34578         (func_get_license, func_get_maintainer): If $do_cache is false,
34579         use old, non-caching extraction scripts.
34580         Suggestion by Bruno Haible.
34581
34582 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34583
34584         gnulib-tool: cache module metainformation.
34585         * gnulib-tool (sed_extract_prog): Match newline before each
34586         header, and rewrite header to a shell variable suffix.
34587         (func_cache_var, func_cache_lookup_module): New functions,
34588         to turn a module name into a cache variable prefix, and to
34589         look up and cache module metainformation.
34590         (func_get_description, func_get_status)
34591         (func_get_notice, func_get_applicability, func_get_filelist)
34592         (func_get_dependencies, func_get_autoconf_early_snippet)
34593         (func_get_autoconf_snippet, func_get_automake_snippet)
34594         (func_get_include_directive, func_get_link_directive)
34595         (func_get_license, func_get_maintainer): Use
34596         func_cache_lookup_module.
34597
34598 2010-02-07  Bruno Haible  <bruno@clisp.org>
34599
34600         fnctl: Fix missing dependency.
34601         * modules/fcntl (Depends-on): Add getdtablesize.
34602         Reported by John W. Eaton <jwe@gnu.org>.
34603
34604 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34605
34606         Argp: fix recognition of short alias options.
34607
34608         * lib/argp-parse.c (convert_options): Fix improper use of
34609         `|' between character values.
34610         * tests/test-argp.c (group1_option): New alias option
34611         --read (-r).
34612         (group1_parser): Special handling for 'r'.
34613         (test15): New test case.
34614         (test_fun): Add test15.
34615         * tests/test-argp-2.sh: Update expected --help and --usage
34616         outputs.
34617
34618 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
34619
34620         * tests/test-argp.c: Fix indentation.
34621
34622 2010-02-04  Eric Blake  <ebb9@byu.net>
34623
34624         gettimeofday: expose type of second argument
34625         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
34626         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
34627         * tests/test-gettimeofday.c: Use it to silence warning.
34628         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
34629         the issue.
34630
34631 2010-02-03  Jim Meyering  <meyering@redhat.com>
34632
34633         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
34634         * lib/regcomp.c (TYPE_SIGNED): Define.
34635         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
34636
34637         regcomp.c: avoid a new -Wshadow warning
34638         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
34639
34640 2010-02-01  Jim Meyering  <meyering@redhat.com>
34641
34642         removing useless parentheses in cpp #define directives
34643         For motivation, see commit c0221df4, "define STREQ(a,b)
34644         consistently, removing useless parentheses"
34645         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
34646         * lib/mountlist.c (MNT_IGNORE): Likewise.
34647         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
34648
34649 2010-02-01  Eric Blake  <ebb9@byu.net>
34650
34651         sys_time: use link-warning
34652         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
34653         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
34654         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
34655         * modules/sys_time (Depends-on): Add warn-on-use.
34656         (Makefile.am): Always build replacement.
34657         (configure.ac): Update substitutions.
34658         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
34659         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
34660         bother with SYS_TIME_H.
34661         * modules/gettimeofday (configure.ac): Declare indicator.
34662         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
34663         in use.
34664
34665         closein-tests: silence compiler warning
34666         * tests/test-closein.c (main): Ignore fread result.
34667         * modules/closein-tests (Depends-on): Add ignore-value.
34668
34669         tests: silence warning about system return
34670         * tests/test-areadlink-with-size.c (main): Ignore system result.
34671         * tests/test-areadlink.c (main): Likewise.
34672         * tests/test-areadlinkat-with-size.c (main): Likewise.
34673         * tests/test-areadlinkat.c (main): Likewise.
34674         * tests/test-canonicalize-lgpl.c (main): Likewise.
34675         * tests/test-canonicalize.c (main): Likewise.
34676         * tests/test-chown.c (main): Likewise.
34677         * tests/test-fchownat.c (main): Likewise.
34678         * tests/test-fdutimensat.c (main): Likewise.
34679         * tests/test-fstatat.c (main): Likewise.
34680         * tests/test-futimens.c (main): Likewise.
34681         * tests/test-lchown.c (main): Likewise.
34682         * tests/test-link.c (main): Likewise.
34683         * tests/test-linkat.c (main): Likewise.
34684         * tests/test-lstat.c (main): Likewise.
34685         * tests/test-mkdir.c (main): Likewise.
34686         * tests/test-mkdirat.c (main): Likewise.
34687         * tests/test-mkfifo.c (main): Likewise.
34688         * tests/test-mkfifoat.c (main): Likewise.
34689         * tests/test-mknod.c (main): Likewise.
34690         * tests/test-readlink.c (main): Likewise.
34691         * tests/test-remove.c (main): Likewise.
34692         * tests/test-rename.c (main): Likewise.
34693         * tests/test-renameat.c (main): Likewise.
34694         * tests/test-rmdir.c (main): Likewise.
34695         * tests/test-symlink.c (main): Likewise.
34696         * tests/test-symlinkat.c (main): Likewise.
34697         * tests/test-unlink.c (main): Likewise.
34698         * tests/test-unlinkat.c (main): Likewise.
34699         * tests/test-utimens.c (main): Likewise.
34700         * tests/test-utimensat.c (main): Likewise.
34701         * modules/areadlink-tests (Depends-on): Add ignore-value.
34702         * modules/areadlink-with-size-tests (Depends-on): Likewise.
34703         * modules/areadlinkat-tests (Depends-on): Likewise.
34704         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
34705         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
34706         * modules/canonicalize-tests (Depends-on): Likewise.
34707         * modules/chown-tests (Depends-on): Likewise.
34708         * modules/fdutimensat-tests (Depends-on): Likewise.
34709         * modules/futimens-tests (Depends-on): Likewise.
34710         * modules/lchown-tests (Depends-on): Likewise.
34711         * modules/link-tests (Depends-on): Likewise.
34712         * modules/linkat-tests (Depends-on): Likewise.
34713         * modules/lstat-tests (Depends-on): Likewise.
34714         * modules/mkdir-tests (Depends-on): Likewise.
34715         * modules/mkfifo-tests (Depends-on): Likewise.
34716         * modules/mkfifoat-tests (Depends-on): Likewise.
34717         * modules/mknod-tests (Depends-on): Likewise.
34718         * modules/openat-tests (Depends-on): Likewise.
34719         * modules/readlink-tests (Depends-on): Likewise.
34720         * modules/remove-tests (Depends-on): Likewise.
34721         * modules/rename-tests (Depends-on): Likewise.
34722         * modules/renameat-tests (Depends-on): Likewise.
34723         * modules/rmdir-tests (Depends-on): Likewise.
34724         * modules/symlink-tests (Depends-on): Likewise.
34725         * modules/symlinkat-tests (Depends-on): Likewise.
34726         * modules/unlink-tests (Depends-on): Likewise.
34727         * modules/utimens-tests (Depends-on): Likewise.
34728         * modules/utimensat-tests (Depends-on): Likewise.
34729
34730 2010-01-31  Bruno Haible  <bruno@clisp.org>
34731
34732         Perform the same test for many <math.h> functions.
34733         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
34734         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
34735         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
34736         of gl_MATHFUNC.
34737         * modules/acos (configure.ac): Likewise.
34738         * modules/asin (configure.ac): Likewise.
34739         * modules/atan (configure.ac): Likewise.
34740         * modules/atan2 (configure.ac): Likewise.
34741         * modules/cbrt (configure.ac): Likewise.
34742         * modules/copysign (configure.ac): Likewise.
34743         * modules/cos (configure.ac): Likewise.
34744         * modules/cosh (configure.ac): Likewise.
34745         * modules/erf (configure.ac): Likewise.
34746         * modules/erfc (configure.ac): Likewise.
34747         * modules/exp (configure.ac): Likewise.
34748         * modules/fmod (configure.ac): Likewise.
34749         * modules/hypot (configure.ac): Likewise.
34750         * modules/j0 (configure.ac): Likewise.
34751         * modules/j1 (configure.ac): Likewise.
34752         * modules/jn (configure.ac): Likewise.
34753         * modules/lgamma (configure.ac): Likewise.
34754         * modules/log (configure.ac): Likewise.
34755         * modules/log10 (configure.ac): Likewise.
34756         * modules/log1p (configure.ac): Likewise.
34757         * modules/pow (configure.ac): Likewise.
34758         * modules/remainder (configure.ac): Likewise.
34759         * modules/sin (configure.ac): Likewise.
34760         * modules/sinh (configure.ac): Likewise.
34761         * modules/tan (configure.ac): Likewise.
34762         * modules/tanh (configure.ac): Likewise.
34763         * modules/y0 (configure.ac): Likewise.
34764         * modules/y1 (configure.ac): Likewise.
34765         * modules/yn (configure.ac): Likewise.
34766         Suggested by Paolo Bonzini.
34767
34768 2010-01-31  Bruno Haible  <bruno@clisp.org>
34769
34770         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
34771
34772 2010-01-31  Bruno Haible  <bruno@clisp.org>
34773
34774         Work around getdelim() bug on FreeBSD 8.0.
34775         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
34776         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
34777         not work.
34778         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
34779         is 1.
34780         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
34781         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
34782         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
34783         a non-zero size.
34784         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
34785
34786 2010-01-31  Bruno Haible  <bruno@clisp.org>
34787
34788         Work around getline() bug on FreeBSD 8.0.
34789         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
34790         and a non-zero size.
34791         * tests/test-getline.c (main): Likewise.
34792         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
34793         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
34794
34795 2010-01-28  Eric Blake  <ebb9@byu.net>
34796
34797         regex: fix build failure
34798         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
34799         platforms.
34800
34801 2010-01-28  Jim Meyering  <meyering@redhat.com>
34802
34803         regex: do not ignore memory allocation failure
34804         * lib/regex_internal.c (create_cd_newstate): Detect
34805         re_node_set_init_copy failure.   Extracted from glibc commit
34806         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34807
34808         regex: sync more white-space changes from libc
34809         * lib/regex_internal.c: White-space only changes.
34810         * lib/regexec.c: Likewise.
34811
34812         regex: add many uses of __attribute_warn_unused_result__
34813         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
34814         * lib/regexec.c: Likewise.
34815         Extracted from a messy glibc commit.
34816
34817         regcomp.c: spelling and merge-artifact from glibc
34818         * lib/regcomp.c: Merge remainder of glibc's
34819         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34820
34821         regcomp.c: sync white-space changes from glibc
34822         * lib/regcomp.c: Merge to accommodate white space
34823         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
34824
34825         regcomp.c: do not ignore internal return values
34826         * lib/regcomp.c: Do not ignore internal return values.
34827         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
34828         but without its white-space changes and spelling fixes.
34829
34830         regex_internal.h: define __attribute_warn_unused_result__
34831         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
34832
34833         maint: add a syntax-check rule to check for vulnerable Makefile.in
34834         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
34835
34836 2010-01-27  Jim Meyering  <meyering@redhat.com>
34837
34838         ncftpput-ftp: clean up spaces
34839         * build-aux/ncftpput-ftp: Make Copyright line consistent.
34840         Remove trailing blanks.
34841
34842 2010-01-27  Simon Josefsson  <simon@josefsson.org>
34843
34844         * build-aux/git-version-gen: Fix copyright statement.
34845         * build-aux/gnupload: Likewise.
34846         * tests/test-arcfour.c: Likewise.
34847         * tests/test-arctwo.c: Likewise.
34848         * tests/test-count-one-bits.c: Likewise.
34849         * tests/test-crc.c: Likewise.
34850         * tests/test-des.c: Likewise.
34851         * tests/test-gc-arcfour.c: Likewise.
34852         * tests/test-gc-arctwo.c: Likewise.
34853         * tests/test-gc-des.c: Likewise.
34854         * tests/test-gc-hmac-md5.c: Likewise.
34855         * tests/test-gc-hmac-sha1.c: Likewise.
34856         * tests/test-gc-md2.c: Likewise.
34857         * tests/test-gc-md4.c: Likewise.
34858         * tests/test-gc-md5.c: Likewise.
34859         * tests/test-gc-pbkdf2-sha1.c: Likewise.
34860         * tests/test-gc-rijndael.c: Likewise.
34861         * tests/test-gc-sha1.c: Likewise.
34862         * tests/test-gc.c: Likewise.
34863         * tests/test-gethostname.c: Likewise.
34864         * tests/test-gettimeofday.c: Likewise.
34865         * tests/test-hash.c: Likewise.
34866         * tests/test-hmac-md5.c: Likewise.
34867         * tests/test-hmac-sha1.c: Likewise.
34868         * tests/test-md2.c: Likewise.
34869         * tests/test-md4.c: Likewise.
34870         * tests/test-md5.c: Likewise.
34871         * tests/test-memchr.c: Likewise.
34872         * tests/test-memchr2.c: Likewise.
34873         * tests/test-memcmp.c: Likewise.
34874         * tests/test-memmem.c: Likewise.
34875         * tests/test-memrchr.c: Likewise.
34876         * tests/test-rawmemchr.c: Likewise.
34877         * tests/test-read-file.c: Likewise.
34878         * tests/test-rijndael.c: Likewise.
34879         * tests/test-sockets.c: Likewise.
34880         * tests/test-strchrnul.c: Likewise.
34881         * tests/test-strstr.c: Likewise.
34882         * tests/test-strtod.c: Likewise.
34883         * build-aux/ncftpput-ftp: Likewise.
34884
34885 2010-01-26  Eric Blake  <ebb9@byu.net>
34886
34887         ignore-value: update recommended header name
34888         * modules/ignore-value (Include): Only use <> for headers that
34889         exist in glibc.
34890
34891 2010-01-26  Jim Meyering  <meyering@redhat.com>
34892
34893         test-userspec.c: avoid compiler warnings
34894         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
34895         and "initialization discards qualifiers..." warnings.
34896         Put the first "uid" in its own scope, and make char* members "const".
34897
34898 2010-01-25  Bruno Haible  <bruno@clisp.org>
34899
34900         gnulib-tool: Make warning diagnostics consistent.
34901         * gnulib-tool (func_warning): New function.
34902         Use it everywhere where gnulib-tool produces output to stderr and it is
34903         not a fatal error.
34904
34905 2010-01-25  Bruno Haible  <bruno@clisp.org>
34906
34907         Fix test dependencies.
34908         * modules/xstrtol-tests (Depends-on): Add inttypes.
34909         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
34910
34911 2010-01-25 Pádraig Brady <P@draigBrady.com>
34912
34913         syntax-check: detect incorrect boolean macro values in config.h
34914         * modules/maintainer-makefile (configure.ac): Parameterize the location
34915         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
34916         The logic is from Eric Blake and the location indicated by Jim Meyering.
34917         Note the more natural CONFIG_HEADER name is prohibited by automake
34918         for backwards compatibility reasons.
34919         * top/maint.mk (sc_Wundef_boolean): New rule.
34920
34921 2010-01-25  Jim Meyering  <meyering@redhat.com>
34922
34923         bootstrap: detect MacOS 10.6's shasum, too
34924         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
34925         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
34926
34927 2010-01-23  Jim Meyering  <meyering@redhat.com>
34928
34929         xstrtoll: new module
34930         * modules/xstrtoll: New file.
34931         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
34932         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
34933         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
34934         ./configure fails if you use this module and lack "long long".
34935         * modules/xstrtoll-tests: New module.
34936         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
34937         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
34938         new init.sh-based test framework.
34939
34940 2010-01-24  Bruno Haible  <bruno@clisp.org>
34941
34942         Tests for module 'yn'.
34943         * modules/yn-tests: New file.
34944         * tests/test-yn.c: New file.
34945
34946         Tests for module 'y1'.
34947         * modules/y1-tests: New file.
34948         * tests/test-y1.c: New file.
34949
34950         Tests for module 'y0'.
34951         * modules/y0-tests: New file.
34952         * tests/test-y0.c: New file.
34953
34954         Tests for module 'tanh'.
34955         * modules/tanh-tests: New file.
34956         * tests/test-tanh.c: New file.
34957
34958         Tests for module 'tan'.
34959         * modules/tan-tests: New file.
34960         * tests/test-tan.c: New file.
34961
34962         Tests for module 'sqrt'.
34963         * modules/sqrt-tests: New file.
34964         * tests/test-sqrt.c: New file.
34965
34966         Tests for module 'sinh'.
34967         * modules/sinh-tests: New file.
34968         * tests/test-sinh.c: New file.
34969
34970         Tests for module 'sin'.
34971         * modules/sin-tests: New file.
34972         * tests/test-sin.c: New file.
34973
34974         Tests for module 'rint'.
34975         * modules/rint-tests: New file.
34976         * tests/test-rint.c: New file.
34977
34978         Tests for module 'remainder'.
34979         * modules/remainder-tests: New file.
34980         * tests/test-remainder.c: New file.
34981
34982         Tests for module 'pow'.
34983         * modules/pow-tests: New file.
34984         * tests/test-pow.c: New file.
34985
34986         Tests for module 'nextafter'.
34987         * modules/nextafter-tests: New file.
34988         * tests/test-nextafter.c: New file.
34989
34990         Tests for module 'modf'.
34991         * modules/modf-tests: New file.
34992         * tests/test-modf.c: New file.
34993
34994         Tests for module 'logb'.
34995         * modules/logb-tests: New file.
34996         * tests/test-logb.c: New file.
34997
34998         Tests for module 'log1p'.
34999         * modules/log1p-tests: New file.
35000         * tests/test-log1p.c: New file.
35001
35002         Tests for module 'log10'.
35003         * modules/log10-tests: New file.
35004         * tests/test-log10.c: New file.
35005
35006         Tests for module 'log'.
35007         * modules/log-tests: New file.
35008         * tests/test-log.c: New file.
35009
35010         Tests for module 'lgamma'.
35011         * modules/lgamma-tests: New file.
35012         * tests/test-lgamma.c: New file.
35013
35014         Tests for module 'ldexp'.
35015         * modules/ldexp-tests: New file.
35016         * tests/test-ldexp.c: New file.
35017
35018         Tests for module 'jn'.
35019         * modules/jn-tests: New file.
35020         * tests/test-jn.c: New file.
35021
35022         Tests for module 'j1'.
35023         * modules/j1-tests: New file.
35024         * tests/test-j1.c: New file.
35025
35026         Tests for module 'j0'.
35027         * modules/j0-tests: New file.
35028         * tests/test-j0.c: New file.
35029
35030         Tests for module 'hypot'.
35031         * modules/hypot-tests: New file.
35032         * tests/test-hypot.c: New file.
35033
35034         Tests for module 'fmod'.
35035         * modules/fmod-tests: New file.
35036         * tests/test-fmod.c: New file.
35037
35038         Tests for module 'fabs'.
35039         * modules/fabs-tests: New file.
35040         * tests/test-fabs.c: New file.
35041
35042         Tests for module 'exp'.
35043         * modules/exp-tests: New file.
35044         * tests/test-exp.c: New file.
35045
35046         Tests for module 'erfc'.
35047         * modules/erfc-tests: New file.
35048         * tests/test-erfc.c: New file.
35049
35050         Tests for module 'erf'.
35051         * modules/erf-tests: New file.
35052         * tests/test-erf.c: New file.
35053
35054         Tests for module 'cosh'.
35055         * modules/cosh-tests: New file.
35056         * tests/test-cosh.c: New file.
35057
35058         Tests for module 'cos'.
35059         * modules/cos-tests: New file.
35060         * tests/test-cos.c: New file.
35061
35062         Tests for module 'copysign'.
35063         * modules/copysign-tests: New file.
35064         * tests/test-copysign.c: New file.
35065
35066         Tests for module 'cbrt'.
35067         * modules/cbrt-tests: New file.
35068         * tests/test-cbrt.c: New file.
35069
35070         Tests for module 'atan2'.
35071         * modules/atan2-tests: New file.
35072         * tests/test-atan2.c: New file.
35073
35074         Tests for module 'atan'.
35075         * modules/atan-tests: New file.
35076         * tests/test-atan.c: New file.
35077
35078         Tests for module 'asin'.
35079         * modules/asin-tests: New file.
35080         * tests/test-asin.c: New file.
35081
35082         Tests for module 'acos'.
35083         * modules/acos-tests: New file.
35084         * tests/test-acos.c: New file.
35085
35086 2010-01-24  Bruno Haible  <bruno@clisp.org>
35087
35088         Fix tests for common <math.h> functions.
35089         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
35090         code snippet that references the function pointer, rather than merely
35091         calling the function. Substitute the FUNC_LIBM variable.
35092         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
35093         * modules/acos (configure.ac): Likewise.
35094         * modules/asin (configure.ac): Likewise.
35095         * modules/atan (configure.ac): Likewise.
35096         * modules/atan2 (configure.ac): Likewise.
35097         * modules/cbrt (configure.ac): Likewise.
35098         * modules/copysign (configure.ac): Likewise.
35099         * modules/cos (configure.ac): Likewise.
35100         * modules/cosh (configure.ac): Likewise.
35101         * modules/erf (configure.ac): Likewise.
35102         * modules/erfc (configure.ac): Likewise.
35103         * modules/exp (configure.ac): Likewise.
35104         * modules/fabs (configure.ac): Likewise.
35105         * modules/fmod (configure.ac): Likewise.
35106         * modules/hypot (configure.ac): Likewise.
35107         * modules/j0 (configure.ac): Likewise.
35108         * modules/j1 (configure.ac): Likewise.
35109         * modules/jn (configure.ac): Likewise.
35110         * modules/ldexp (configure.ac): Likewise.
35111         * modules/lgamma (configure.ac): Likewise.
35112         * modules/log (configure.ac): Likewise.
35113         * modules/log10 (configure.ac): Likewise.
35114         * modules/log1p (configure.ac): Likewise.
35115         * modules/logb (configure.ac): Likewise.
35116         * modules/modf (configure.ac): Likewise.
35117         * modules/nextafter (configure.ac): Likewise.
35118         * modules/pow (configure.ac): Likewise.
35119         * modules/remainder (configure.ac): Likewise.
35120         * modules/rint (configure.ac): Likewise.
35121         * modules/sin (configure.ac): Likewise.
35122         * modules/sinh (configure.ac): Likewise.
35123         * modules/tan (configure.ac): Likewise.
35124         * modules/tanh (configure.ac): Likewise.
35125         * modules/y0 (configure.ac): Likewise.
35126         * modules/y1 (configure.ac): Likewise.
35127         * modules/yn (configure.ac): Likewise.
35128
35129 2010-01-24  Bruno Haible  <bruno@clisp.org>
35130
35131         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
35132         * tests/test-acosl.c (x): New variable.
35133         (main): Store argument in x and fetch it from x.
35134         * tests/test-asinl.c (x): New variable.
35135         (main): Store argument in x and fetch it from x.
35136         * tests/test-atanl.c (x): New variable.
35137         (main): Store argument in x and fetch it from x.
35138         * tests/test-cosl.c (x): New variable.
35139         (main): Store argument in x and fetch it from x.
35140         * tests/test-expl.c (x): New variable.
35141         (main): Store argument in x and fetch it from x.
35142         * tests/test-logl.c (x): New variable.
35143         (main): Store argument in x and fetch it from x.
35144         * tests/test-sinl.c (x): New variable.
35145         (main): Store argument in x and fetch it from x.
35146         * tests/test-sqrtl.c (x): New variable.
35147         (main): Store argument in x and fetch it from x.
35148         * tests/test-tanl.c (x): New variable.
35149         (main): Store argument in x and fetch it from x.
35150
35151 2010-01-24  Bruno Haible  <bruno@clisp.org>
35152
35153         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
35154         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
35155         assignments to the initial TESTS_ENVIRONMENT.
35156         * doc/gnulib.texi (Unit test modules): Document it.
35157         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
35158         TESTS_ENVIRONMENT.
35159         * modules/btowc-tests (Makefile.am): Likewise.
35160         * modules/c-stack-tests (Makefile.am): Likewise.
35161         * modules/c-strcase-tests (Makefile.am): Likewise.
35162         * modules/copy-file-tests (Makefile.am): Likewise.
35163         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
35164         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
35165         * modules/mbrtowc-tests (Makefile.am): Likewise.
35166         * modules/mbscasecmp-tests (Makefile.am): Likewise.
35167         * modules/mbscasestr-tests (Makefile.am): Likewise.
35168         * modules/mbschr-tests (Makefile.am): Likewise.
35169         * modules/mbscspn-tests (Makefile.am): Likewise.
35170         * modules/mbsinit-tests (Makefile.am): Likewise.
35171         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
35172         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
35173         * modules/mbspbrk-tests (Makefile.am): Likewise.
35174         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
35175         * modules/mbsrchr-tests (Makefile.am): Likewise.
35176         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
35177         * modules/mbsspn-tests (Makefile.am): Likewise.
35178         * modules/mbsstr-tests (Makefile.am): Likewise.
35179         * modules/nl_langinfo-tests (Makefile.am): Likewise.
35180         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
35181         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
35182         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
35183         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
35184         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
35185         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
35186         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
35187         * modules/wcrtomb-tests (Makefile.am): Likewise.
35188         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
35189         * modules/wcsrtombs-tests (Makefile.am): Likewise.
35190         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
35191         assignments from TESTS_ENVIRONMENT.
35192         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
35193         augmentation.
35194         * modules/argp-version-etc-tests (Makefile.am): Likewise.
35195         * modules/atexit-tests (Makefile.am): Likewise.
35196         * modules/binary-io-tests (Makefile.am): Likewise.
35197         * modules/closein-tests (Makefile.am): Likewise.
35198         * modules/dprintf-posix-tests (Makefile.am): Likewise.
35199         * modules/exclude-tests (Makefile.am): Likewise.
35200         * modules/fflush-tests (Makefile.am): Likewise.
35201         * modules/fpending-tests (Makefile.am): Likewise.
35202         * modules/fprintf-posix-tests (Makefile.am): Likewise.
35203         * modules/freadahead-tests (Makefile.am): Likewise.
35204         * modules/freadptr-tests (Makefile.am): Likewise.
35205         * modules/freadseek-tests (Makefile.am): Likewise.
35206         * modules/fseek-tests (Makefile.am): Likewise.
35207         * modules/fseeko-tests (Makefile.am): Likewise.
35208         * modules/ftell-tests (Makefile.am): Likewise.
35209         * modules/ftello-tests (Makefile.am): Likewise.
35210         * modules/idpriv-drop-tests (Makefile.am): Likewise.
35211         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
35212         * modules/lseek-tests (Makefile.am): Likewise.
35213         * modules/parse-duration-tests (Makefile.am): Likewise.
35214         * modules/perror-tests (Makefile.am): Likewise.
35215         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
35216         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
35217         * modules/pipe-tests (Makefile.am): Likewise.
35218         * modules/pread-tests (Makefile.am): Likewise.
35219         * modules/printf-posix-tests (Makefile.am): Likewise.
35220         * modules/select-tests (Makefile.am): Likewise.
35221         * modules/sigpipe-tests (Makefile.am): Likewise.
35222         * modules/tsearch-tests (Makefile.am): Likewise.
35223         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
35224         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
35225         * modules/uniname/uniname-tests (Makefile.am): Likewise.
35226         * modules/uniwidth/width-tests (Makefile.am): Likewise.
35227         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
35228         * modules/version-etc-tests (Makefile.am): Likewise.
35229         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
35230         * modules/vprintf-posix-tests (Makefile.am): Likewise.
35231         * modules/xalloc-die-tests (Makefile.am): Likewise.
35232         * modules/xprintf-posix-tests (Makefile.am): Likewise.
35233         * modules/xstrtoimax-tests (Makefile.am): Likewise.
35234         * modules/xstrtol-tests (Makefile.am): Likewise.
35235         * modules/xstrtoumax-tests (Makefile.am): Likewise.
35236         * modules/yesno-tests (Makefile.am): Likewise.
35237         Suggested by Jim Meyering.
35238
35239 2010-01-24  Bruno Haible  <bruno@clisp.org>
35240
35241         More documentation.
35242         * doc/gnulib.texi (Writing modules): New chapter.
35243         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
35244         the new chapter.
35245
35246 2010-01-24  Jim Meyering  <meyering@redhat.com>
35247
35248         maint.mk: do not prepend "./" after filtering
35249         * top/maint.mk (_prepend_srcdir_prefix): New variable
35250         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
35251         "./" when $(srcdir) is ".".
35252
35253         define STREQ(a,b) consistently, removing useless parentheses
35254         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
35255         since the only risk is that "a" or "b" contains an unparenthesized
35256         comma, but if either did that, STREQ would have 3 or more arguments.
35257         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
35258         * lib/fts.c (STREQ): Remove unnecessary parentheses.
35259         * lib/hash-triple.c (STREQ): Likewise.
35260         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
35261         * lib/getugroups.c (STREQ): Likewise.
35262
35263 2010-01-23  Jim Meyering  <meyering@redhat.com>
35264
35265         maint.mk: fix syntax-check in a non-srcdir build directory
35266         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
35267         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
35268
35269 2010-01-22  Jim Meyering  <meyering@redhat.com>
35270
35271         userspec: add unit tests
35272         * tests/test-userspec.c: New file.
35273         * modules/userspec-tests: Likewise.
35274
35275 2010-01-21  Jim Meyering  <meyering@redhat.com>
35276
35277         maint.mk: handle source file names containing "." robustly
35278         * top/maint.mk (_dot_escaped_srcdir): Define.
35279         (VC_LIST): Use it in LHS of sed substitution.
35280
35281 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
35282
35283         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
35284         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
35285         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
35286         from a non-srcdir build.
35287
35288 2010-01-20  Eric Blake  <ebb9@byu.net>
35289
35290         warn-on-use: use instead of link-warning
35291         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
35292         * modules/unistd (Depends-on, Makefile.am): Likewise.
35293         * modules/arpa_inet (Depends-on): Replace link-warning with
35294         warn-on-use.
35295         (Makefile.am): Update rules accordingly.
35296         * modules/ctype (Depends-on, Makefile.am): Likewise.
35297         * modules/dirent (Depends-on, Makefile.am): Likewise.
35298         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
35299         * modules/inttypes (Depends-on, Makefile.am): Likewise.
35300         * modules/langinfo (Depends-on, Makefile.am): Likewise.
35301         * modules/locale (Depends-on, Makefile.am): Likewise.
35302         * modules/math (Depends-on, Makefile.am): Likewise.
35303         * modules/search (Depends-on, Makefile.am): Likewise.
35304         * modules/signal (Depends-on, Makefile.am): Likewise.
35305         * modules/spawn (Depends-on, Makefile.am): Likewise.
35306         * modules/stdlib (Depends-on, Makefile.am): Likewise.
35307         * modules/string (Depends-on, Makefile.am): Likewise.
35308         * modules/strings (Depends-on, Makefile.am): Likewise.
35309         * modules/sys_file (Depends-on, Makefile.am): Likewise.
35310         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
35311         * modules/sys_select (Depends-on, Makefile.am): Likewise.
35312         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
35313         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
35314         * modules/sys_times (Depends-on, Makefile.am): Likewise.
35315         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
35316         * modules/wchar (Depends-on, Makefile.am): Likewise.
35317         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
35318         should be poisoned.
35319         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
35320         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
35321         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
35322         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
35323         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35324         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
35325         * m4/math_h.m4 (gl_MATH_H): Likewise.
35326         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
35327         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
35328         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
35329         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
35330         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
35331         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
35332         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
35333         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
35334         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
35335         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
35336         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
35337         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
35338         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35339         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35340         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
35341         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
35342         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
35343         GL_LINK_WARNING.
35344         * lib/ctype.in.h: Likewise.
35345         * lib/dirent.in.h: Likewise.
35346         * lib/fcntl.in.h: Likewise.
35347         * lib/inttypes.in.h: Likewise.
35348         * lib/langinfo.in.h: Likewise.
35349         * lib/locale.in.h: Likewise.
35350         * lib/math.in.h: Likewise.
35351         * lib/search.in.h: Likewise.
35352         * lib/signal.in.h: Likewise.
35353         * lib/spawn.in.h: Likewise.
35354         * lib/stdio.in.h: Likewise.
35355         * lib/stdlib.in.h: Likewise.
35356         * lib/string.in.h: Likewise.
35357         * lib/strings.in.h: Likewise.
35358         * lib/sys_file.in.h: Likewise.
35359         * lib/sys_ioctl.in.h: Likewise.
35360         * lib/sys_select.in.h: Likewise.
35361         * lib/sys_socket.in.h: Likewise.
35362         * lib/sys_stat.in.h: Likewise.
35363         * lib/sys_times.in.h: Likewise.
35364         * lib/sys_utsname.in.h: Likewise.
35365         * lib/unistd.in.h: Likewise.
35366         * lib/wchar.in.h: Likewise.
35367
35368 2010-01-20  Bruno Haible  <bruno@clisp.org>
35369
35370         Avoid duplicate -lm.
35371         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
35372         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
35373         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
35374         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
35375         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
35376         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
35377         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
35378         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
35379         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
35380         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
35381         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
35382         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
35383         Reported by Paolo Bonzini.
35384
35385 2010-01-19  Bruno Haible  <bruno@clisp.org>
35386
35387         langinfo, nl_langinfo: Relicense under LGPLv2+.
35388         * modules/langinfo (License): Change to LGPLv2+.
35389         * modules/nl_langinfo (License): Likewise.
35390         Patch by David Lutterkort <lutter@redhat.com>.
35391
35392 2010-01-19  Bruno Haible  <bruno@clisp.org>
35393
35394         Avoid compilation error with cc on OSF/1 5.1.
35395         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
35396         statement, not before.
35397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35398
35399 2010-01-18  Bruno Haible  <bruno@clisp.org>
35400
35401         Avoid a link error due to the __printf__ symbol.
35402         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
35403         and 2.6.x.
35404         (__format__, __printf__): Remove definitions.
35405         * lib/argp-fmtstream.h: Likewise.
35406         * lib/argp.h: Likewise.
35407         * lib/error.h: Likewise.
35408         * lib/vasnprintf.h: Likewise.
35409         * lib/xprintf.h: Likewise.
35410         * lib/xvasprintf.h: Likewise.
35411         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35412
35413 2010-01-18  Bruno Haible  <bruno@clisp.org>
35414
35415         Tests for module 'tanl'.
35416         * modules/tanl-tests: New file.
35417         * tests/test-tanl.c: New file.
35418
35419         Tests for module 'sqrtl'.
35420         * modules/sqrtl-tests: New file.
35421         * tests/test-sqrtl.c: New file.
35422
35423         Tests for module 'sinl'.
35424         * modules/sinl-tests: New file.
35425         * tests/test-sinl.c: New file.
35426
35427         Tests for module 'logl'.
35428         * modules/logl-tests: New file.
35429         * tests/test-logl.c: New file.
35430
35431         Tests for module 'expl'.
35432         * modules/expl-tests: New file.
35433         * tests/test-expl.c: New file.
35434
35435         Tests for module 'cosl'.
35436         * modules/cosl-tests: New file.
35437         * tests/test-cosl.c: New file.
35438
35439         Tests for module 'atanl'.
35440         * modules/atanl-tests: New file.
35441         * tests/test-atanl.c: New file.
35442
35443         Tests for module 'asinl'.
35444         * modules/asinl-tests: New file.
35445         * tests/test-asinl.c: New file.
35446
35447         Tests for module 'acosl'.
35448         * modules/acosl-tests: New file.
35449         * tests/test-acosl.c: New file.
35450
35451         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35452         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
35453         tanl): Use the standard gnulib idiom.
35454         * lib/cosl.c: Don't include trigl.c and sincosl.c.
35455         * lib/sinl.c: Likewise.
35456         * lib/tanl.c: Don't include trigl.c.
35457         (kernel_tanl): Make static.
35458         * lib/sincosl.c: Include trigl.h first.
35459         * lib/trigl.c: Likewise.
35460         * m4/acosl.m4: New file.
35461         * m4/asinl.m4: New file.
35462         * m4/atanl.m4: New file.
35463         * m4/cosl.m4: New file.
35464         * m4/expl.m4: New file.
35465         * m4/logl.m4: New file.
35466         * m4/sinl.m4: New file.
35467         * m4/sqrtl.m4: New file.
35468         * m4/tanl.m4: New file.
35469         * m4/mathl.m4: Remove file.
35470         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
35471         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
35472         Don't initialize GNULIB_MATHL.
35473         * modules/acosl: New file.
35474         * modules/asinl: New file.
35475         * modules/atanl: New file.
35476         * modules/cosl: New file.
35477         * modules/expl: New file.
35478         * modules/logl: New file.
35479         * modules/sinl: New file.
35480         * modules/sqrtl: New file.
35481         * modules/tanl: New file.
35482         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
35483         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
35484         substitute GNULIB_MATHL.
35485         * modules/mathl: Rewritten.
35486         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
35487         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
35488         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
35489         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
35490         * doc/posix-functions/expl.texi: Mention the 'expl' module.
35491         * doc/posix-functions/logl.texi: Mention the 'logl' module.
35492         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
35493         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
35494         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
35495
35496 2010-01-18  Bruno Haible  <bruno@clisp.org>
35497
35498         sqrt: Make gl_FUNC_SQRT requirable.
35499         * m4/sqrt.m4: New file.
35500         * modules/sqrt (Files): Add it.
35501         (configure.ac): Invoke gl_FUNC_SQRT.
35502
35503 2010-01-18  Bruno Haible  <bruno@clisp.org>
35504
35505         New modules for common <math.h> functions.
35506         * m4/mathfunc.m4: New file.
35507         * modules/acos: New file.
35508         * modules/asin: New file.
35509         * modules/atan: New file.
35510         * modules/atan2: New file.
35511         * modules/cbrt: New file.
35512         * modules/copysign: New file.
35513         * modules/cos: New file.
35514         * modules/cosh: New file.
35515         * modules/erf: New file.
35516         * modules/erfc: New file.
35517         * modules/exp: New file.
35518         * modules/fabs: New file.
35519         * modules/fmod: New file.
35520         * modules/hypot: New file.
35521         * modules/j0: New file.
35522         * modules/j1: New file.
35523         * modules/jn: New file.
35524         * modules/ldexp: New file.
35525         * modules/lgamma: New file.
35526         * modules/log: New file.
35527         * modules/log10: New file.
35528         * modules/log1p: New file.
35529         * modules/logb: New file.
35530         * modules/modf: New file.
35531         * modules/nextafter: New file.
35532         * modules/pow: New file.
35533         * modules/remainder: New file.
35534         * modules/rint: New file.
35535         * modules/sin: New file.
35536         * modules/sinh: New file.
35537         * modules/sqrt: New file.
35538         * modules/tan: New file.
35539         * modules/tanh: New file.
35540         * modules/y0: New file.
35541         * modules/y1: New file.
35542         * modules/yn: New file.
35543         * doc/posix-functions/acos.texi: Mention the 'acos' module.
35544         * doc/posix-functions/asin.texi: Mention the 'asin' module.
35545         * doc/posix-functions/atan.texi: Mention the 'atan' module.
35546         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
35547         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
35548         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
35549         * doc/posix-functions/cos.texi: Mention the 'cos' module.
35550         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
35551         * doc/posix-functions/erf.texi: Mention the 'erf' module.
35552         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
35553         * doc/posix-functions/exp.texi: Mention the 'exp' module.
35554         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
35555         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
35556         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
35557         * doc/posix-functions/j0.texi: Mention the 'j0' module.
35558         * doc/posix-functions/j1.texi: Mention the 'j1' module.
35559         * doc/posix-functions/jn.texi: Mention the 'jn' module.
35560         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
35561         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
35562         * doc/posix-functions/log.texi: Mention the 'log' module.
35563         * doc/posix-functions/log10.texi: Mention the 'log10' module.
35564         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
35565         * doc/posix-functions/logb.texi: Mention the 'logb' module.
35566         * doc/posix-functions/modf.texi: Mention the 'modf' module.
35567         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
35568         * doc/posix-functions/pow.texi: Mention the 'pow' module.
35569         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
35570         * doc/posix-functions/rint.texi: Mention the 'rint' module.
35571         * doc/posix-functions/sin.texi: Mention the 'sin' module.
35572         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
35573         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
35574         * doc/posix-functions/tan.texi: Mention the 'tan' module.
35575         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
35576         * doc/posix-functions/y0.texi: Mention the 'y0' module.
35577         * doc/posix-functions/y1.texi: Mention the 'y1' module.
35578         * doc/posix-functions/yn.texi: Mention the 'yn' module.
35579
35580 2010-01-18  Jim Meyering  <meyering@redhat.com>
35581
35582         ignore-value: relax license to LGPLv2+
35583         * modules/ignore-value (License): Relax to LGPLv2+.
35584
35585         getdate: don't leak when TZ contains two or more '"'s
35586         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
35587         double quote in TZ after the first one.
35588
35589         readtokens: do not leak internal token_lengths buffer
35590         * lib/readtokens.c (readtokens): Free the local, lengths,
35591         when the supplied "token_lengths" parameter is NULL.
35592
35593 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35594
35595         Fix a couple of missing LIBTHREAD link failures on AIX.
35596         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
35597         $(LIBTHREAD).
35598         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
35599
35600         Link test-poll against INET_PTON_LIB.
35601         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
35602         for inet_pton on Solaris 10.
35603
35604 2010-01-17  Bruno Haible  <bruno@clisp.org>
35605
35606         unistdio/*-sprintf: Fix typo in module description.
35607         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
35608         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
35609         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
35610         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
35611         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
35612         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
35613         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
35614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35615
35616 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35617
35618         gnulib-tool: fix filelist for AIX, HP-UX ksh.
35619         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
35620         variables in shell case patterns, for AIX and HP-UX ksh.
35621
35622         Split large sed scripts, for HP-UX sed.
35623         * modules/stdio: Split sed scripts around 50 sed commands,
35624         to avoid HP-UX limit of 99 commands, in the near future.
35625         * modules/string: Likewise.
35626         * modules/unistd: Likewise.
35627
35628         gnulib-tool: avoid writing in the current directory.
35629         * gnulib-tool (func_emit_lib_Makefile_am)
35630         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
35631         not in the current directory, so concurrent gnulib-tool
35632         instances do not interfere.
35633
35634 2010-01-16  Jim Meyering  <meyering@redhat.com>
35635
35636         doc: update users.txt
35637         * users.txt: Add grep.
35638         (diffutils, gzip): Update URLs.
35639
35640 2010-01-12  Bruno Haible  <bruno@clisp.org>
35641
35642         posix_spawn: Avoid test failure on Cygwin.
35643         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
35644         characters.
35645         Reported by Simon Josefsson.
35646
35647 2010-01-12  Bruno Haible  <bruno@clisp.org>
35648
35649         * tests/test-cond.c (main): When skipping the test, show the reason.
35650
35651 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35652
35653         * lib/striconv.c (str_cd_iconv): Avoid if before free.
35654
35655 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35656
35657         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
35658         VC_LIST_ALWAYS_EXCLUDE_REGEX.
35659
35660 2010-01-12  Eric Blake  <ebb9@byu.net>
35661
35662         build: guarantee AS_VAR_IF
35663         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
35664         (gl_AS_VAR_IF): Move...
35665         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
35666         Reported by Simon Josefsson.
35667
35668 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35669
35670         * lib/stdio.in.h: Fix typo.
35671
35672 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35673
35674         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
35675         libgpg-error.
35676
35677 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35678
35679         * tests/test-xalloc-die.sh: Use $EXEEXT.
35680
35681 2010-01-12  Simon Josefsson  <simon@josefsson.org>
35682             Bruno Haible  <bruno@clisp.org>
35683
35684         getlogin, getlogin_r: Avoid test failure.
35685         * tests/test-getlogin.c: Include <stdio.h>.
35686         (main): Skip the test when the function fails because stdin is not a
35687         tty.
35688         * tests/test-getlogin_r.c: Include <stdio.h>.
35689         (main): Skip the test when the function fails because stdin is not a
35690         tty.
35691
35692 2010-01-11  Eric Blake  <ebb9@byu.net>
35693
35694         tests: avoid more large file warnings
35695         * tests/test-fflush.c: Avoid warning about ftell use.
35696         * tests/test-fseek.c: Avoid warning about fseek use.
35697
35698 2010-01-10  Bruno Haible  <bruno@clisp.org>
35699
35700         nproc: Work better on Linux when /proc and /sys are not mounted.
35701         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
35702         as lower bound when, on glibc/Linux systems,
35703         sysconf (_SC_NPROCESSORS_CONF) returns 1.
35704         Suggested by Pádraig Brady <P@draigbrady.com>.
35705         Reported by Dmitry V. Levin <ldv@altlinux.org>.
35706
35707         nproc: Refactor.
35708         * lib/nproc.c (num_processors_via_affinity_mask): New function,
35709         extracted from num_processors.
35710         (num_processors): Call it.
35711
35712 2010-01-11  Jim Meyering  <meyering@redhat.com>
35713
35714         utimecmp: avoid new warning from upcoming gcc-4.5.0
35715         * lib/utimecmp.c (BILLION): Define using #define rather than an
35716         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
35717
35718 2010-01-11  Eric Blake  <ebb9@byu.net>
35719
35720         math: add portability warnings for classification macros
35721         * modules/math (Depends-on): Add warn-on-use.
35722         (Makefile.am): Provide new substitutions.
35723         * m4/math_h.m4 (gl_MATH_H): Require inline.
35724         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
35725         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
35726         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
35727         implement warnings.
35728
35729         unistd: warn on use of environ without module
35730         * modules/unistd (Depends-on): Add warn-on-use.
35731         (Makefile.am): Provide new substitutions.
35732         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
35733         * lib/unistd.in.h (environ): Wrap with a warning helper function.
35734
35735         stdio: warn on suspicious uses
35736         * modules/stdio (Depends-on): Add warn-on-use.
35737         (Makefile.am): Provide new substitutions.
35738         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
35739         fseeko.
35740         * lib/stdio.in.h (gets): Always warn on use.
35741         (fseek, ftell): Adjust when warnings are issued, and honor
35742         _GL_NO_LARGE_FILES as a way to silence the warning.
35743         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
35744         any warning about large file offsets.
35745         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
35746         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
35747         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
35748         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
35749         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
35750         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
35751         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
35752         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
35753
35754         warn-on-use: new module
35755         * modules/warn-on-use: New file.
35756         * build-aux/warn-on-use.h: Likewise.
35757         * m4/warn-on-use.m4: Likewise.
35758         * MODULES.html.sh (Support for building): Mention it.
35759
35760 2010-01-10  Bruno Haible  <bruno@clisp.org>
35761
35762         Tests for module 'unistr/u32-strdup'.
35763         * modules/unistr/u32-strdup-tests: New file.
35764         * tests/unistr/test-u32-strdup.c: New file.
35765
35766         Tests for module 'unistr/u16-strdup'.
35767         * modules/unistr/u16-strdup-tests: New file.
35768         * tests/unistr/test-u16-strdup.c: New file.
35769
35770         Tests for module 'unistr/u8-strdup'.
35771         * modules/unistr/u8-strdup-tests: New file.
35772         * tests/unistr/test-u8-strdup.c: New file.
35773         * tests/unistr/test-strdup.h: New file.
35774
35775         Tests for module 'unistr/u32-strncmp'.
35776         * modules/unistr/u32-strncmp-tests: New file.
35777         * tests/unistr/test-u32-strncmp.c: New file.
35778
35779         Tests for module 'unistr/u16-strncmp'.
35780         * modules/unistr/u16-strncmp-tests: New file.
35781         * tests/unistr/test-u16-strncmp.c: New file.
35782
35783         Tests for module 'unistr/u8-strncmp'.
35784         * modules/unistr/u8-strncmp-tests: New file.
35785         * tests/unistr/test-u8-strncmp.c: New file.
35786         * tests/unistr/test-strncmp.h: New file.
35787
35788         Tests for module 'unistr/u32-strcoll'.
35789         * modules/unistr/u32-strcoll-tests: New file.
35790         * tests/unistr/test-u32-strcoll.c: New file.
35791
35792         Tests for module 'unistr/u16-strcoll'.
35793         * modules/unistr/u16-strcoll-tests: New file.
35794         * tests/unistr/test-u16-strcoll.c: New file.
35795
35796         Tests for module 'unistr/u8-strcoll'.
35797         * modules/unistr/u8-strcoll-tests: New file.
35798         * tests/unistr/test-u8-strcoll.c: New file.
35799
35800         Tests for module 'unistr/u32-strcmp'.
35801         * modules/unistr/u32-strcmp-tests: New file.
35802         * tests/unistr/test-u32-strcmp.c: New file.
35803         * tests/unistr/test-u32-strcmp.h: New file.
35804
35805         Tests for module 'unistr/u16-strcmp'.
35806         * modules/unistr/u16-strcmp-tests: New file.
35807         * tests/unistr/test-u16-strcmp.c: New file.
35808         * tests/unistr/test-u16-strcmp.h: New file.
35809
35810         Tests for module 'unistr/u8-strcmp'.
35811         * modules/unistr/u8-strcmp-tests: New file.
35812         * tests/unistr/test-u8-strcmp.c: New file.
35813         * tests/unistr/test-u8-strcmp.h: New file.
35814         * tests/unistr/test-strcmp.h: New file.
35815
35816         Tests for module 'unistr/u32-strncat'.
35817         * modules/unistr/u32-strncat-tests: New file.
35818         * tests/unistr/test-u32-strncat.c: New file.
35819
35820         Tests for module 'unistr/u16-strncat'.
35821         * modules/unistr/u16-strncat-tests: New file.
35822         * tests/unistr/test-u16-strncat.c: New file.
35823
35824         Tests for module 'unistr/u8-strncat'.
35825         * modules/unistr/u8-strncat-tests: New file.
35826         * tests/unistr/test-u8-strncat.c: New file.
35827         * tests/unistr/test-strncat.h: New file.
35828
35829         Tests for module 'unistr/u32-strcat'.
35830         * modules/unistr/u32-strcat-tests: New file.
35831         * tests/unistr/test-u32-strcat.c: New file.
35832
35833         Tests for module 'unistr/u16-strcat'.
35834         * modules/unistr/u16-strcat-tests: New file.
35835         * tests/unistr/test-u16-strcat.c: New file.
35836
35837         Tests for module 'unistr/u8-strcat'.
35838         * modules/unistr/u8-strcat-tests: New file.
35839         * tests/unistr/test-u8-strcat.c: New file.
35840         * tests/unistr/test-strcat.h: New file.
35841
35842         Tests for module 'unistr/u32-stpncpy'.
35843         * modules/unistr/u32-stpncpy-tests: New file.
35844         * tests/unistr/test-u32-stpncpy.c: New file.
35845
35846         Tests for module 'unistr/u16-stpncpy'.
35847         * modules/unistr/u16-stpncpy-tests: New file.
35848         * tests/unistr/test-u16-stpncpy.c: New file.
35849
35850         Tests for module 'unistr/u8-stpncpy'.
35851         * modules/unistr/u8-stpncpy-tests: New file.
35852         * tests/unistr/test-u8-stpncpy.c: New file.
35853         * tests/unistr/test-stpncpy.h: New file.
35854
35855         Tests for module 'unistr/u32-strncpy'.
35856         * modules/unistr/u32-strncpy-tests: New file.
35857         * tests/unistr/test-u32-strncpy.c: New file.
35858
35859         Tests for module 'unistr/u16-strncpy'.
35860         * modules/unistr/u16-strncpy-tests: New file.
35861         * tests/unistr/test-u16-strncpy.c: New file.
35862
35863         Tests for module 'unistr/u8-strncpy'.
35864         * modules/unistr/u8-strncpy-tests: New file.
35865         * tests/unistr/test-u8-strncpy.c: New file.
35866         * tests/unistr/test-strncpy.h: New file.
35867
35868         Tests for module 'unistr/u32-stpcpy'.
35869         * modules/unistr/u32-stpcpy-tests: New file.
35870         * tests/unistr/test-u32-stpcpy.c: New file.
35871
35872         Tests for module 'unistr/u16-stpcpy'.
35873         * modules/unistr/u16-stpcpy-tests: New file.
35874         * tests/unistr/test-u16-stpcpy.c: New file.
35875
35876         Tests for module 'unistr/u8-stpcpy'.
35877         * modules/unistr/u8-stpcpy-tests: New file.
35878         * tests/unistr/test-u8-stpcpy.c: New file.
35879         * tests/unistr/test-stpcpy.h: New file.
35880
35881         Tests for module 'unistr/u32-strcpy'.
35882         * modules/unistr/u32-strcpy-tests: New file.
35883         * tests/unistr/test-u32-strcpy.c: New file.
35884
35885         Tests for module 'unistr/u16-strcpy'.
35886         * modules/unistr/u16-strcpy-tests: New file.
35887         * tests/unistr/test-u16-strcpy.c: New file.
35888
35889         Tests for module 'unistr/u8-strcpy'.
35890         * modules/unistr/u8-strcpy-tests: New file.
35891         * tests/unistr/test-u8-strcpy.c: New file.
35892         * tests/unistr/test-strcpy.h: New file.
35893
35894         Tests for module 'unistr/u32-strnlen'.
35895         * modules/unistr/u32-strnlen-tests: New file.
35896         * tests/unistr/test-u32-strnlen.c: New file.
35897
35898         Tests for module 'unistr/u16-strnlen'.
35899         * modules/unistr/u16-strnlen-tests: New file.
35900         * tests/unistr/test-u16-strnlen.c: New file.
35901
35902         Tests for module 'unistr/u8-strnlen'.
35903         * modules/unistr/u8-strnlen-tests: New file.
35904         * tests/unistr/test-u8-strnlen.c: New file.
35905         * tests/unistr/test-strnlen.h: New file.
35906
35907         Tests for module 'unistr/u32-strlen'.
35908         * modules/unistr/u32-strlen-tests: New file.
35909         * tests/unistr/test-u32-strlen.c: New file.
35910
35911         Tests for module 'unistr/u16-strlen'.
35912         * modules/unistr/u16-strlen-tests: New file.
35913         * tests/unistr/test-u16-strlen.c: New file.
35914
35915         Tests for module 'unistr/u8-strlen'.
35916         * modules/unistr/u8-strlen-tests: New file.
35917         * tests/unistr/test-u8-strlen.c: New file.
35918
35919         Tests for module 'unistr/u32-prev'.
35920         * modules/unistr/u32-prev-tests: New file.
35921         * tests/unistr/test-u32-prev.c: New file.
35922
35923         Tests for module 'unistr/u16-prev'.
35924         * modules/unistr/u16-prev-tests: New file.
35925         * tests/unistr/test-u16-prev.c: New file.
35926
35927         Tests for module 'unistr/u8-prev'.
35928         * modules/unistr/u8-prev-tests: New file.
35929         * tests/unistr/test-u8-prev.c: New file.
35930
35931         Tests for module 'unistr/u32-next'.
35932         * modules/unistr/u32-next-tests: New file.
35933         * tests/unistr/test-u32-next.c: New file.
35934
35935         Tests for module 'unistr/u16-next'.
35936         * modules/unistr/u16-next-tests: New file.
35937         * tests/unistr/test-u16-next.c: New file.
35938
35939         Tests for module 'unistr/u8-next'.
35940         * modules/unistr/u8-next-tests: New file.
35941         * tests/unistr/test-u8-next.c: New file.
35942
35943         Tests for module 'unistr/u32-strmbtouc'.
35944         * modules/unistr/u32-strmbtouc-tests: New file.
35945         * tests/unistr/test-u32-strmbtouc.c: New file.
35946
35947         Tests for module 'unistr/u16-strmbtouc'.
35948         * modules/unistr/u16-strmbtouc-tests: New file.
35949         * tests/unistr/test-u16-strmbtouc.c: New file.
35950
35951         Tests for module 'unistr/u8-strmbtouc'.
35952         * modules/unistr/u8-strmbtouc-tests: New file.
35953         * tests/unistr/test-u8-strmbtouc.c: New file.
35954
35955         Tests for module 'unistr/u32-strmblen'.
35956         * modules/unistr/u32-strmblen-tests: New file.
35957         * tests/unistr/test-u32-strmblen.c: New file.
35958
35959         Tests for module 'unistr/u16-strmblen'.
35960         * modules/unistr/u16-strmblen-tests: New file.
35961         * tests/unistr/test-u16-strmblen.c: New file.
35962
35963         Tests for module 'unistr/u8-strmblen'.
35964         * modules/unistr/u8-strmblen-tests: New file.
35965         * tests/unistr/test-u8-strmblen.c: New file.
35966
35967         Tests for module 'unistr/u32-cpy-alloc'.
35968         * modules/unistr/u32-cpy-alloc-tests: New file.
35969         * tests/unistr/test-u32-cpy-alloc.c: New file.
35970
35971         Tests for module 'unistr/u16-cpy-alloc'.
35972         * modules/unistr/u16-cpy-alloc-tests: New file.
35973         * tests/unistr/test-u16-cpy-alloc.c: New file.
35974
35975         Tests for module 'unistr/u8-cpy-alloc'.
35976         * modules/unistr/u8-cpy-alloc-tests: New file.
35977         * tests/unistr/test-u8-cpy-alloc.c: New file.
35978         * tests/unistr/test-cpy-alloc.h: New file.
35979
35980         Tests for module 'unistr/u32-mbsnlen'.
35981         * modules/unistr/u32-mbsnlen-tests: New file.
35982         * tests/unistr/test-u32-mbsnlen.c: New file.
35983
35984         Tests for module 'unistr/u16-mbsnlen'.
35985         * modules/unistr/u16-mbsnlen-tests: New file.
35986         * tests/unistr/test-u16-mbsnlen.c: New file.
35987
35988         Tests for module 'unistr/u8-mbsnlen'.
35989         * modules/unistr/u8-mbsnlen-tests: New file.
35990         * tests/unistr/test-u8-mbsnlen.c: New file.
35991
35992         Tests for module 'unistr/u32-chr'.
35993         * modules/unistr/u32-chr-tests: New file.
35994         * tests/unistr/test-u32-chr.c: New file.
35995
35996         Tests for module 'unistr/u16-chr'.
35997         * modules/unistr/u16-chr-tests: New file.
35998         * tests/unistr/test-u16-chr.c: New file.
35999
36000         Tests for module 'unistr/u8-chr'.
36001         * modules/unistr/u8-chr-tests: New file.
36002         * tests/unistr/test-u8-chr.c: New file.
36003         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
36004
36005         Tests for module 'unistr/u32-cmp2'.
36006         * modules/unistr/u32-cmp2-tests: New file.
36007         * tests/unistr/test-u32-cmp2.c: New file.
36008
36009         Tests for module 'unistr/u16-cmp2'.
36010         * modules/unistr/u16-cmp2-tests: New file.
36011         * tests/unistr/test-u16-cmp2.c: New file.
36012
36013         Tests for module 'unistr/u8-cmp2'.
36014         * modules/unistr/u8-cmp2-tests: New file.
36015         * tests/unistr/test-u8-cmp2.c: New file.
36016         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
36017
36018         Tests for module 'unistr/u32-cmp'.
36019         * modules/unistr/u32-cmp-tests: New file.
36020         * tests/unistr/test-u32-cmp.c: New file.
36021
36022         Tests for module 'unistr/u16-cmp'.
36023         * modules/unistr/u16-cmp-tests: New file.
36024         * tests/unistr/test-u16-cmp.c: New file.
36025
36026         Tests for module 'unistr/u8-cmp'.
36027         * modules/unistr/u8-cmp-tests: New file.
36028         * tests/unistr/test-u8-cmp.c: New file.
36029         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
36030
36031         Tests for module 'unistr/u32-set'.
36032         * modules/unistr/u32-set-tests: New file.
36033         * tests/unistr/test-u32-set.c: New file.
36034
36035         Tests for module 'unistr/u16-set'.
36036         * modules/unistr/u16-set-tests: New file.
36037         * tests/unistr/test-u16-set.c: New file.
36038
36039         Tests for module 'unistr/u8-set'.
36040         * modules/unistr/u8-set-tests: New file.
36041         * tests/unistr/test-u8-set.c: New file.
36042         * tests/unistr/test-set.h: New file.
36043
36044         Tests for module 'unistr/u32-move'.
36045         * modules/unistr/u32-move-tests: New file.
36046         * tests/unistr/test-u32-move.c: New file.
36047
36048         Tests for module 'unistr/u16-move'.
36049         * modules/unistr/u16-move-tests: New file.
36050         * tests/unistr/test-u16-move.c: New file.
36051
36052         Tests for module 'unistr/u8-move'.
36053         * modules/unistr/u8-move-tests: New file.
36054         * tests/unistr/test-u8-move.c: New file.
36055         * tests/unistr/test-move.h: New file.
36056
36057         Tests for module 'unistr/u32-cpy'.
36058         * modules/unistr/u32-cpy-tests: New file.
36059         * tests/unistr/test-u32-cpy.c: New file.
36060
36061         Tests for module 'unistr/u16-cpy'.
36062         * modules/unistr/u16-cpy-tests: New file.
36063         * tests/unistr/test-u16-cpy.c: New file.
36064
36065         Tests for module 'unistr/u8-cpy'.
36066         * modules/unistr/u8-cpy-tests: New file.
36067         * tests/unistr/test-u8-cpy.c: New file.
36068         * tests/unistr/test-cpy.h: New file.
36069
36070 2010-01-09  Bruno Haible  <bruno@clisp.org>
36071
36072         Tests for module 'unistr/u32-uctomb'.
36073         * modules/unistr/u32-uctomb-tests: New file.
36074         * tests/unistr/test-u32-uctomb.c: New file.
36075
36076         Tests for module 'unistr/u16-uctomb'.
36077         * modules/unistr/u16-uctomb-tests: New file.
36078         * tests/unistr/test-u16-uctomb.c: New file.
36079
36080         Tests for module 'unistr/u8-uctomb'.
36081         * modules/unistr/u8-uctomb-tests: New file.
36082         * tests/unistr/test-u8-uctomb.c: New file.
36083
36084         Tests for module 'unistr/u32-mbtoucr'.
36085         * modules/unistr/u32-mbtoucr-tests: New file.
36086         * tests/unistr/test-u32-mbtoucr.c: New file.
36087
36088         Tests for module 'unistr/u16-mbtoucr'.
36089         * modules/unistr/u16-mbtoucr-tests: New file.
36090         * tests/unistr/test-u16-mbtoucr.c: New file.
36091
36092         Tests for module 'unistr/u8-mbtoucr'.
36093         * modules/unistr/u8-mbtoucr-tests: New file.
36094         * tests/unistr/test-u8-mbtoucr.c: New file.
36095
36096         Tests for module 'unistr/u32-mbtouc'.
36097         * modules/unistr/u32-mbtouc-tests: New file.
36098         * tests/unistr/test-u32-mbtouc.c: New file.
36099
36100         Tests for module 'unistr/u16-mbtouc'.
36101         * modules/unistr/u16-mbtouc-tests: New file.
36102         * tests/unistr/test-u16-mbtouc.c: New file.
36103
36104         Tests for module 'unistr/u8-mbtouc'.
36105         * modules/unistr/u8-mbtouc-tests: New file.
36106         * tests/unistr/test-u8-mbtouc.c: New file.
36107
36108         Tests for module 'unistr/u32-mbtouc-unsafe'.
36109         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
36110         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
36111         * tests/unistr/test-u32-mbtouc.h: New file.
36112
36113         Tests for module 'unistr/u16-mbtouc-unsafe'.
36114         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
36115         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
36116         * tests/unistr/test-u16-mbtouc.h: New file.
36117
36118         Tests for module 'unistr/u8-mbtouc-unsafe'.
36119         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
36120         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
36121         * tests/unistr/test-u8-mbtouc.h: New file.
36122
36123         Tests for module 'unistr/u32-mblen'.
36124         * modules/unistr/u32-mblen-tests: New file.
36125         * tests/unistr/test-u32-mblen.c: New file.
36126
36127         Tests for module 'unistr/u16-mblen'.
36128         * modules/unistr/u16-mblen-tests: New file.
36129         * tests/unistr/test-u16-mblen.c: New file.
36130
36131         Tests for module 'unistr/u8-mblen'.
36132         * modules/unistr/u8-mblen-tests: New file.
36133         * tests/unistr/test-u8-mblen.c: New file.
36134
36135         Tests for module 'unistr/u32-to-u16'.
36136         * modules/unistr/u32-to-u16-tests: New file.
36137         * tests/unistr/test-u32-to-u16.c: New file.
36138
36139         Tests for module 'unistr/u32-to-u8'.
36140         * modules/unistr/u32-to-u8-tests: New file.
36141         * tests/unistr/test-u32-to-u8.c: New file.
36142
36143         Tests for module 'unistr/u16-to-u32'.
36144         * modules/unistr/u16-to-u32-tests: New file.
36145         * tests/unistr/test-u16-to-u32.c: New file.
36146
36147         Tests for module 'unistr/u16-to-u8'.
36148         * modules/unistr/u16-to-u8-tests: New file.
36149         * tests/unistr/test-u16-to-u8.c: New file.
36150
36151         Tests for module 'unistr/u8-to-u32'.
36152         * modules/unistr/u8-to-u32-tests: New file.
36153         * tests/unistr/test-u8-to-u32.c: New file.
36154
36155         Tests for module 'unistr/u8-to-u16'.
36156         * modules/unistr/u8-to-u16-tests: New file.
36157         * tests/unistr/test-u8-to-u16.c: New file.
36158
36159         Tests for module 'unistr/u32-check'.
36160         * modules/unistr/u32-check-tests: New file.
36161         * tests/unistr/test-u32-check.c: New file.
36162
36163         Tests for module 'unistr/u16-check'.
36164         * modules/unistr/u16-check-tests: New file.
36165         * tests/unistr/test-u16-check.c: New file.
36166
36167         Tests for module 'unistr/u8-check'.
36168         * modules/unistr/u8-check-tests: New file.
36169         * tests/unistr/test-u8-check.c: New file.
36170
36171         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
36172         (category_equals): New function.
36173         (main): Add more tests.
36174         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
36175
36176         * tests/unictype/test-bidi_byname.c (main): Add more tests.
36177
36178 2010-01-10  Bruno Haible  <bruno@clisp.org>
36179
36180         unistr/u*-strcoll: Try harder to distinguish different strings.
36181         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
36182         compare s1 and s2 to see if they are different.
36183
36184 2010-01-10  Bruno Haible  <bruno@clisp.org>
36185
36186         unistr/u*-stpncpy: Fix the return value.
36187         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
36188         description of the return value consistent with stpncpy in glibc.
36189         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
36190         written non-NUL unit.
36191
36192 2010-01-10  Bruno Haible  <bruno@clisp.org>
36193
36194         unistr/u*-next: Add missing dependencies.
36195         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
36196         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
36197         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
36198
36199 2010-01-10  Bruno Haible  <bruno@clisp.org>
36200
36201         unistr/u8-mbsnlen: Fix return value for incomplete character.
36202         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
36203         u8_mblen.
36204         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
36205         Remove unistr/u8-mblen.
36206         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
36207         u16_mblen.
36208         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
36209         Remove unistr/u16-mblen.
36210
36211 2010-01-10  Bruno Haible  <bruno@clisp.org>
36212
36213         wchar: Fix compilation error when <wchar.h> is used from coreutils.
36214         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
36215         Reported by Brian Gough <bjg@gnu.org> and
36216         Chris Clayton <chris2553@googlemail.com> via
36217         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
36218
36219 2010-01-09  Bruno Haible  <bruno@clisp.org>
36220
36221         unistr/u16-to-u32: Reject invalid input.
36222         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
36223         u16_mbtouc.
36224         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
36225         Remove unistr/u16-mbtouc.
36226
36227         unistr/u16-to-u8: Reject invalid input.
36228         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
36229         u16_mbtouc.
36230         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
36231         Remove unistr/u16-mbtouc.
36232
36233         unistr/u8-to-u32: Reject invalid input.
36234         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
36235         u8_mbtouc.
36236         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
36237         Remove unistr/u8-mbtouc.
36238
36239         unistr/u8-to-u16: Reject invalid input.
36240         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
36241         u8_mbtouc.
36242         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
36243         Remove unistr/u8-mbtouc.
36244
36245 2010-01-09  Bruno Haible  <bruno@clisp.org>
36246
36247         Tests for module 'getlogin'.
36248         * modules/getlogin-tests: New file.
36249         * tests/test-getlogin.c: New file.
36250
36251         New module 'getlogin'.
36252         * lib/unistd.in.h (getlogin): New declaration.
36253         * lib/getlogin.c: New file.
36254         * m4/getlogin.m4: New file.
36255         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
36256         HAVE_GETLOGIN.
36257         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
36258         HAVE_GETLOGIN.
36259         * modules/getlogin: New file.
36260         * doc/posix-functions/getlogin.texi: Mention the new module.
36261         Reported by John W. Eaton <jwe@gnu.org>.
36262
36263 2010-01-09  Bruno Haible  <bruno@clisp.org>
36264
36265         getlogin_r: Support for native Windows.
36266         * lib/getlogin_r.c: Include <windows.h>
36267         (getlogin_r): Implement for native Windows.
36268         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
36269         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
36270         via John W. Eaton <jwe@gnu.org>.
36271
36272 2010-01-09  Bruno Haible  <bruno@clisp.org>
36273
36274         getlogin_r: Small fixes.
36275         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
36276         succeeds.
36277         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
36278         before testing whether getlogin_r is declared. No need to set
36279         HAVE_DECL_GETLOGIN_R to 1.
36280         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
36281
36282 2010-01-09  Bruno Haible  <bruno@clisp.org>
36283
36284         * lib/unistd.in.h (getlogin_r): Add comment.
36285
36286 2010-01-09  Bruno Haible  <bruno@clisp.org>
36287
36288         Tests for module 'getlogin_r'.
36289         * modules/getlogin_r-tests: New file.
36290         * tests/test-getlogin_r.c: New file.
36291
36292 2010-01-09  Jim Meyering  <meyering@redhat.com>
36293
36294         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
36295         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
36296         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
36297
36298 2010-01-08  Simon Josefsson  <simon@josefsson.org>
36299
36300         * lib/dup2.c (rpl_dup2): Improve comment.
36301
36302 2010-01-08  Eric Blake  <ebb9@byu.net>
36303
36304         maint.mk: allow packages to add makefile @@ exceptions
36305         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
36306         (sc_makefile_check): Rename...
36307         (sc_makefile_at_at_check): ...to this, and use hook.
36308
36309         dup2: work around mingw bug
36310         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
36311         Reported by Simon Josefsson.
36312
36313 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
36314
36315         glob: Fix C++ compilation.
36316         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
36317         C++.
36318
36319 2010-01-07  Bruno Haible  <bruno@clisp.org>
36320
36321         Fix indentation of wctype.in.h, broken since 2007-01-06.
36322         * lib/wctype.in.h: Fix indentation of preprocessor directives.
36323
36324 2010-01-07  Bruno Haible  <bruno@clisp.org>
36325
36326         mbslen: Avoid collision with system function.
36327         * lib/string.in.h [MirBSD]: Include <wchar.h>.
36328         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
36329         * m4/mbslen.m4: New file.
36330         * modules/mbslen (Files): Add it.
36331         (configure.ac): Invoke gl_MBSLEN.
36332         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
36333         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
36334         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
36335         via Ian Beckwith <ianb@erislabs.net>.
36336
36337 2010-01-07  Bruno Haible  <bruno@clisp.org>
36338
36339         dirent: Document the last fix.
36340         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
36341
36342 2010-01-07  Bruno Haible  <bruno@clisp.org>
36343
36344         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
36345         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
36346         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
36347         va_list are defined.
36348         * doc/posix-headers/stdio.texi: Document the bug of missing types.
36349         Reported by Eric Blake.
36350
36351 2010-01-07  Bruno Haible  <bruno@clisp.org>
36352
36353         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
36354         * modules/xlist (Depends-on): Add 'list',
36355         * modules/xoset (Depends-on): Add 'oset'.
36356         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36357
36358 2010-01-07  Bruno Haible  <bruno@clisp.org>
36359
36360         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
36361         * doc/posix-functions/strncasecmp.texi: Likewise.
36362
36363 2010-01-07  Bruno Haible  <bruno@clisp.org>
36364
36365         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
36366
36367 2010-01-07  John W. Eaton  <jwe@octave.org>
36368
36369         wctype: allow C++ use
36370         * lib/wctype.in.h: Add extern "C" block for C++.
36371
36372 2010-01-06  Eric Blake  <ebb9@byu.net>
36373
36374         maint.mk: detect incorrect GFDL usage
36375         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
36376
36377 2010-01-06  Jim Meyering  <meyering@redhat.com>
36378         and Eric Blake  <ebb9@byu.net>
36379
36380         maint.mk: ignore multi-line copyright in NEWS
36381         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
36382
36383 2010-01-06  Eric Blake  <ebb9@byu.net>
36384
36385         select: add missing dependency
36386         * modules/select-tests (Depends-on): Move sockets dependency...
36387         * modules/select (Depends-on): ...here.
36388         Reported by Ian Beckwith.
36389
36390         doc: regenerate INSTALL
36391         * doc/INSTALL: Reflect recent autoconf update.
36392         * doc/INSTALL.ISO: Likewise.
36393         * doc/INSTALL.UTF-8: Likewise.
36394
36395         pread: fix compilation on glibc
36396         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
36397         Reported by Ralf Wildenhues.
36398
36399         dirent: fix test failure
36400         * lib/dirent.in.h (includes): Guarantee ino_t.
36401         Reported by Ralf Wildenhues.
36402
36403 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
36404
36405         linkat, renameat: avoid bad free
36406         * lib/at-func2.c (at_func2): Fix typo.
36407         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
36408
36409 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36410
36411         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
36412         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
36413         to avoid failure of symlink test later.
36414
36415 2010-01-06  Eric Blake  <ebb9@byu.net>
36416
36417         stdio, unistd: guarantee ssize_t
36418         * lib/unistd.in.h (includes): Ensure that types required by POSIX
36419         2008 are exposed when needed.
36420         * lib/stdio.in.h (includes): Likewise.
36421         Reported by Ralf Wildenhues.
36422
36423 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
36424
36425         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
36426         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
36427         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
36428
36429 2010-01-06  Jim Meyering  <meyering@redhat.com>
36430
36431         readtokens: this module *does* require xalloc.h
36432         It uses only functions that were omitted by the old syntax-check rule.
36433         * lib/readtokens.c: Include "xalloc.h" once again.
36434         * modules/readtokens (Depends-on): Add xalloc.
36435         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
36436
36437 2010-01-05  Eric Blake  <ebb9@byu.net>
36438
36439         maint: support 'make announcement' from a VPATH build
36440         * top/maint.mk (announcement): Look for correct NEWS file.
36441
36442 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
36443
36444         utimens (fdutimens): ignore a negative FD, per contract
36445         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
36446         when we have a valid file descriptor.  Otherwise, using a brand
36447         new glibc (with just-patched futimens that now fails with EBADF)
36448         would cause this function to fail with ENOSYS.
36449         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
36450         See also http://bugzilla.redhat.com/552320.
36451
36452 2010-01-05  Eric Blake  <ebb9@byu.net>
36453
36454         strcase: document what it provides
36455         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
36456         gnulib module.
36457         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
36458         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
36459
36460 2010-01-05  Jim Meyering  <meyering@redhat.com>
36461
36462         maint: remove useless inclusions of "xalloc.h"
36463         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
36464         * lib/readtokens.c: Likewise.
36465         * lib/same.c: Likewise.
36466         * modules/getloadavg (Depends-on): Remove xalloc.
36467         * modules/readtokens: Likewise.
36468         * modules/same: Likewise.
36469
36470         maint.mk: include 4 more function names in alloca.h-checking regexp
36471         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
36472         regexp.  Before, we would give a false-positive (saying alloca.h
36473         is included unnecessarily) when the only uses involved omitted symbols.
36474
36475         xalloc.h: use consistent formatting
36476         * lib/xalloc.h: Move declarations to start in the first column.
36477
36478 2010-01-05  Eric Blake  <ebb9@byu.net>
36479
36480         mkdir: avoid xalloc
36481         * lib/mkdir.c (includes): Drop unused header.
36482         Reported by John W. Eaton.
36483
36484 2010-01-04  Jim Meyering  <meyering@redhat.com>
36485
36486         nl_langinfo: avoid configure-time syntax error
36487         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
36488         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
36489         the empty string.  Don't let that provoke a shell syntax error.
36490
36491         regcomp, regexec, fnmatch: avoid array bounds read error
36492         * lib/regcomp.c (build_equiv_class): From glibc:
36493         Use only the low 24 bits of a findidx return value as an index
36494         into the weights array.  Patch by Ulrich Drepper:
36495         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
36496         * lib/regexec.c (check_node_accept_bytes): Likewise.
36497         * lib/fnmatch_loop.c (FCT): Likewise.
36498
36499         regcomp: skip collseq lookup when there are no rules
36500         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
36501         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
36502
36503         regcomp: recognize ill-formed { } expressions
36504         * lib/regcomp.c (parse_dup_op): From glibc:
36505         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
36506
36507         regcomp: fix typo in comment
36508         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
36509         s/satisfy/satisfies/.
36510
36511         regcomp: sync from glibc: remove dead store
36512         * lib/regcomp.c (duplicate_node_closure): Remove useless
36513         search_duplicated_node call and dead store.
36514
36515         regcomp: sync from glibc; always use nl_langinfo
36516         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
36517         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
36518         * modules/regex (Depends-on): Add nl_langinfo.
36519
36520 2010-01-04  Eric Blake  <ebb9@byu.net>
36521
36522         fdopendir: fix configure test
36523         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
36524
36525 2010-01-01  Bruno Haible  <bruno@clisp.org>
36526
36527         wchar: Remove unused configure check.
36528         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
36529
36530 2010-01-01  Eric Blake  <ebb9@byu.net>
36531
36532         headers: make check of system header explicit
36533         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
36534         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
36535         ourselves.
36536         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36537         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36538         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
36539         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
36540         internals.
36541         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
36542         missing.
36543         Suggested by Bruno Haible.
36544
36545 2010-01-01  Jim Meyering  <meyering@redhat.com>
36546
36547         ChangeLog: tweak to eliminate unnecessary copyright line
36548         * ChangeLog: Remove a copyright line that was mistakenly updated
36549         by today's update-copyright run.  Reported by Eric Blake.
36550
36551         test-update-copyright: don't let envvar setting cause test failure
36552         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
36553
36554 2010-01-01  Bruno Haible  <bruno@clisp.org>
36555
36556         localename: Avoid gcc warning.
36557         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
36558         function if it is not used.
36559
36560 2010-01-01  Jim Meyering  <meyering@redhat.com>
36561
36562         update nearly all FSF copyright year lists to include 2010
36563         Use the same procedure as for 2009, outlined in
36564         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
36565
36566         version-etc: set COPYRIGHT_YEAR to 2010
36567         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
36568
36569 2009-12-31  Eric Blake  <ebb9@byu.net>
36570
36571         doc: correct availability of cygwin 1.5.x getopt
36572         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
36573         variables.
36574         * doc/posix-functions/opterr.texi (opterr): Likewise.
36575         * doc/posix-functions/optind.texi (optind): Likewise.
36576         * doc/posix-functions/optopt.texi (optopt): Likewise.
36577         * doc/posix-functions/tzname.texi (tzname): Likewise.
36578
36579         openat: update maintainer
36580         * modules/openat (Maintainer): Add myself.
36581
36582         utimens: avoid shadowing warning
36583         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
36584         buffers into one, to avoid shadowing, as well as avoiding a
36585         redundant stat.
36586         Reported by Jim Meyering.
36587
36588         test-dup2: avoid compiler warning
36589         * tests/test-dup2.c (is_inheritable): Only define if used.
36590
36591 2010-01-01  Bruno Haible  <bruno@clisp.org>
36592
36593         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
36594         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
36595         defined, use wctomb instead of wcrtomb.
36596
36597 2010-01-01  Bruno Haible  <bruno@clisp.org>
36598
36599         iconv: Reject native Solaris iconv.
36600         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
36601         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
36602
36603 2009-12-31  Bruno Haible  <bruno@clisp.org>
36604
36605         * tests/test-signal.c (main): Remove test of 'SIG'.
36606
36607 2009-12-31  Bruno Haible  <bruno@clisp.org>
36608
36609         spawn: Fix incomplete fix.
36610         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36611         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36612         warnings for GNULIB_POSIXCHECK again.
36613         Reported by Eric Blake.
36614
36615 2009-12-31  Bruno Haible  <bruno@clisp.org>
36616
36617         Avoid namespace pollution on glibc systems.
36618         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
36619         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
36620         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
36621         glibc systems.
36622
36623 2009-12-31  Bruno Haible  <bruno@clisp.org>
36624
36625         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
36626         (gl_REPLACE_WCHAR_H): Turn into a no-op.
36627         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
36628         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
36629         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
36630         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
36631         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
36632
36633 2009-12-31  Bruno Haible  <bruno@clisp.org>
36634
36635         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36636         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
36637         afterwards.
36638
36639 2009-12-31  Bruno Haible  <bruno@clisp.org>
36640
36641         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
36642         SYS_UTSNAME_H.
36643
36644 2009-12-31  Bruno Haible  <bruno@clisp.org>
36645
36646         spawn: Fix misapplied patch.
36647         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
36648         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
36649         warnings for GNULIB_POSIXCHECK.
36650
36651 2009-12-31  Bruno Haible  <bruno@clisp.org>
36652
36653         times: Update after sys_times changed.
36654         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
36655         * modules/times (Files): Add it.
36656         (configure.ac): Invoke gl_FUNC_TIMES.
36657
36658 2009-12-31  Bruno Haible  <bruno@clisp.org>
36659
36660         Use AC_C_INLINE where necessary.
36661         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
36662         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
36663         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
36664         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36665         * m4/mbfile.m4 (gl_MBFILE): Likewise.
36666         * m4/mbiter.m4 (gl_MBITER): Likewise.
36667         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36668         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
36669         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
36670         * modules/u64 (configure.ac): Likewise.
36671
36672 2009-12-31  Bruno Haible  <bruno@clisp.org>
36673
36674         Use AC_C_INLINE instead of module 'inline' where possible.
36675         * modules/inline (Description): Clarify purpose.
36676         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
36677         * modules/count-one-bits (Depends-on): Remove inline.
36678         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
36679         * modules/openat (Depends-on): Remove inline.
36680         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
36681         instead of depending on module 'inline'.
36682         * modules/filevercmp (Depends-on, configure.ac): Likewise.
36683         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
36684         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
36685         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
36686         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
36687         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
36688         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
36689         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
36690         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
36691         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
36692         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
36693         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
36694         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
36695         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
36696         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
36697         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
36698         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
36699         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
36700         Likewise.
36701         * modules/unictype/property-ascii-hex-digit (Depends-on,
36702         configure.ac): Likewise.
36703         * modules/unictype/property-bidi-arabic-digit (Depends-on,
36704         configure.ac): Likewise.
36705         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
36706         configure.ac): Likewise.
36707         * modules/unictype/property-bidi-block-separator (Depends-on,
36708         configure.ac): Likewise.
36709         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
36710         configure.ac): Likewise.
36711         * modules/unictype/property-bidi-common-separator (Depends-on,
36712         configure.ac): Likewise.
36713         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
36714         Likewise.
36715         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
36716         configure.ac): Likewise.
36717         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
36718         configure.ac): Likewise.
36719         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
36720         configure.ac): Likewise.
36721         * modules/unictype/property-bidi-european-digit (Depends-on,
36722         configure.ac): Likewise.
36723         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
36724         configure.ac): Likewise.
36725         * modules/unictype/property-bidi-left-to-right (Depends-on,
36726         configure.ac): Likewise.
36727         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
36728         configure.ac): Likewise.
36729         * modules/unictype/property-bidi-other-neutral (Depends-on,
36730         configure.ac): Likewise.
36731         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
36732         Likewise.
36733         * modules/unictype/property-bidi-segment-separator (Depends-on,
36734         configure.ac): Likewise.
36735         * modules/unictype/property-bidi-whitespace (Depends-on,
36736         configure.ac): Likewise.
36737         * modules/unictype/property-combining (Depends-on, configure.ac):
36738         Likewise.
36739         * modules/unictype/property-composite (Depends-on, configure.ac):
36740         Likewise.
36741         * modules/unictype/property-currency-symbol (Depends-on,
36742         configure.ac): Likewise.
36743         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
36744         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
36745         Likewise.
36746         * modules/unictype/property-default-ignorable-code-point (Depends-on,
36747         configure.ac): Likewise.
36748         * modules/unictype/property-deprecated (Depends-on, configure.ac):
36749         Likewise.
36750         * modules/unictype/property-diacritic (Depends-on, configure.ac):
36751         Likewise.
36752         * modules/unictype/property-extender (Depends-on, configure.ac):
36753         Likewise.
36754         * modules/unictype/property-format-control (Depends-on, configure.ac):
36755         Likewise.
36756         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
36757         Likewise.
36758         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
36759         Likewise.
36760         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
36761         Likewise.
36762         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
36763         Likewise.
36764         * modules/unictype/property-hyphen (Depends-on, configure.ac):
36765         Likewise.
36766         * modules/unictype/property-id-continue (Depends-on, configure.ac):
36767         Likewise.
36768         * modules/unictype/property-id-start (Depends-on, configure.ac):
36769         Likewise.
36770         * modules/unictype/property-ideographic (Depends-on, configure.ac):
36771         Likewise.
36772         * modules/unictype/property-ids-binary-operator (Depends-on,
36773         configure.ac): Likewise.
36774         * modules/unictype/property-ids-trinary-operator (Depends-on,
36775         configure.ac): Likewise.
36776         * modules/unictype/property-ignorable-control (Depends-on,
36777         configure.ac): Likewise.
36778         * modules/unictype/property-iso-control (Depends-on, configure.ac):
36779         Likewise.
36780         * modules/unictype/property-join-control (Depends-on, configure.ac):
36781         Likewise.
36782         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
36783         Likewise.
36784         * modules/unictype/property-line-separator (Depends-on, configure.ac):
36785         Likewise.
36786         * modules/unictype/property-logical-order-exception (Depends-on,
36787         configure.ac): Likewise.
36788         * modules/unictype/property-lowercase (Depends-on, configure.ac):
36789         Likewise.
36790         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
36791         * modules/unictype/property-non-break (Depends-on, configure.ac):
36792         Likewise.
36793         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
36794         Likewise.
36795         * modules/unictype/property-numeric (Depends-on, configure.ac):
36796         Likewise.
36797         * modules/unictype/property-other-alphabetic (Depends-on,
36798         configure.ac): Likewise.
36799         * modules/unictype/property-other-default-ignorable-code-point
36800         (Depends-on, configure.ac): Likewise.
36801         * modules/unictype/property-other-grapheme-extend (Depends-on,
36802         configure.ac): Likewise.
36803         * modules/unictype/property-other-id-continue (Depends-on,
36804         configure.ac): Likewise.
36805         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
36806         Likewise.
36807         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
36808         Likewise.
36809         * modules/unictype/property-other-math (Depends-on, configure.ac):
36810         Likewise.
36811         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
36812         Likewise.
36813         * modules/unictype/property-paired-punctuation (Depends-on,
36814         configure.ac): Likewise.
36815         * modules/unictype/property-paragraph-separator (Depends-on,
36816         configure.ac): Likewise.
36817         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
36818         Likewise.
36819         * modules/unictype/property-pattern-white-space (Depends-on,
36820         configure.ac): Likewise.
36821         * modules/unictype/property-private-use (Depends-on, configure.ac):
36822         Likewise.
36823         * modules/unictype/property-punctuation (Depends-on, configure.ac):
36824         Likewise.
36825         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
36826         Likewise.
36827         * modules/unictype/property-radical (Depends-on, configure.ac):
36828         Likewise.
36829         * modules/unictype/property-sentence-terminal (Depends-on,
36830         configure.ac): Likewise.
36831         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
36832         Likewise.
36833         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
36834         * modules/unictype/property-terminal-punctuation (Depends-on,
36835         configure.ac): Likewise.
36836         * modules/unictype/property-titlecase (Depends-on, configure.ac):
36837         Likewise.
36838         * modules/unictype/property-unassigned-code-value (Depends-on,
36839         configure.ac): Likewise.
36840         * modules/unictype/property-unified-ideograph (Depends-on,
36841         configure.ac): Likewise.
36842         * modules/unictype/property-uppercase (Depends-on, configure.ac):
36843         Likewise.
36844         * modules/unictype/property-variation-selector (Depends-on,
36845         configure.ac): Likewise.
36846         * modules/unictype/property-white-space (Depends-on, configure.ac):
36847         Likewise.
36848         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
36849         Likewise.
36850         * modules/unictype/property-xid-start (Depends-on, configure.ac):
36851         Likewise.
36852         * modules/unictype/property-zero-width (Depends-on, configure.ac):
36853         Likewise.
36854         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
36855         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
36856         Likewise.
36857
36858 2009-12-31  Bruno Haible  <bruno@clisp.org>
36859
36860         Remove unnecessary AC_C_INLINE invocation.
36861         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
36862         since 2009-08-21.
36863
36864 2009-12-31  Jim Meyering  <meyering@redhat.com>
36865
36866         maint.mk: don't require explicit gpg_key_ID in cfg.mk
36867         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
36868         With this change, we can all remove the gpg_key_ID = ... definition
36869         from our respective cfg.mk files.
36870
36871         maint.mk: create announcement template in ~/, not in /tmp
36872         * top/maint.mk (emit_upload_commands): Adjust.
36873         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
36874         Remove temporary file, .ci-msg.
36875
36876 2009-12-31  Eric Blake  <ebb9@byu.net>
36877
36878         link-warning: always build headers with link warnings
36879         * modules/arpa_inet (Makefile.am): Always build replacement
36880         header.
36881         * modules/ctype (Makefile.am): Likewise.
36882         * modules/dirent (Makefile.am): Likewise.
36883         * modules/inttypes (Makefile.am): Likewise.
36884         * modules/langinfo (Makefile.am): Likewise.
36885         * modules/locale (Makefile.am): Likewise.
36886         * modules/spawn (Makefile.am): Likewise.
36887         * modules/sys_file (Makefile.am): Likewise.
36888         * modules/sys_ioctl (Makefile.am): Likewise.
36889         * modules/sys_select (Makefile.am): Likewise.
36890         * modules/sys_socket (Makefile.am): Likewise.
36891         * modules/sys_times (Makefile.am): Likewise.
36892         * modules/sys_utsname (Makefile.am): Likewise.
36893         * modules/sys_wait (Makefile.am): Likewise.
36894         * modules/wchar (Makefile.am): Likewise.
36895         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
36896         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
36897         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
36898         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
36899         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
36900         Likewise.
36901         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36902         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36903         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
36904         Likewise.
36905         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
36906         Likewise.
36907         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
36908         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
36909         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
36910         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36911         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36912         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36913         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36914         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
36915         (gl_WCHAR_H_DEFAULTS): Likewise.
36916
36917 2009-12-31  Eric Blake  <ebb9@byu.net>
36918
36919         signal, spawn: use link warnings
36920         * lib/signal.in.h (sigset_t): Make unconditional.
36921         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
36922         (sigpending, sigprocmask, sigaction): Add link warnings.
36923         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
36924         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
36925         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
36926         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
36927         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
36928         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
36929         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
36930         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
36931         (posix_spawn_file_actions_destroy)
36932         (posix_spawn_file_actions_addopen)
36933         (posix_spawn_file_actions_addclose)
36934         (posix_spawn_file_actions_adddup2): Likewise.
36935         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
36936         * tests/test-signal.c (main): Enhance test.
36937
36938         spawn: improve wrapper support
36939         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
36940         (gl_SPAWN_H_DEFAULTS): New defaults.
36941         * modules/spawn (Makefile.am): Substitute them.
36942         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
36943         Only declare if missing or broken.
36944
36945         sys_times, sys_utsname: use include_next
36946         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
36947         header.
36948         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
36949         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
36950         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
36951         * modules/sys_times (Depends-on): Add include_next.
36952         (Makefile.am): Substitute additional values.
36953         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36954         * lib/sys_times.in.h (includes): Include native header, if
36955         available.
36956         * lib/sys_utsname.in.h (includes): Likewise.
36957         * tests/test-sys_times.c (main): Enhance test.
36958
36959         fdutimensat: revert prior patch
36960         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
36961         utimens.h.
36962         Reported by Bruno Haible.
36963
36964 2009-12-30  Eric Blake  <ebb9@byu.net>
36965
36966         sys_wait: drop link-warning dependency
36967         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
36968         link-warning efforts.
36969         * lib/sys_wait.in.h: Likewise.
36970
36971         fdutimensat: remove bogus dependency
36972         * modules/fdutimensat (Depends-on): Drop inline.
36973
36974         unistd: fix typo
36975         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
36976
36977 2009-12-30  Bruno Haible  <bruno@clisp.org>
36978
36979         Fix compilation error with Solaris cc.
36980         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
36981         * lib/unicase/u16-is-invariant.c: Likewise.
36982         * lib/unicase/u32-is-invariant.c: Likewise.
36983         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
36984
36985 2009-12-30  Bruno Haible  <bruno@clisp.org>
36986
36987         Fix test crash.
36988         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
36989         locales.
36990         Reported by Simon Josefsson <simon@josefsson.org>.
36991
36992 2009-12-30  Bruno Haible  <bruno@clisp.org>
36993
36994         Fix compilation error on most platforms.
36995         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
36996         Reported by Simon Josefsson <simon@josefsson.org>
36997         and Nelson H. F. Beebe <beebe@math.utah.edu>.
36998
36999 2009-12-30  Eric Blake  <ebb9@byu.net>
37000
37001         futimens, utimensat: work around ntfs-3g bug
37002         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
37003         a ctime bug is present, and expand workaround to cover ntfs-3g.
37004         * lib/utimens.c (fdutimens, lutimens): Likewise.
37005         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
37006         (validate_timespec): Adjust return value.
37007         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
37008         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37009         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
37010
37011 2009-12-29  Eric Blake  <ebb9@byu.net>
37012
37013         link-warning: make usage consistent
37014         * modules/ctype (Depends-on): Add link-warning.
37015         (Makefile.am): Update rules accordingly.
37016         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37017         * modules/locale (Depends-on, Makefile.am): Likewise.
37018         * modules/sys_file (Makefile.am): Likewise.
37019         * modules/getopt-posix (Makefile.am): Delete unused link warning
37020         efforts.
37021         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
37022         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
37023         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
37024         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
37025
37026         stdio: remove unused variables
37027         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
37028         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
37029         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
37030
37031         tests: test more substitute headers
37032         * modules/ctype-tests: New file.
37033         * modules/dirent-tests: Likewise.
37034         * modules/spawn-tests: Likewise.
37035         * modules/sys_file-tests: Likewise.
37036         * modules/sys_ioctl-tests: Likewise.
37037         * modules/sys_wait-tests: Likewise.
37038         * tests/test-ctype.c: Likewise.
37039         * tests/test-dirent.c: Likewise.
37040         * tests/test-spawn.c: Likewise.
37041         * tests/test-sys_file.c: Likewise.
37042         * tests/test-sys_ioctl.c: Likewise.
37043         * tests/test-sys_wait.c: Likewise.
37044         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
37045         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
37046         whether or not flock is in use.
37047
37048         tests: remove License section from module
37049         * modules/arpa_inet-tests: Remove unneeded section.
37050         * modules/byteswap-tests: Likewise.
37051         * modules/ceilf-tests: Likewise.
37052         * modules/ceill-tests: Likewise.
37053         * modules/crypto/des-tests: Likewise.
37054         * modules/crypto/gc-arcfour-tests: Likewise.
37055         * modules/crypto/gc-arctwo-tests: Likewise.
37056         * modules/crypto/gc-des-tests: Likewise.
37057         * modules/crypto/gc-hmac-md5-tests: Likewise.
37058         * modules/crypto/gc-hmac-sha1-tests: Likewise.
37059         * modules/crypto/gc-md2-tests: Likewise.
37060         * modules/crypto/gc-md4-tests: Likewise.
37061         * modules/crypto/gc-md5-tests: Likewise.
37062         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
37063         * modules/crypto/gc-rijndael-tests: Likewise.
37064         * modules/crypto/gc-sha1-tests: Likewise.
37065         * modules/crypto/gc-tests: Likewise.
37066         * modules/crypto/md2-tests: Likewise.
37067         * modules/crypto/md4-tests: Likewise.
37068         * modules/fcntl-h-tests: Likewise.
37069         * modules/floorf-tests: Likewise.
37070         * modules/floorl-tests: Likewise.
37071         * modules/frexp-nolibm-tests: Likewise.
37072         * modules/frexp-tests: Likewise.
37073         * modules/frexpl-nolibm-tests: Likewise.
37074         * modules/frexpl-tests: Likewise.
37075         * modules/getaddrinfo-tests: Likewise.
37076         * modules/inttypes-tests: Likewise.
37077         * modules/isfinite-tests: Likewise.
37078         * modules/isinf-tests: Likewise.
37079         * modules/ldexpl-tests: Likewise.
37080         * modules/locale-tests: Likewise.
37081         * modules/math-tests: Likewise.
37082         * modules/netdb-tests: Likewise.
37083         * modules/netinet_in-tests: Likewise.
37084         * modules/printf-frexp-tests: Likewise.
37085         * modules/printf-frexpl-tests: Likewise.
37086         * modules/priv-set-tests: Likewise.
37087         * modules/random_r-tests: Likewise.
37088         * modules/round-tests: Likewise.
37089         * modules/roundf-tests: Likewise.
37090         * modules/roundl-tests: Likewise.
37091         * modules/search-tests: Likewise.
37092         * modules/select-tests: Likewise.
37093         * modules/signal-tests: Likewise.
37094         * modules/stdbool-tests: Likewise.
37095         * modules/stddef-tests: Likewise.
37096         * modules/stdint-tests: Likewise.
37097         * modules/stdio-tests: Likewise.
37098         * modules/stdlib-tests: Likewise.
37099         * modules/string-tests: Likewise.
37100         * modules/strings-tests: Likewise.
37101         * modules/sys_select-tests: Likewise.
37102         * modules/sys_socket-tests: Likewise.
37103         * modules/sys_stat-tests: Likewise.
37104         * modules/sys_time-tests: Likewise.
37105         * modules/sys_utsname-tests: Likewise.
37106         * modules/sysexits-tests: Likewise.
37107         * modules/time-tests: Likewise.
37108         * modules/trunc-tests: Likewise.
37109         * modules/truncf-tests: Likewise.
37110         * modules/truncl-tests: Likewise.
37111         * modules/tsearch-tests: Likewise.
37112         * modules/unistd-tests: Likewise.
37113         * modules/wchar-tests: Likewise.
37114         * modules/wctype-tests: Likewise.
37115
37116         tests: fix license on several tests
37117         * tests/test-des.c: Update to GPLv3+.
37118         * tests/test-flock.c: Likewise.
37119         * tests/test-fsync.c: Likewise.
37120         * tests/test-futimens.h: Likewise.
37121         * tests/test-gc-arcfour.c: Likewise.
37122         * tests/test-gc-arctwo.c: Likewise.
37123         * tests/test-gc-des.c: Likewise.
37124         * tests/test-gc-hmac-md5.c: Likewise.
37125         * tests/test-gc-hmac-sha1.c: Likewise.
37126         * tests/test-gc-md2.c: Likewise.
37127         * tests/test-gc-md4.c: Likewise.
37128         * tests/test-gc-md5.c: Likewise.
37129         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37130         * tests/test-gc-rijndael.c: Likewise.
37131         * tests/test-gc-sha1.c: Likewise.
37132         * tests/test-gc.c: Likewise.
37133         * tests/test-getcwd.c: Likewise.
37134         * tests/test-link.c: Likewise.
37135         * tests/test-link.h: Likewise.
37136         * tests/test-lutimens.h: Likewise.
37137         * tests/test-md2.c: Likewise.
37138         * tests/test-md4.c: Likewise.
37139         * tests/test-mkdir.h: Likewise.
37140         * tests/test-rename.c: Likewise.
37141         * tests/test-rename.h: Likewise.
37142         * tests/test-safe-alloc.c: Likewise.
37143         * tests/test-utimens-common.h: Likewise.
37144         * tests/test-utimens.h: Likewise.
37145
37146         maint: sync license texts
37147         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
37148         * doc/gpl-3.0.texi: Revert copyright year update.
37149         * doc/lgpl-3.0.texi: Likewise.
37150
37151 2009-12-29  Jim Meyering  <meyering@redhat.com>
37152
37153         update nearly all FSF copyright year lists to include 2009
37154         The files named by the following are exempted:
37155             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
37156               test -f "$dst" && { echo "$dst"; continue; }
37157               test -d "$dst" || continue
37158               echo "$dst"/$(basename "$src")
37159             done > exempt
37160             git ls-files tests/unictype >> exempt
37161         In the remaining files, convert to all-interval notation if
37162         - there is already at least one year interval like 2000-2003
37163         - the file is maintained by me
37164         - the file is in lib/uni*/, where that style already prevails
37165         Otherwise, use update-copyright's default.
37166
37167 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37168         and Eric Blake  <ebb9@byu.net>
37169
37170         tests: don't require debug system() to pass
37171         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
37172         * tests/test-rmdir.h (test_rmdir_func): Likewise.
37173         * tests/test-unlink.h (test_unlink_func): Likewise.
37174         * tests/test-fstatat.c (main): ...into callers.
37175         * tests/test-lstat.c (main): Likewise.
37176         * tests/test-rmdir.c (main): Likewise.
37177         * tests/test-unlink.c (main): Likewise.
37178         * tests/test-unlinkat.c (main): Likewise.
37179         * tests/test-areadlink-with-size.c (main): Don't require a
37180         debug-only system call to pass, aiding cross-testing to mingw.
37181         * tests/test-areadlink.c (main): Likewise.
37182         * tests/test-areadlinkat-with-size.c (main): Likewise.
37183         * tests/test-areadlinkat.c (main): Likewise.
37184         * tests/test-canonicalize-lgpl.c (main): Likewise.
37185         * tests/test-canonicalize.c (main): Likewise.
37186         * tests/test-chown.c (main): Likewise.
37187         * tests/test-fchownat.c (main): Likewise.
37188         * tests/test-lchown.c (main): Likewise.
37189         * tests/test-fdutimensat.c (main): Likewise.
37190         * tests/test-futimens.c (main): Likewise.
37191         * tests/test-link.c (main): Likewise.
37192         * tests/test-linkat.c (main): Likewise.
37193         * tests/test-mkdir.c (main): Likewise.
37194         * tests/test-mkdirat.c (main): Likewise.
37195         * tests/test-mkfifo.c (main): Likewise.
37196         * tests/test-mkfifoat.c (main): Likewise.
37197         * tests/test-mknod.c (main): Likewise.
37198         * tests/test-readlink.c (main): Likewise.
37199         * tests/test-remove.c (main): Likewise.
37200         * tests/test-rename.c (main): Likewise.
37201         * tests/test-renameat.c (main): Likewise.
37202         * tests/test-symlink.c (main): Likewise.
37203         * tests/test-symlinkat.c (main): Likewise.
37204         * tests/test-utimens.c (main): Likewise.
37205         * tests/test-utimensat.c (main): Likewise.
37206
37207 2009-12-29  Simon Josefsson  <simon@josefsson.org>
37208
37209         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
37210         on $(UNUSED_PARAMETER_H) to avoid build failure.
37211
37212 2009-12-28  Jim Meyering  <meyering@redhat.com>
37213
37214         update-copyright: you may specify a max. line length other than 72
37215         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37216
37217         maint: use consistent FSF copyright line syntax
37218         * lib/posixtm.c: Add missing comma in FSF copyright line.
37219         * lib/posixtm.h: Likewise.
37220         * lib/getugroups.c: Add missing ", Inc.".
37221
37222         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
37223         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
37224         FSF copyright line.  Remove trailing blanks.
37225
37226 2009-12-28  Eric Blake  <ebb9@byu.net>
37227
37228         test-dup2: reduce dependencies
37229         * modules/cloexec (Configure.ac): Set witness.
37230         * modules/dup2-tests (Depends-on): Drop cloexec.
37231         * tests/test-dup2.c (main): Skip portion of test if cloexec module
37232         not present.
37233         Suggested by Bruno Haible.
37234
37235 2009-12-26  Bruno Haible  <bruno@clisp.org>
37236
37237         Remove an unneeded dependency.
37238         * modules/fseterr (Depends-on): Remove dup2.
37239
37240 2009-12-26  Eric Blake  <ebb9@byu.net>
37241
37242         tests: use macros.h in more places
37243         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
37244         (ASSERT_STREAM): Provide default of stderr.
37245         * tests/test-dirent-safer.c: Include macros.h, using alternate
37246         stream for assertions.
37247         * tests/test-dup-safer.c: Likewise.
37248         * tests/test-freopen-safer.c: Likewise.
37249         * tests/test-getopt.c: Likewise.
37250         * tests/test-openat-safer.c: Likewise.
37251         * tests/test-pipe.c: Likewise.
37252         * tests/test-popen-safer.c: Likewise.
37253         * modules/dirent-safer-tests (Files): Include macros.h.
37254         * modules/unistd-safer-tests (Files): Likewise.
37255         * modules/freopen-safer-tests (Files): Likewise.
37256         * modules/getopt-posix-tests (Files): Likewise.
37257         * modules/openat-safer-tests (Files): Likewise.
37258         * modules/pipe-tests (Files): Likewise.
37259
37260 2009-12-26  Bruno Haible  <bruno@clisp.org>
37261
37262         javacomp: Portability fix.
37263         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
37264         that it also works on Solaris.
37265
37266 2009-12-26  Bruno Haible  <bruno@clisp.org>
37267
37268         localename: Fix storage allocation of gl_locale_name_thread's result.
37269         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
37270         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
37271         all platforms that have 'uselocale'.
37272         (gl_locale_name_thread_unsafe): New function, extracted from
37273         gl_locale_name_thread.
37274         (gl_locale_name_thread): Call struniq on all platforms that have
37275         'uselocale'.
37276         * tests/test-localename.c (test_locale_name_thread): Check that the
37277         resulting strings are permanently allocated.
37278         * modules/localename-tests (Depends-on): Add strdup.
37279
37280 2009-12-26  Bruno Haible  <bruno@clisp.org>
37281
37282         * tests/test-localename.c (categories): Fill in the strings.
37283
37284 2009-12-26  Jim Meyering  <meyering@redhat.com>
37285
37286         isdir: complete the removal of m4/isdir.m4
37287         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
37288
37289         isdir: clean up, since at least grep still uses it
37290         * lib/isdir.c: Include "isdir.h".
37291         (S_ISDIR): Remove now-unneeded definition.
37292         * modules/isdir (Files): Add lib/isdir.h.
37293         * lib/isdir.h: New file, with declaration.
37294         * m4/isdir.m4: Remove file -- unneeded.
37295
37296 2009-12-25  Bruno Haible  <bruno@clisp.org>
37297
37298         selinux-h: Make generated .h files standalone.
37299         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
37300         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
37301         * lib/se-selinux.in.h: Likewise.
37302         * modules/selinux-h (Depends-on): Add unused-parameter.
37303         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
37304         selinux/selinux.h and selinux/context.h.
37305         Suggested by Eric Blake.
37306
37307 2009-12-25  Bruno Haible  <bruno@clisp.org>
37308
37309         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
37310         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
37311         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
37312         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
37313         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
37314
37315 2009-12-24  Bruno Haible  <bruno@clisp.org>
37316
37317         openat: Fix warning.
37318         * lib/openat-proc.c: Include <unistd.h>.
37319
37320 2009-12-24  Bruno Haible  <bruno@clisp.org>
37321
37322         New module 'unused-parameter'.
37323         * build-aux/unused-parameter.h: New file, extracted from earlier
37324         gnulib-common.m4.
37325         * modules/unused-parameter: New file.
37326         * lib/unistr.h: Include unused-parameter.h.
37327         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
37328         _GL_UNUSED.
37329         * modules/unistr/base (Depends-on): Add unused-parameter.
37330
37331 2009-12-24  Bruno Haible  <bruno@clisp.org>
37332
37333         Add missing dependencies to 'extensions' module.
37334         * m4/extensions.m4: Add comment.
37335         * modules/accept4 (Depends-on): Add extensions.
37336         * modules/dup3 (Depends-on): Likewise.
37337         * modules/fcntl (Depends-on): Likewise.
37338         * modules/futimens (Depends-on): Likewise.
37339         * modules/mknod (Depends-on): Likewise.
37340         * modules/pipe2 (Depends-on): Likewise.
37341         * modules/stat-time (Depends-on): Likewise.
37342         * modules/strcasestr-simple (Depends-on): Likewise.
37343         * modules/strsignal (Depends-on): Likewise.
37344         * modules/utimensat (Depends-on): Likewise.
37345         * modules/localcharset (Depends-on): Likewise. Needed because of
37346         gl_FCNTL_O_FLAGS.
37347         * modules/wcrtomb (Depends-on): Likewise. Needed because of
37348         AC_TYPE_MBSTATE_T.
37349         * modules/wcsnrtombs (Depends-on): Likewise.
37350         * modules/wcsrtombs (Depends-on): Likewise.
37351
37352 2009-12-24  Bruno Haible  <bruno@clisp.org>
37353
37354         binary-io: Avoid gcc warning due to SET_BINARY.
37355         * lib/binary-io.h (SET_BINARY): Cast the result to void.
37356         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
37357
37358 2009-12-24  Bruno Haible  <bruno@clisp.org>
37359
37360         Avoid future namespace pollution on glibc systems.
37361         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
37362         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
37363         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
37364         glibc systems.
37365
37366 2009-12-24  Bruno Haible  <bruno@clisp.org>
37367
37368         Refactor common macros used in tests.
37369         * tests/macros.h: New file.
37370         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
37371         and/or <stdlib.h>, if appropriate.
37372         (ASSERT, SIZEOF): Remove macros.
37373         * tests/test-areadlink-with-size.c: Likewise.
37374         * tests/test-areadlinkat.c: Likewise.
37375         * tests/test-areadlinkat-with-size.c: Likewise.
37376         * tests/test-argmatch.c: Likewise.
37377         * tests/test-argv-iter.c: Likewise.
37378         * tests/test-array-mergesort.c: Likewise.
37379         * tests/test-array_list.c: Likewise.
37380         * tests/test-array_oset.c: Likewise.
37381         * tests/test-avltree_list.c: Likewise.
37382         * tests/test-avltree_oset.c: Likewise.
37383         * tests/test-avltreehash_list.c: Likewise.
37384         * tests/test-base64.c: Likewise.
37385         * tests/test-binary-io.c: Likewise.
37386         * tests/test-bitrotate.c: Likewise.
37387         * tests/test-btowc.c: Likewise.
37388         * tests/test-byteswap.c: Likewise.
37389         * tests/test-c-ctype.c: Likewise.
37390         * tests/test-c-stack.c: Likewise.
37391         * tests/test-c-strcasecmp.c: Likewise.
37392         * tests/test-c-strcasestr.c: Likewise.
37393         * tests/test-c-strncasecmp.c: Likewise.
37394         * tests/test-c-strstr.c: Likewise.
37395         * tests/test-canonicalize-lgpl.c: Likewise.
37396         * tests/test-canonicalize.c: Likewise.
37397         * tests/test-carray_list.c: Likewise.
37398         * tests/test-ceilf1.c: Likewise.
37399         * tests/test-ceilf2.c: Likewise.
37400         * tests/test-ceill.c: Likewise.
37401         * tests/test-chown.c: Likewise.
37402         * tests/test-cloexec.c: Likewise.
37403         * tests/test-copy-acl.c: Likewise.
37404         * tests/test-copy-file.c: Likewise.
37405         * tests/test-count-one-bits.c: Likewise.
37406         * tests/test-dprintf-posix.c: Likewise.
37407         * tests/test-dup2.c: Likewise.
37408         * tests/test-dup3.c: Likewise.
37409         * tests/test-duplocale.c: Likewise.
37410         * tests/test-fbufmode.c: Likewise.
37411         * tests/test-fchdir.c: Likewise.
37412         * tests/test-fchownat.c: Likewise.
37413         * tests/test-fcntl-safer.c: Likewise.
37414         * tests/test-fcntl.c: Likewise.
37415         * tests/test-fdopendir.c: Likewise.
37416         * tests/test-fdutimensat.c: Likewise.
37417         * tests/test-fflush2.c: Likewise.
37418         * tests/test-file-has-acl.c: Likewise.
37419         * tests/test-filevercmp.c: Likewise.
37420         * tests/test-flock.c: Likewise.
37421         * tests/test-floorf1.c: Likewise.
37422         * tests/test-floorf2.c: Likewise.
37423         * tests/test-floorl.c: Likewise.
37424         * tests/test-fnmatch.c: Likewise.
37425         * tests/test-fopen.h: Likewise.
37426         * tests/test-fpending.c: Likewise.
37427         * tests/test-fprintf-posix.c: Likewise.
37428         * tests/test-fpurge.c: Likewise.
37429         * tests/test-freadable.c: Likewise.
37430         * tests/test-freadahead.c: Likewise.
37431         * tests/test-freading.c: Likewise.
37432         * tests/test-freadptr.c: Likewise.
37433         * tests/test-freadptr2.c: Likewise.
37434         * tests/test-freadseek.c: Likewise.
37435         * tests/test-freopen.c: Likewise.
37436         * tests/test-frexp.c: Likewise.
37437         * tests/test-frexpl.c: Likewise.
37438         * tests/test-fseek.c: Likewise.
37439         * tests/test-fseeko.c: Likewise.
37440         * tests/test-fstatat.c: Likewise.
37441         * tests/test-fstrcmp.c: Likewise.
37442         * tests/test-fsync.c: Likewise.
37443         * tests/test-ftell.c: Likewise.
37444         * tests/test-ftello.c: Likewise.
37445         * tests/test-func.c: Likewise.
37446         * tests/test-futimens.c: Likewise.
37447         * tests/test-fwritable.c: Likewise.
37448         * tests/test-fwriting.c: Likewise.
37449         * tests/test-getcwd.c: Likewise.
37450         * tests/test-getdate.c: Likewise.
37451         * tests/test-getdelim.c: Likewise.
37452         * tests/test-getdtablesize.c: Likewise.
37453         * tests/test-getgroups.c: Likewise.
37454         * tests/test-getline.c: Likewise.
37455         * tests/test-getndelim2.c: Likewise.
37456         * tests/test-glob.c: Likewise.
37457         * tests/test-hash.c: Likewise.
37458         * tests/test-i-ring.c: Likewise.
37459         * tests/test-iconv-utf.c: Likewise.
37460         * tests/test-iconv.c: Likewise.
37461         * tests/test-idpriv-drop.c: Likewise.
37462         * tests/test-idpriv-droptemp.c: Likewise.
37463         * tests/test-inet_ntop.c: Likewise.
37464         * tests/test-inet_pton.c: Likewise.
37465         * tests/test-isblank.c: Likewise.
37466         * tests/test-isfinite.c: Likewise.
37467         * tests/test-isinf.c: Likewise.
37468         * tests/test-isnan.c: Likewise.
37469         * tests/test-isnand.h: Likewise.
37470         * tests/test-isnanf.h: Likewise.
37471         * tests/test-isnanl.h: Likewise.
37472         * tests/test-lchown.c: Likewise.
37473         * tests/test-ldexpl.c: Likewise.
37474         * tests/test-link.c: Likewise.
37475         * tests/test-linkat.c: Likewise.
37476         * tests/test-linked_list.c: Likewise.
37477         * tests/test-linkedhash_list.c: Likewise.
37478         * tests/test-localename.c: Likewise.
37479         * tests/test-lseek.c: Likewise.
37480         * tests/test-lstat.c: Likewise.
37481         * tests/test-mbmemcasecmp.c: Likewise.
37482         * tests/test-mbmemcasecoll.c: Likewise.
37483         * tests/test-mbrtowc.c: Likewise.
37484         * tests/test-mbscasecmp.c: Likewise.
37485         * tests/test-mbscasestr1.c: Likewise.
37486         * tests/test-mbscasestr2.c: Likewise.
37487         * tests/test-mbscasestr3.c: Likewise.
37488         * tests/test-mbscasestr4.c: Likewise.
37489         * tests/test-mbschr.c: Likewise.
37490         * tests/test-mbscspn.c: Likewise.
37491         * tests/test-mbsinit.c: Likewise.
37492         * tests/test-mbsncasecmp.c: Likewise.
37493         * tests/test-mbsnrtowcs.c: Likewise.
37494         * tests/test-mbspbrk.c: Likewise.
37495         * tests/test-mbspcasecmp.c: Likewise.
37496         * tests/test-mbsrchr.c: Likewise.
37497         * tests/test-mbsrtowcs.c: Likewise.
37498         * tests/test-mbsspn.c: Likewise.
37499         * tests/test-mbsstr1.c: Likewise.
37500         * tests/test-mbsstr2.c: Likewise.
37501         * tests/test-mbsstr3.c: Likewise.
37502         * tests/test-memchr.c: Likewise.
37503         * tests/test-memchr2.c: Likewise.
37504         * tests/test-memcmp.c: Likewise.
37505         * tests/test-memmem.c: Likewise.
37506         * tests/test-memrchr.c: Likewise.
37507         * tests/test-mkdir.c: Likewise.
37508         * tests/test-mkdirat.c: Likewise.
37509         * tests/test-mkfifo.c: Likewise.
37510         * tests/test-mkfifoat.c: Likewise.
37511         * tests/test-mknod.c: Likewise.
37512         * tests/test-nanosleep.c: Likewise.
37513         * tests/test-nl_langinfo.c: Likewise.
37514         * tests/test-obstack-printf.c: Likewise.
37515         * tests/test-open.c: Likewise.
37516         * tests/test-openat.c: Likewise.
37517         * tests/test-pipe-filter-gi1.c: Likewise.
37518         * tests/test-pipe-filter-gi2-main.c: Likewise.
37519         * tests/test-pipe-filter-ii1.c: Likewise.
37520         * tests/test-pipe-filter-ii2-main.c: Likewise.
37521         * tests/test-pipe2.c: Likewise.
37522         * tests/test-popen.h: Likewise.
37523         * tests/test-posixtm.c: Likewise.
37524         * tests/test-pread.c: Likewise.
37525         * tests/test-printf-frexp.c: Likewise.
37526         * tests/test-printf-frexpl.c: Likewise.
37527         * tests/test-printf-posix.c: Likewise.
37528         * tests/test-priv-set.c: Likewise.
37529         * tests/test-quotearg.c: Likewise.
37530         * tests/test-random_r.c: Likewise.
37531         * tests/test-rawmemchr.c: Likewise.
37532         * tests/test-rbtree_list.c: Likewise.
37533         * tests/test-rbtree_oset.c: Likewise.
37534         * tests/test-rbtreehash_list.c: Likewise.
37535         * tests/test-readlink.c: Likewise.
37536         * tests/test-remove.c: Likewise.
37537         * tests/test-rename.c: Likewise.
37538         * tests/test-renameat.c: Likewise.
37539         * tests/test-rmdir.c: Likewise.
37540         * tests/test-round1.c: Likewise.
37541         * tests/test-roundf1.c: Likewise.
37542         * tests/test-roundl.c: Likewise.
37543         * tests/test-safe-alloc.c: Likewise.
37544         * tests/test-sameacls.c: Likewise.
37545         * tests/test-set-mode-acl.c: Likewise.
37546         * tests/test-setenv.c: Likewise.
37547         * tests/test-sigaction.c: Likewise.
37548         * tests/test-signbit.c: Likewise.
37549         * tests/test-sleep.c: Likewise.
37550         * tests/test-snprintf-posix.c: Likewise.
37551         * tests/test-snprintf.c: Likewise.
37552         * tests/test-sprintf-posix.c: Likewise.
37553         * tests/test-stat-time.c: Likewise.
37554         * tests/test-stat.c: Likewise.
37555         * tests/test-strcasestr.c: Likewise.
37556         * tests/test-strchrnul.c: Likewise.
37557         * tests/test-strerror.c: Likewise.
37558         * tests/test-striconv.c: Likewise.
37559         * tests/test-striconveh.c: Likewise.
37560         * tests/test-striconveha.c: Likewise.
37561         * tests/test-strsignal.c: Likewise.
37562         * tests/test-strstr.c: Likewise.
37563         * tests/test-strtod.c: Likewise.
37564         * tests/test-strverscmp.c: Likewise.
37565         * tests/test-symlink.c: Likewise.
37566         * tests/test-symlinkat.c: Likewise.
37567         * tests/test-trunc1.c: Likewise.
37568         * tests/test-trunc2.c: Likewise.
37569         * tests/test-truncf1.c: Likewise.
37570         * tests/test-truncf2.c: Likewise.
37571         * tests/test-truncl.c: Likewise.
37572         * tests/test-uname.c: Likewise.
37573         * tests/test-unlink.c: Likewise.
37574         * tests/test-unlinkat.c: Likewise.
37575         * tests/test-unsetenv.c: Likewise.
37576         * tests/test-usleep.c: Likewise.
37577         * tests/test-utimens.c: Likewise.
37578         * tests/test-utimensat.c: Likewise.
37579         * tests/test-vasnprintf-posix.c: Likewise.
37580         * tests/test-vasnprintf-posix2.c: Likewise.
37581         * tests/test-vasnprintf.c: Likewise.
37582         * tests/test-vasprintf-posix.c: Likewise.
37583         * tests/test-vasprintf.c: Likewise.
37584         * tests/test-vdprintf-posix.c: Likewise.
37585         * tests/test-vfprintf-posix.c: Likewise.
37586         * tests/test-vprintf-posix.c: Likewise.
37587         * tests/test-vsnprintf-posix.c: Likewise.
37588         * tests/test-vsnprintf.c: Likewise.
37589         * tests/test-vsprintf-posix.c: Likewise.
37590         * tests/test-wcrtomb.c: Likewise.
37591         * tests/test-wcsnrtombs.c: Likewise.
37592         * tests/test-wcsrtombs.c: Likewise.
37593         * tests/test-wctype.c: Likewise.
37594         * tests/test-wcwidth.c: Likewise.
37595         * tests/test-xfprintf-posix.c: Likewise.
37596         * tests/test-xmemdup0.c: Likewise.
37597         * tests/test-xprintf-posix.c: Likewise.
37598         * tests/test-xvasprintf.c: Likewise.
37599         * tests/unicase/test-locale-language.c: Likewise.
37600         * tests/unicase/test-mapping-part1.h: Likewise.
37601         * tests/unicase/test-predicate-part1.h: Likewise.
37602         * tests/unicase/test-u8-casecmp.c: Likewise.
37603         * tests/unicase/test-u8-casecoll.c: Likewise.
37604         * tests/unicase/test-u8-casefold.c: Likewise.
37605         * tests/unicase/test-u8-is-cased.c: Likewise.
37606         * tests/unicase/test-u8-is-casefolded.c: Likewise.
37607         * tests/unicase/test-u8-is-lowercase.c: Likewise.
37608         * tests/unicase/test-u8-is-titlecase.c: Likewise.
37609         * tests/unicase/test-u8-is-uppercase.c: Likewise.
37610         * tests/unicase/test-u8-tolower.c: Likewise.
37611         * tests/unicase/test-u8-totitle.c: Likewise.
37612         * tests/unicase/test-u8-toupper.c: Likewise.
37613         * tests/unicase/test-u16-casecmp.c: Likewise.
37614         * tests/unicase/test-u16-casecoll.c: Likewise.
37615         * tests/unicase/test-u16-casefold.c: Likewise.
37616         * tests/unicase/test-u16-is-cased.c: Likewise.
37617         * tests/unicase/test-u16-is-casefolded.c: Likewise.
37618         * tests/unicase/test-u16-is-lowercase.c: Likewise.
37619         * tests/unicase/test-u16-is-titlecase.c: Likewise.
37620         * tests/unicase/test-u16-is-uppercase.c: Likewise.
37621         * tests/unicase/test-u16-tolower.c: Likewise.
37622         * tests/unicase/test-u16-totitle.c: Likewise.
37623         * tests/unicase/test-u16-toupper.c: Likewise.
37624         * tests/unicase/test-u32-casecmp.c: Likewise.
37625         * tests/unicase/test-u32-casecoll.c: Likewise.
37626         * tests/unicase/test-u32-casefold.c: Likewise.
37627         * tests/unicase/test-u32-is-cased.c: Likewise.
37628         * tests/unicase/test-u32-is-casefolded.c: Likewise.
37629         * tests/unicase/test-u32-is-lowercase.c: Likewise.
37630         * tests/unicase/test-u32-is-titlecase.c: Likewise.
37631         * tests/unicase/test-u32-is-uppercase.c: Likewise.
37632         * tests/unicase/test-u32-tolower.c: Likewise.
37633         * tests/unicase/test-u32-totitle.c: Likewise.
37634         * tests/unicase/test-u32-toupper.c: Likewise.
37635         * tests/unicase/test-ulc-casecmp.c: Likewise.
37636         * tests/unicase/test-ulc-casecoll.c: Likewise.
37637         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37638         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37639         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37640         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37641         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37642         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37643         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37644         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37645         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37646         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37647         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37648         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37649         * tests/unictype/test-bidi_byname.c: Likewise.
37650         * tests/unictype/test-bidi_name.c: Likewise.
37651         * tests/unictype/test-bidi_of.c: Likewise.
37652         * tests/unictype/test-bidi_test.c: Likewise.
37653         * tests/unictype/test-block_list.c: Likewise.
37654         * tests/unictype/test-block_of.c: Likewise.
37655         * tests/unictype/test-block_test.c: Likewise.
37656         * tests/unictype/test-categ_and.c: Likewise.
37657         * tests/unictype/test-categ_and_not.c: Likewise.
37658         * tests/unictype/test-categ_byname.c: Likewise.
37659         * tests/unictype/test-categ_name.c: Likewise.
37660         * tests/unictype/test-categ_none.c: Likewise.
37661         * tests/unictype/test-categ_of.c: Likewise.
37662         * tests/unictype/test-categ_or.c: Likewise.
37663         * tests/unictype/test-categ_test_withtable.c: Likewise.
37664         * tests/unictype/test-combining.c: Likewise.
37665         * tests/unictype/test-decdigit.c: Likewise.
37666         * tests/unictype/test-digit.c: Likewise.
37667         * tests/unictype/test-mirror.c: Likewise.
37668         * tests/unictype/test-numeric.c: Likewise.
37669         * tests/unictype/test-pr_byname.c: Likewise.
37670         * tests/unictype/test-pr_test.c: Likewise.
37671         * tests/unictype/test-predicate-part1.h: Likewise.
37672         * tests/unictype/test-scripts.c: Likewise.
37673         * tests/unictype/test-sy_c_ident.c: Likewise.
37674         * tests/unictype/test-sy_java_ident.c: Likewise.
37675         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
37676         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
37677         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
37678         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
37679         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
37680         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
37681         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
37682         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
37683         * tests/uninorm/test-canonical-decomposition.c: Likewise.
37684         * tests/uninorm/test-compat-decomposition.c: Likewise.
37685         * tests/uninorm/test-composition.c: Likewise.
37686         * tests/uninorm/test-decomposing-form.c: Likewise.
37687         * tests/uninorm/test-decomposition.c: Likewise.
37688         * tests/uninorm/test-u8-nfc.c: Likewise.
37689         * tests/uninorm/test-u8-nfd.c: Likewise.
37690         * tests/uninorm/test-u8-nfkc.c: Likewise.
37691         * tests/uninorm/test-u8-nfkd.c: Likewise.
37692         * tests/uninorm/test-u8-normcmp.c: Likewise.
37693         * tests/uninorm/test-u8-normcoll.c: Likewise.
37694         * tests/uninorm/test-u16-nfc.c: Likewise.
37695         * tests/uninorm/test-u16-nfd.c: Likewise.
37696         * tests/uninorm/test-u16-nfkc.c: Likewise.
37697         * tests/uninorm/test-u16-nfkd.c: Likewise.
37698         * tests/uninorm/test-u16-normcmp.c: Likewise.
37699         * tests/uninorm/test-u16-normcoll.c: Likewise.
37700         * tests/uninorm/test-u32-nfc.c: Likewise.
37701         * tests/uninorm/test-u32-nfd.c: Likewise.
37702         * tests/uninorm/test-u32-nfkc.c: Likewise.
37703         * tests/uninorm/test-u32-nfkd.c: Likewise.
37704         * tests/uninorm/test-u32-normalize-big.c: Likewise.
37705         * tests/uninorm/test-u32-normcmp.c: Likewise.
37706         * tests/uninorm/test-u32-normcoll.c: Likewise.
37707         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
37708         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37709         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37710         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37711         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37712         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37713         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37714         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37715         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37716         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37717         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37718         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37719         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37720         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37721         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37722         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37723         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37724         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37725         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37726         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37727         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37728         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37729         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37730         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37731         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37732         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37733         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37734         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37735         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37736         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
37737         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
37738         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
37739         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
37740         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37741         * tests/uniwidth/test-u8-width.c: Likewise.
37742         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37743         * tests/uniwidth/test-u16-width.c: Likewise.
37744         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37745         * tests/uniwidth/test-u32-width.c: Likewise.
37746         * tests/uniwidth/test-uc_width.c: Likewise.
37747         * tests/uniwidth/test-uc_width2.c: Likewise.
37748         * modules/acl-tests (Files): Add tests/macros.h.
37749         * modules/areadlink-tests (Files): Likewise.
37750         * modules/areadlink-with-size-tests (Files): Likewise.
37751         * modules/areadlinkat-tests (Files): Likewise.
37752         * modules/areadlinkat-with-size-tests (Files): Likewise.
37753         * modules/argmatch-tests (Files): Likewise.
37754         * modules/argv-iter-tests (Files): Likewise.
37755         * modules/array-list-tests (Files): Likewise.
37756         * modules/array-mergesort-tests (Files): Likewise.
37757         * modules/array-oset-tests (Files): Likewise.
37758         * modules/avltree-list-tests (Files): Likewise.
37759         * modules/avltree-oset-tests (Files): Likewise.
37760         * modules/avltreehash-list-tests (Files): Likewise.
37761         * modules/base64-tests (Files): Likewise.
37762         * modules/binary-io-tests (Files): Likewise.
37763         * modules/bitrotate-tests (Files): Likewise.
37764         * modules/btowc-tests (Files): Likewise.
37765         * modules/byteswap-tests (Files): Likewise.
37766         * modules/c-ctype-tests (Files): Likewise.
37767         * modules/c-stack-tests (Files): Likewise.
37768         * modules/c-strcase-tests (Files): Likewise.
37769         * modules/c-strcasestr-tests (Files): Likewise.
37770         * modules/c-strstr-tests (Files): Likewise.
37771         * modules/canonicalize-lgpl-tests (Files): Likewise.
37772         * modules/canonicalize-tests (Files): Likewise.
37773         * modules/carray-list-tests (Files): Likewise.
37774         * modules/ceilf-tests (Files): Likewise.
37775         * modules/ceill-tests (Files): Likewise.
37776         * modules/chown-tests (Files): Likewise.
37777         * modules/cloexec-tests (Files): Likewise.
37778         * modules/copy-file-tests (Files): Likewise.
37779         * modules/count-one-bits-tests (Files): Likewise.
37780         * modules/dprintf-posix-tests (Files): Likewise.
37781         * modules/dup2-tests (Files): Likewise.
37782         * modules/dup3-tests (Files): Likewise.
37783         * modules/duplocale-tests (Files): Likewise.
37784         * modules/fbufmode-tests (Files): Likewise.
37785         * modules/fchdir-tests (Files): Likewise.
37786         * modules/fcntl-safer-tests (Files): Likewise.
37787         * modules/fcntl-tests (Files): Likewise.
37788         * modules/fdopendir-tests (Files): Likewise.
37789         * modules/fdutimensat-tests (Files): Likewise.
37790         * modules/fflush-tests (Files): Likewise.
37791         * modules/filevercmp-tests (Files): Likewise.
37792         * modules/flock-tests (Files): Likewise.
37793         * modules/floorf-tests (Files): Likewise.
37794         * modules/floorl-tests (Files): Likewise.
37795         * modules/fnmatch-tests (Files): Likewise.
37796         * modules/fopen-safer-tests (Files): Likewise.
37797         * modules/fopen-tests (Files): Likewise.
37798         * modules/fpending-tests (Files): Likewise.
37799         * modules/fprintf-posix-tests (Files): Likewise.
37800         * modules/fpurge-tests (Files): Likewise.
37801         * modules/freadable-tests (Files): Likewise.
37802         * modules/freadahead-tests (Files): Likewise.
37803         * modules/freading-tests (Files): Likewise.
37804         * modules/freadptr-tests (Files): Likewise.
37805         * modules/freadseek-tests (Files): Likewise.
37806         * modules/freopen-tests (Files): Likewise.
37807         * modules/frexp-nolibm-tests (Files): Likewise.
37808         * modules/frexp-tests (Files): Likewise.
37809         * modules/frexpl-nolibm-tests (Files): Likewise.
37810         * modules/frexpl-tests (Files): Likewise.
37811         * modules/fseek-tests (Files): Likewise.
37812         * modules/fseeko-tests (Files): Likewise.
37813         * modules/fstrcmp-tests (Files): Likewise.
37814         * modules/fsync-tests (Files): Likewise.
37815         * modules/ftell-tests (Files): Likewise.
37816         * modules/ftello-tests (Files): Likewise.
37817         * modules/func-tests (Files): Likewise.
37818         * modules/futimens-tests (Files): Likewise.
37819         * modules/fwritable-tests (Files): Likewise.
37820         * modules/fwriting-tests (Files): Likewise.
37821         * modules/getcwd-tests (Files): Likewise.
37822         * modules/getdate-tests (Files): Likewise.
37823         * modules/getdelim-tests (Files): Likewise.
37824         * modules/getdtablesize-tests (Files): Likewise.
37825         * modules/getgroups-tests (Files): Likewise.
37826         * modules/getline-tests (Files): Likewise.
37827         * modules/getndelim2-tests (Files): Likewise.
37828         * modules/glob-tests (Files): Likewise.
37829         * modules/hash-tests (Files): Likewise.
37830         * modules/i-ring-tests (Files): Likewise.
37831         * modules/iconv-tests (Files): Likewise.
37832         * modules/iconv_open-utf-tests (Files): Likewise.
37833         * modules/idpriv-drop-tests (Files): Likewise.
37834         * modules/idpriv-droptemp-tests (Files): Likewise.
37835         * modules/inet_ntop-tests (Files): Likewise.
37836         * modules/inet_pton-tests (Files): Likewise.
37837         * modules/isblank-tests (Files): Likewise.
37838         * modules/isfinite-tests (Files): Likewise.
37839         * modules/isinf-tests (Files): Likewise.
37840         * modules/isnan-tests (Files): Likewise.
37841         * modules/isnand-nolibm-tests (Files): Likewise.
37842         * modules/isnand-tests (Files): Likewise.
37843         * modules/isnanf-nolibm-tests (Files): Likewise.
37844         * modules/isnanf-tests (Files): Likewise.
37845         * modules/isnanl-nolibm-tests (Files): Likewise.
37846         * modules/isnanl-tests (Files): Likewise.
37847         * modules/lchown-tests (Files): Likewise.
37848         * modules/ldexpl-tests (Files): Likewise.
37849         * modules/link-tests (Files): Likewise.
37850         * modules/linkat-tests (Files): Likewise.
37851         * modules/linked-list-tests (Files): Likewise.
37852         * modules/linkedhash-list-tests (Files): Likewise.
37853         * modules/localename-tests (Files): Likewise.
37854         * modules/lseek-tests (Files): Likewise.
37855         * modules/lstat-tests (Files): Likewise.
37856         * modules/mbmemcasecmp-tests (Files): Likewise.
37857         * modules/mbmemcasecoll-tests (Files): Likewise.
37858         * modules/mbrtowc-tests (Files): Likewise.
37859         * modules/mbscasecmp-tests (Files): Likewise.
37860         * modules/mbscasestr-tests (Files): Likewise.
37861         * modules/mbschr-tests (Files): Likewise.
37862         * modules/mbscspn-tests (Files): Likewise.
37863         * modules/mbsinit-tests (Files): Likewise.
37864         * modules/mbsncasecmp-tests (Files): Likewise.
37865         * modules/mbsnrtowcs-tests (Files): Likewise.
37866         * modules/mbspbrk-tests (Files): Likewise.
37867         * modules/mbspcasecmp-tests (Files): Likewise.
37868         * modules/mbsrchr-tests (Files): Likewise.
37869         * modules/mbsrtowcs-tests (Files): Likewise.
37870         * modules/mbsspn-tests (Files): Likewise.
37871         * modules/mbsstr-tests (Files): Likewise.
37872         * modules/memchr-tests (Files): Likewise.
37873         * modules/memchr2-tests (Files): Likewise.
37874         * modules/memcmp-tests (Files): Likewise.
37875         * modules/memmem-tests (Files): Likewise.
37876         * modules/memrchr-tests (Files): Likewise.
37877         * modules/mkdir-tests (Files): Likewise.
37878         * modules/mkfifo-tests (Files): Likewise.
37879         * modules/mkfifoat-tests (Files): Likewise.
37880         * modules/mknod-tests (Files): Likewise.
37881         * modules/nanosleep-tests (Files): Likewise.
37882         * modules/nl_langinfo-tests (Files): Likewise.
37883         * modules/obstack-printf-tests (Files): Likewise.
37884         * modules/open-tests (Files): Likewise.
37885         * modules/openat-tests (Files): Likewise.
37886         * modules/pipe-filter-gi-tests (Files): Likewise.
37887         * modules/pipe-filter-ii-tests (Files): Likewise.
37888         * modules/pipe2-tests (Files): Likewise.
37889         * modules/popen-safer-tests (Files): Likewise.
37890         * modules/popen-tests (Files): Likewise.
37891         * modules/posixtm-tests (Files): Likewise.
37892         * modules/pread-tests (Files): Likewise.
37893         * modules/printf-frexp-tests (Files): Likewise.
37894         * modules/printf-frexpl-tests (Files): Likewise.
37895         * modules/printf-posix-tests (Files): Likewise.
37896         * modules/priv-set-tests (Files): Likewise.
37897         * modules/quotearg-tests (Files): Likewise.
37898         * modules/random_r-tests (Files): Likewise.
37899         * modules/rawmemchr-tests (Files): Likewise.
37900         * modules/rbtree-list-tests (Files): Likewise.
37901         * modules/rbtree-oset-tests (Files): Likewise.
37902         * modules/rbtreehash-list-tests (Files): Likewise.
37903         * modules/readlink-tests (Files): Likewise.
37904         * modules/remove-tests (Files): Likewise.
37905         * modules/rename-tests (Files): Likewise.
37906         * modules/renameat-tests (Files): Likewise.
37907         * modules/rmdir-tests (Files): Likewise.
37908         * modules/round-tests (Files): Likewise.
37909         * modules/roundf-tests (Files): Likewise.
37910         * modules/roundl-tests (Files): Likewise.
37911         * modules/safe-alloc-tests (Files): Likewise.
37912         * modules/setenv-tests (Files): Likewise.
37913         * modules/sigaction-tests (Files): Likewise.
37914         * modules/signbit-tests (Files): Likewise.
37915         * modules/sleep-tests (Files): Likewise.
37916         * modules/snprintf-posix-tests (Files): Likewise.
37917         * modules/snprintf-tests (Files): Likewise.
37918         * modules/sprintf-posix-tests (Files): Likewise.
37919         * modules/stat-tests (Files): Likewise.
37920         * modules/stat-time-tests (Files): Likewise.
37921         * modules/strcasestr-tests (Files): Likewise.
37922         * modules/strchrnul-tests (Files): Likewise.
37923         * modules/strerror-tests (Files): Likewise.
37924         * modules/striconv-tests (Files): Likewise.
37925         * modules/striconveh-tests (Files): Likewise.
37926         * modules/striconveha-tests (Files): Likewise.
37927         * modules/strsignal-tests (Files): Likewise.
37928         * modules/strstr-tests (Files): Likewise.
37929         * modules/strtod-tests (Files): Likewise.
37930         * modules/strverscmp-tests (Files): Likewise.
37931         * modules/symlink-tests (Files): Likewise.
37932         * modules/symlinkat-tests (Files): Likewise.
37933         * modules/trunc-tests (Files): Likewise.
37934         * modules/truncf-tests (Files): Likewise.
37935         * modules/truncl-tests (Files): Likewise.
37936         * modules/uname-tests (Files): Likewise.
37937         * modules/unicase/cased-tests (Files): Likewise.
37938         * modules/unicase/ignorable-tests (Files): Likewise.
37939         * modules/unicase/locale-language-tests (Files): Likewise.
37940         * modules/unicase/tolower-tests (Files): Likewise.
37941         * modules/unicase/totitle-tests (Files): Likewise.
37942         * modules/unicase/toupper-tests (Files): Likewise.
37943         * modules/unicase/u8-casecmp-tests (Files): Likewise.
37944         * modules/unicase/u8-casecoll-tests (Files): Likewise.
37945         * modules/unicase/u8-casefold-tests (Files): Likewise.
37946         * modules/unicase/u8-is-cased-tests (Files): Likewise.
37947         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
37948         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
37949         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
37950         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
37951         * modules/unicase/u8-tolower-tests (Files): Likewise.
37952         * modules/unicase/u8-totitle-tests (Files): Likewise.
37953         * modules/unicase/u8-toupper-tests (Files): Likewise.
37954         * modules/unicase/u16-casecmp-tests (Files): Likewise.
37955         * modules/unicase/u16-casecoll-tests (Files): Likewise.
37956         * modules/unicase/u16-casefold-tests (Files): Likewise.
37957         * modules/unicase/u16-is-cased-tests (Files): Likewise.
37958         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
37959         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
37960         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
37961         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
37962         * modules/unicase/u16-tolower-tests (Files): Likewise.
37963         * modules/unicase/u16-totitle-tests (Files): Likewise.
37964         * modules/unicase/u16-toupper-tests (Files): Likewise.
37965         * modules/unicase/u32-casecmp-tests (Files): Likewise.
37966         * modules/unicase/u32-casecoll-tests (Files): Likewise.
37967         * modules/unicase/u32-casefold-tests (Files): Likewise.
37968         * modules/unicase/u32-is-cased-tests (Files): Likewise.
37969         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
37970         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
37971         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
37972         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
37973         * modules/unicase/u32-tolower-tests (Files): Likewise.
37974         * modules/unicase/u32-totitle-tests (Files): Likewise.
37975         * modules/unicase/u32-toupper-tests (Files): Likewise.
37976         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
37977         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
37978         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
37979         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
37980         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
37981         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
37982         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
37983         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
37984         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
37985         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
37986         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
37987         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
37988         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
37989         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
37990         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
37991         * modules/unictype/bidicategory-name-tests (Files): Likewise.
37992         * modules/unictype/bidicategory-of-tests (Files): Likewise.
37993         * modules/unictype/bidicategory-test-tests (Files): Likewise.
37994         * modules/unictype/block-list-tests (Files): Likewise.
37995         * modules/unictype/block-of-tests (Files): Likewise.
37996         * modules/unictype/block-test-tests (Files): Likewise.
37997         * modules/unictype/category-C-tests (Files): Likewise.
37998         * modules/unictype/category-Cc-tests (Files): Likewise.
37999         * modules/unictype/category-Cf-tests (Files): Likewise.
38000         * modules/unictype/category-Cn-tests (Files): Likewise.
38001         * modules/unictype/category-Co-tests (Files): Likewise.
38002         * modules/unictype/category-Cs-tests (Files): Likewise.
38003         * modules/unictype/category-L-tests (Files): Likewise.
38004         * modules/unictype/category-Ll-tests (Files): Likewise.
38005         * modules/unictype/category-Lm-tests (Files): Likewise.
38006         * modules/unictype/category-Lo-tests (Files): Likewise.
38007         * modules/unictype/category-Lt-tests (Files): Likewise.
38008         * modules/unictype/category-Lu-tests (Files): Likewise.
38009         * modules/unictype/category-M-tests (Files): Likewise.
38010         * modules/unictype/category-Mc-tests (Files): Likewise.
38011         * modules/unictype/category-Me-tests (Files): Likewise.
38012         * modules/unictype/category-Mn-tests (Files): Likewise.
38013         * modules/unictype/category-N-tests (Files): Likewise.
38014         * modules/unictype/category-Nd-tests (Files): Likewise.
38015         * modules/unictype/category-Nl-tests (Files): Likewise.
38016         * modules/unictype/category-No-tests (Files): Likewise.
38017         * modules/unictype/category-P-tests (Files): Likewise.
38018         * modules/unictype/category-Pc-tests (Files): Likewise.
38019         * modules/unictype/category-Pd-tests (Files): Likewise.
38020         * modules/unictype/category-Pe-tests (Files): Likewise.
38021         * modules/unictype/category-Pf-tests (Files): Likewise.
38022         * modules/unictype/category-Pi-tests (Files): Likewise.
38023         * modules/unictype/category-Po-tests (Files): Likewise.
38024         * modules/unictype/category-Ps-tests (Files): Likewise.
38025         * modules/unictype/category-S-tests (Files): Likewise.
38026         * modules/unictype/category-Sc-tests (Files): Likewise.
38027         * modules/unictype/category-Sk-tests (Files): Likewise.
38028         * modules/unictype/category-Sm-tests (Files): Likewise.
38029         * modules/unictype/category-So-tests (Files): Likewise.
38030         * modules/unictype/category-Z-tests (Files): Likewise.
38031         * modules/unictype/category-Zl-tests (Files): Likewise.
38032         * modules/unictype/category-Zp-tests (Files): Likewise.
38033         * modules/unictype/category-Zs-tests (Files): Likewise.
38034         * modules/unictype/category-and-not-tests (Files): Likewise.
38035         * modules/unictype/category-and-tests (Files): Likewise.
38036         * modules/unictype/category-byname-tests (Files): Likewise.
38037         * modules/unictype/category-name-tests (Files): Likewise.
38038         * modules/unictype/category-none-tests (Files): Likewise.
38039         * modules/unictype/category-of-tests (Files): Likewise.
38040         * modules/unictype/category-or-tests (Files): Likewise.
38041         * modules/unictype/category-test-withtable-tests (Files): Likewise.
38042         * modules/unictype/combining-class-tests (Files): Likewise.
38043         * modules/unictype/ctype-alnum-tests (Files): Likewise.
38044         * modules/unictype/ctype-alpha-tests (Files): Likewise.
38045         * modules/unictype/ctype-blank-tests (Files): Likewise.
38046         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
38047         * modules/unictype/ctype-digit-tests (Files): Likewise.
38048         * modules/unictype/ctype-graph-tests (Files): Likewise.
38049         * modules/unictype/ctype-lower-tests (Files): Likewise.
38050         * modules/unictype/ctype-print-tests (Files): Likewise.
38051         * modules/unictype/ctype-punct-tests (Files): Likewise.
38052         * modules/unictype/ctype-space-tests (Files): Likewise.
38053         * modules/unictype/ctype-upper-tests (Files): Likewise.
38054         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
38055         * modules/unictype/decimal-digit-tests (Files): Likewise.
38056         * modules/unictype/digit-tests (Files): Likewise.
38057         * modules/unictype/mirror-tests (Files): Likewise.
38058         * modules/unictype/numeric-tests (Files): Likewise.
38059         * modules/unictype/property-alphabetic-tests (Files): Likewise.
38060         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
38061         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
38062         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
38063         Likewise.
38064         * modules/unictype/property-bidi-block-separator-tests (Files):
38065         Likewise.
38066         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
38067         Likewise.
38068         * modules/unictype/property-bidi-common-separator-tests (Files):
38069         Likewise.
38070         * modules/unictype/property-bidi-control-tests (Files): Likewise.
38071         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
38072         Likewise.
38073         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
38074         Likewise.
38075         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
38076         Likewise.
38077         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
38078         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
38079         Likewise.
38080         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
38081         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
38082         Likewise.
38083         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
38084         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
38085         * modules/unictype/property-bidi-segment-separator-tests (Files):
38086         Likewise.
38087         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
38088         * modules/unictype/property-byname-tests (Files): Likewise.
38089         * modules/unictype/property-combining-tests (Files): Likewise.
38090         * modules/unictype/property-composite-tests (Files): Likewise.
38091         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
38092         * modules/unictype/property-dash-tests (Files): Likewise.
38093         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
38094         * modules/unictype/property-default-ignorable-code-point-tests (Files):
38095         Likewise.
38096         * modules/unictype/property-deprecated-tests (Files): Likewise.
38097         * modules/unictype/property-diacritic-tests (Files): Likewise.
38098         * modules/unictype/property-extender-tests (Files): Likewise.
38099         * modules/unictype/property-format-control-tests (Files): Likewise.
38100         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
38101         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
38102         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
38103         * modules/unictype/property-hex-digit-tests (Files): Likewise.
38104         * modules/unictype/property-hyphen-tests (Files): Likewise.
38105         * modules/unictype/property-id-continue-tests (Files): Likewise.
38106         * modules/unictype/property-id-start-tests (Files): Likewise.
38107         * modules/unictype/property-ideographic-tests (Files): Likewise.
38108         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
38109         * modules/unictype/property-ids-trinary-operator-tests (Files):
38110         Likewise.
38111         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
38112         * modules/unictype/property-iso-control-tests (Files): Likewise.
38113         * modules/unictype/property-join-control-tests (Files): Likewise.
38114         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
38115         * modules/unictype/property-line-separator-tests (Files): Likewise.
38116         * modules/unictype/property-logical-order-exception-tests (Files):
38117         Likewise.
38118         * modules/unictype/property-lowercase-tests (Files): Likewise.
38119         * modules/unictype/property-math-tests (Files): Likewise.
38120         * modules/unictype/property-non-break-tests (Files): Likewise.
38121         * modules/unictype/property-not-a-character-tests (Files): Likewise.
38122         * modules/unictype/property-numeric-tests (Files): Likewise.
38123         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
38124         * modules/unictype/property-other-default-ignorable-code-point-tests
38125         (Files): Likewise.
38126         * modules/unictype/property-other-grapheme-extend-tests (Files):
38127         Likewise.
38128         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
38129         * modules/unictype/property-other-id-start-tests (Files): Likewise.
38130         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
38131         * modules/unictype/property-other-math-tests (Files): Likewise.
38132         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
38133         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
38134         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
38135         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
38136         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
38137         * modules/unictype/property-private-use-tests (Files): Likewise.
38138         * modules/unictype/property-punctuation-tests (Files): Likewise.
38139         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
38140         * modules/unictype/property-radical-tests (Files): Likewise.
38141         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
38142         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
38143         * modules/unictype/property-space-tests (Files): Likewise.
38144         * modules/unictype/property-terminal-punctuation-tests (Files):
38145         Likewise.
38146         * modules/unictype/property-test-tests (Files): Likewise.
38147         * modules/unictype/property-titlecase-tests (Files): Likewise.
38148         * modules/unictype/property-unassigned-code-value-tests (Files):
38149         Likewise.
38150         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
38151         * modules/unictype/property-uppercase-tests (Files): Likewise.
38152         * modules/unictype/property-variation-selector-tests (Files): Likewise.
38153         * modules/unictype/property-white-space-tests (Files): Likewise.
38154         * modules/unictype/property-xid-continue-tests (Files): Likewise.
38155         * modules/unictype/property-xid-start-tests (Files): Likewise.
38156         * modules/unictype/property-zero-width-tests (Files): Likewise.
38157         * modules/unictype/scripts-tests (Files): Likewise.
38158         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
38159         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
38160         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
38161         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
38162         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
38163         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
38164         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
38165         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
38166         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
38167         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
38168         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
38169         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
38170         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
38171         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
38172         * modules/uninorm/composition-tests (Files): Likewise.
38173         * modules/uninorm/decomposing-form-tests (Files): Likewise.
38174         * modules/uninorm/decomposition-tests (Files): Likewise.
38175         * modules/uninorm/filter-tests (Files): Likewise.
38176         * modules/uninorm/nfc-tests (Files): Likewise.
38177         * modules/uninorm/nfd-tests (Files): Likewise.
38178         * modules/uninorm/nfkc-tests (Files): Likewise.
38179         * modules/uninorm/nfkd-tests (Files): Likewise.
38180         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
38181         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
38182         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
38183         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
38184         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
38185         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
38186         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
38187         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
38188         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
38189         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
38190         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
38191         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
38192         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
38193         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
38194         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
38195         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
38196         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
38197         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
38198         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
38199         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
38200         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
38201         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
38202         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
38203         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
38204         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
38205         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
38206         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
38207         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
38208         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
38209         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
38210         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
38211         * modules/uniwidth/u8-width-tests (Files): Likewise.
38212         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
38213         * modules/uniwidth/u16-width-tests (Files): Likewise.
38214         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
38215         * modules/uniwidth/u32-width-tests (Files): Likewise.
38216         * modules/uniwidth/width-tests (Files): Likewise.
38217         * modules/unlink-tests (Files): Likewise.
38218         * modules/unsetenv-tests (Files): Likewise.
38219         * modules/usleep-tests (Files): Likewise.
38220         * modules/utimens-tests (Files): Likewise.
38221         * modules/utimensat-tests (Files): Likewise.
38222         * modules/vasnprintf-posix-tests (Files): Likewise.
38223         * modules/vasnprintf-tests (Files): Likewise.
38224         * modules/vasprintf-posix-tests (Files): Likewise.
38225         * modules/vasprintf-tests (Files): Likewise.
38226         * modules/vdprintf-posix-tests (Files): Likewise.
38227         * modules/vfprintf-posix-tests (Files): Likewise.
38228         * modules/vprintf-posix-tests (Files): Likewise.
38229         * modules/vsnprintf-posix-tests (Files): Likewise.
38230         * modules/vsnprintf-tests (Files): Likewise.
38231         * modules/vsprintf-posix-tests (Files): Likewise.
38232         * modules/wcrtomb-tests (Files): Likewise.
38233         * modules/wcsnrtombs-tests (Files): Likewise.
38234         * modules/wcsrtombs-tests (Files): Likewise.
38235         * modules/wctype-tests (Files): Likewise.
38236         * modules/wcwidth-tests (Files): Likewise.
38237         * modules/xmemdup0-tests (Files): Likewise.
38238         * modules/xprintf-posix-tests (Files): Likewise.
38239         * modules/xvasprintf-tests (Files): Likewise.
38240
38241 2009-12-24  Eric Blake  <ebb9@byu.net>
38242
38243         test-nanosleep: fix typo
38244         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
38245         patch.
38246         Reported by Bruno Haible.
38247
38248 2009-12-24  Bruno Haible  <bruno@clisp.org>
38249
38250         Reduce namespace pollution on glibc systems.
38251         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
38252         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
38253         systems.
38254         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
38255         <getopt.h> on glibc systems.
38256         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
38257         systems.
38258         * lib/fcntl.c: Include <unistd.h> here instead.
38259
38260 2009-12-24  Bruno Haible  <bruno@clisp.org>
38261
38262         * lib/stdlib.in.h (includes): Fix typo in today's commit.
38263
38264 2009-12-24  Eric Blake  <ebb9@byu.net>
38265
38266         tests: add signature checks
38267         * tests/signature.h (SIGNATURE_CHECK): New file.
38268         * modules/atexit-tests (Files): Use it.
38269         * modules/btowc-tests (Files): Likewise.
38270         * modules/canonicalize-lgpl-tests (Files): Likewise.
38271         * modules/ceilf-tests (Files): Likewise.
38272         * modules/ceill-tests (Files): Likewise.
38273         * modules/chown-tests (Files): Likewise.
38274         * modules/dprintf-posix-tests (Files): Likewise.
38275         * modules/dup2-tests (Files): Likewise.
38276         * modules/dup3-tests (Files): Likewise.
38277         * modules/duplocale-tests (Files): Likewise.
38278         * modules/fchdir-tests (Files): Likewise.
38279         * modules/fcntl-tests (Files): Likewise.
38280         * modules/fdopendir-tests (Files): Likewise.
38281         * modules/fflush-tests (Files): Likewise.
38282         * modules/flock-tests (Files): Likewise.
38283         * modules/floorf-tests (Files): Likewise.
38284         * modules/floorl-tests (Files): Likewise.
38285         * modules/fnmatch-tests (Files): Likewise.
38286         * modules/fopen-tests (Files): Likewise.
38287         * modules/fprintf-posix-tests (Files): Likewise.
38288         * modules/freopen-tests (Files): Likewise.
38289         * modules/frexp-nolibm-tests (Files): Likewise.
38290         * modules/frexp-tests (Files): Likewise.
38291         * modules/frexpl-nolibm-tests (Files): Likewise.
38292         * modules/frexpl-tests (Files): Likewise.
38293         * modules/fseek-tests (Files): Likewise.
38294         * modules/fseeko-tests (Files): Likewise.
38295         * modules/fsync-tests (Files): Likewise.
38296         * modules/ftell-tests (Files): Likewise.
38297         * modules/ftello-tests (Files): Likewise.
38298         * modules/futimens-tests (Files): Likewise.
38299         * modules/getaddrinfo-tests (Files): Likewise.
38300         * modules/getcwd-tests (Files): Likewise.
38301         * modules/getdelim-tests (Files): Likewise.
38302         * modules/getdtablesize-tests (Files): Likewise.
38303         * modules/getgroups-tests (Files): Likewise.
38304         * modules/gethostname-tests (Files): Likewise.
38305         * modules/getline-tests (Files): Likewise.
38306         * modules/getopt-posix-tests (Files): Likewise.
38307         * modules/gettimeofday-tests (Files): Likewise.
38308         * modules/glob-tests (Files): Likewise.
38309         * modules/iconv-tests (Files): Likewise.
38310         * modules/inet_ntop-tests (Files): Likewise.
38311         * modules/inet_pton-tests (Files): Likewise.
38312         * modules/isblank-tests (Files): Likewise.
38313         * modules/lchown-tests (Files): Likewise.
38314         * modules/ldexpl-tests (Files): Likewise.
38315         * modules/link-tests (Files): Likewise.
38316         * modules/linkat-tests (Files): Likewise.
38317         * modules/lseek-tests (Files): Likewise.
38318         * modules/lstat-tests (Files): Likewise.
38319         * modules/mbrtowc-tests (Files): Likewise.
38320         * modules/mbsinit-tests (Files): Likewise.
38321         * modules/mbsnrtowcs-tests (Files): Likewise.
38322         * modules/mbsrtowcs-tests (Files): Likewise.
38323         * modules/memchr-tests (Files): Likewise.
38324         * modules/memcmp-tests (Files): Likewise.
38325         * modules/memmem-tests (Files): Likewise.
38326         * modules/memrchr-tests (Files): Likewise.
38327         * modules/mkdir-tests (Files): Likewise.
38328         * modules/mkfifo-tests (Files): Likewise.
38329         * modules/mkfifoat-tests (Files): Likewise.
38330         * modules/mknod-tests (Files): Likewise.
38331         * modules/nanosleep-tests (Files): Likewise.
38332         * modules/nl_langinfo-tests (Files): Likewise.
38333         * modules/obstack-printf-tests (Files): Likewise.
38334         * modules/open-tests (Files): Likewise.
38335         * modules/openat-tests (Files): Likewise.
38336         * modules/perror-tests (Files): Likewise.
38337         * modules/pipe2-tests (Files): Likewise.
38338         * modules/poll-tests (Files): Likewise.
38339         * modules/popen-tests (Files): Likewise.
38340         * modules/posix_spawn-tests (Files): Likewise.
38341         * modules/posix_spawnp-tests (Files): Likewise.
38342         * modules/pread-tests (Files): Likewise.
38343         * modules/printf-posix-tests (Files): Likewise.
38344         * modules/pty-tests (Files): Likewise.
38345         * modules/random_r-tests (Files): Likewise.
38346         * modules/rawmemchr-tests (Files): Likewise.
38347         * modules/readlink-tests (Files): Likewise.
38348         * modules/remove-tests (Files): Likewise.
38349         * modules/rename-tests (Files): Likewise.
38350         * modules/renameat-tests (Files): Likewise.
38351         * modules/rmdir-tests (Files): Likewise.
38352         * modules/round-tests (Files): Likewise.
38353         * modules/roundf-tests (Files): Likewise.
38354         * modules/roundl-tests (Files): Likewise.
38355         * modules/select-tests (Files): Likewise.
38356         * modules/setenv-tests (Files): Likewise.
38357         * modules/sigaction-tests (Files): Likewise.
38358         * modules/sleep-tests (Files): Likewise.
38359         * modules/snprintf-posix-tests (Files): Likewise.
38360         * modules/snprintf-tests (Files): Likewise.
38361         * modules/sprintf-posix-tests (Files): Likewise.
38362         * modules/stat-tests (Files): Likewise.
38363         * modules/strcasestr-tests (Files): Likewise.
38364         * modules/strchrnul-tests (Files): Likewise.
38365         * modules/strerror-tests (Files): Likewise.
38366         * modules/strsignal-tests (Files): Likewise.
38367         * modules/strstr-tests (Files): Likewise.
38368         * modules/strtod-tests (Files): Likewise.
38369         * modules/strverscmp-tests (Files): Likewise.
38370         * modules/symlink-tests (Files): Likewise.
38371         * modules/symlinkat-tests (Files): Likewise.
38372         * modules/times-tests (Files): Likewise.
38373         * modules/trunc-tests (Files): Likewise.
38374         * modules/truncf-tests (Files): Likewise.
38375         * modules/truncl-tests (Files): Likewise.
38376         * modules/tsearch-tests (Files): Likewise.
38377         * modules/uname-tests (Files): Likewise.
38378         * modules/unlink-tests (Files): Likewise.
38379         * modules/unsetenv-tests (Files): Likewise.
38380         * modules/usleep-tests (Files): Likewise.
38381         * modules/utimensat-tests (Files): Likewise.
38382         * modules/vasprintf-tests (Files): Likewise.
38383         * modules/vdprintf-posix-tests (Files): Likewise.
38384         * modules/vfprintf-posix-tests (Files): Likewise.
38385         * modules/vprintf-posix-tests (Files): Likewise.
38386         * modules/vsnprintf-posix-tests (Files): Likewise.
38387         * modules/vsnprintf-tests (Files): Likewise.
38388         * modules/vsprintf-posix-tests (Files): Likewise.
38389         * modules/wcrtomb-tests (Files): Likewise.
38390         * modules/wcsnrtombs-tests (Files): Likewise.
38391         * modules/wcsrtombs-tests (Files): Likewise.
38392         * modules/wcwidth-tests (Files): Likewise.
38393         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
38394         * tests/test-isinf.c (isinf): Likewise.
38395         * tests/test-isnan.c (isnan): Likewise.
38396         * tests/test-signbit.c (signbit): Likewise.
38397         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
38398         declaration, either as macro or with correct signature.
38399         (select): Ensure function under test is declared with correct
38400         signature in correct header.
38401         * tests/test-atexit.c (atexit): Likewise.
38402         * tests/test-btowc.c (btowc): Likewise.
38403         * tests/test-canonicalize-lgpl.c (realpath)
38404         (canonicalize_file_name): Likewise.
38405         * tests/test-ceilf1.c (ceilf): Likewise.
38406         * tests/test-ceill.c (ceill): Likewise.
38407         * tests/test-chown.c (chown): Likewise.
38408         * tests/test-dprintf-posix.c (dprintf): Likewise.
38409         * tests/test-dup2.c (dup2): Likewise.
38410         * tests/test-dup3.c (dup3): Likewise.
38411         * tests/test-duplocale.c (duplocale): Likewise.
38412         * tests/test-fchdir.c (fchdir): Likewise.
38413         * tests/test-fchownat.c (fchownat): Likewise.
38414         * tests/test-fcntl.c (fcntl): Likewise.
38415         * tests/test-fdopendir.c (fdopendir): Likewise.
38416         * tests/test-fflush.c (fflush): Likewise.
38417         * tests/test-flock.c (flock): Likewise.
38418         * tests/test-floorf1.c (floorf): Likewise.
38419         * tests/test-floorl.c (floorl): Likewise.
38420         * tests/test-fnmatch.c (fnmatch): Likewise.
38421         * tests/test-fopen.c (fopen): Likewise.
38422         * tests/test-fprintf-posix.c (fprintf): Likewise.
38423         * tests/test-freopen.c (freopen): Likewise.
38424         * tests/test-frexp.c (frexp): Likewise.
38425         * tests/test-frexpl.c (frexpl): Likewise.
38426         * tests/test-fseek.c (fseek): Likewise.
38427         * tests/test-fseeko.c (fseeko): Likewise.
38428         * tests/test-fstatat.c (fstatat): Likewise.
38429         * tests/test-fsync.c (fsync): Likewise.
38430         * tests/test-ftell.c (ftell): Likewise.
38431         * tests/test-ftello.c (ftello): Likewise.
38432         * tests/test-futimens.c (futimens): Likewise.
38433         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
38434         (gai_strerror): Likewise.
38435         * tests/test-getcwd.c (getcwd): Likewise.
38436         * tests/test-getdelim.c (getdelim): Likewise.
38437         * tests/test-getdtablesize.c (getdtablesize): Likewise.
38438         * tests/test-getgroups.c (getgroups): Likewise.
38439         * tests/test-gethostname.c (gethostname): Likewise.
38440         * tests/test-getline.c (getline): Likewise.
38441         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
38442         Likewise.
38443         * tests/test-gettimeofday.c (gettimeofday): Likewise.
38444         * tests/test-glob.c (glob, globfree): Likewise.
38445         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
38446         * tests/test-inet_ntop.c (inet_ntop): Likewise.
38447         * tests/test-inet_pton.c (inet_pton): Likewise.
38448         * tests/test-isblank.c (isblank): Likewise.
38449         * tests/test-lchown.c (lchown): Likewise.
38450         * tests/test-ldexpl.c (ldexpl): Likewise.
38451         * tests/test-link.c (link): Likewise.
38452         * tests/test-linkat.c (linkat): Likewise.
38453         * tests/test-lseek.c (lseek): Likewise.
38454         * tests/test-lstat.c (lstat): Likewise.
38455         * tests/test-mbrtowc.c (mbrtowc): Likewise.
38456         * tests/test-mbsinit.c (mbsinit): Likewise.
38457         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
38458         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
38459         * tests/test-memchr.c (memchr): Likewise.
38460         * tests/test-memcmp.c (memcmp): Likewise.
38461         * tests/test-memmem.c (memmem): Likewise.
38462         * tests/test-memrchr.c (memrchr): Likewise.
38463         * tests/test-mkdir.c (mkdir): Likewise.
38464         * tests/test-mkdirat.c (mkdirat): Likewise.
38465         * tests/test-mkfifo.c (mkfifo): Likewise.
38466         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
38467         * tests/test-mknod.c (mknod): Likewise.
38468         * tests/test-nanosleep.c (nanosleep): Likewise.
38469         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
38470         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
38471         Likewise.
38472         * tests/test-open.c (open): Likewise.
38473         * tests/test-openat.c (openat): Likewise.
38474         * tests/test-perror.c (perror): Likewise.
38475         * tests/test-pipe2.c (pipe2): Likewise.
38476         * tests/test-poll.c (poll): Likewise.
38477         * tests/test-popen.c (popen, pclose): Likewise.
38478         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
38479         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
38480         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
38481         (posix_spawn_file_actions_destroy)
38482         (posix_spawn_file_actions_addclose)
38483         (posix_spawn_file_actions_addopen)
38484         (posix_spawn_file_actions_adddup2): Likewise.
38485         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
38486         * tests/test-pread.c (pread): Likewise.
38487         * tests/test-printf-posix.c (printf): Likewise.
38488         * tests/test-pty.c (openpty, forkpty): Likewise.
38489         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
38490         (random_r): Likewise.
38491         * tests/test-rawmemchr.c (rawmemchr): Likewise.
38492         * tests/test-readlink.c (readlink): Likewise.
38493         * tests/test-remove.c (remove): Likewise.
38494         * tests/test-rename.c (rename): Likewise.
38495         * tests/test-renameat.c (renameat): Likewise.
38496         * tests/test-rmdir.c (rmdir): Likewise.
38497         * tests/test-round1.c (round): Likewise.
38498         * tests/test-roundf1.c (roundf): Likewise.
38499         * tests/test-roundl.c (roundl): Likewise.
38500         * tests/test-setenv.c (setenv): Likewise.
38501         * tests/test-sigaction.c (sigaction): Likewise.
38502         * tests/test-sleep.c (sleep): Likewise.
38503         * tests/test-snprintf.c (snprintf): Likewise.
38504         * tests/test-sprintf-posix.c (sprintf): Likewise.
38505         * tests/test-stat.c (stat): Likewise.
38506         * tests/test-stpncpy.c (stpncpy): Likewise.
38507         * tests/test-strcasestr.c (strcasestr): Likewise.
38508         * tests/test-strchrnul.c (strchrnul): Likewise.
38509         * tests/test-strerror.c (strerror): Likewise.
38510         * tests/test-strsignal.c (strsignal): Likewise.
38511         * tests/test-strstr.c (strstr): Likewise.
38512         * tests/test-strtod.c (strtod): Likewise.
38513         * tests/test-strverscmp.c (strverscmp): Likewise.
38514         * tests/test-symlink.c (symlink): Likewise.
38515         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
38516         * tests/test-times.c (times): Likewise.
38517         * tests/test-trunc1.c (trunc): Likewise.
38518         * tests/test-truncf1.c (truncf): Likewise.
38519         * tests/test-truncl.c (truncl): Likewise.
38520         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
38521         Likewise.
38522         * tests/test-uname.c (uname): Likewise.
38523         * tests/test-unlink.c (unlink): Likewise.
38524         * tests/test-unlinkat.c (unlinkat): Likewise.
38525         * tests/test-unsetenv.c (unsetenv): Likewise.
38526         * tests/test-usleep.c (usleep): Likewise.
38527         * tests/test-utimensat.c (utimensat): Likewise.
38528         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
38529         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
38530         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
38531         * tests/test-vprintf-posix.c (vprintf): Likewise.
38532         * tests/test-vsnprintf.c (vsnprintf): Likewise.
38533         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
38534         * tests/test-wcrtomb.c (wcrtomb): Likewise.
38535         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
38536         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
38537         * tests/test-wcwidth.c (wcwidth): Likewise.
38538
38539         build: pull in conditional headers during GNULIB_POSIXCHECK
38540         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
38541         definitions from any conditionally-included headers.
38542         * lib/stdlib.in.h (includes): Likewise.
38543         * lib/unistd.in.h (includes): Likewise.
38544
38545 2009-12-24  Bruno Haible  <bruno@clisp.org>
38546
38547         * tests/test-argv-iter.c: Include header file being tested immediately
38548         after config.h.
38549         * tests/test-base64.c: Likewise.
38550         * tests/test-flock.c: Likewise.
38551         * tests/test-fsync.c: Likewise.
38552         * tests/test-getdate.c: Likewise.
38553         * tests/test-getndelim2.c: Likewise.
38554         * tests/test-isfinite.c: Likewise.
38555         * tests/test-isinf.c: Likewise.
38556         * tests/test-strerror.c: Likewise.
38557         * tests/test-strsignal.c: Likewise.
38558
38559 2009-12-23  Eric Blake  <ebb9@byu.net>
38560
38561         unistd: work around cygwin bug
38562         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
38563         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
38564         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38565
38566 2009-12-23  Bruno Haible  <bruno@clisp.org>
38567
38568         localename: More tests.
38569         * tests/test-localename.c (SIZEOF): New macro.
38570         (categories): New variable.
38571         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
38572         test_locale_name_default): Add test w.r.t. thread locale.
38573         (test_locale_name_thread): New function.
38574         (main): Invoke it.
38575
38576         localename: Make aware of thread locale.
38577         * lib/localename.h (gl_locale_name_thread): New declaration.
38578         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
38579         behaviour with respect to thread locale.
38580         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
38581         <langinfo.h>, glthread/lock.h.
38582         (SIZE_BITS): New macro.
38583         (string_hash): New function.
38584         (struct hash_node): New type.
38585         (HASH_TABLE_SIZE): New macro.
38586         (struniq_hash_table, struniq_lock): New variables.
38587         (struniq): New function.
38588         (gl_locale_name_thread): New function.
38589         (gl_locale_name): Invoke it.
38590         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
38591         * modules/localename (Depends-on): Add lock.
38592         Reported by Mike Gran <spk121@yahoo.com>.
38593
38594 2009-12-23  Eric Blake  <ebb9@byu.net>
38595
38596         va-args: new module
38597         * modules/va-args: New file.
38598         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
38599         * MODULES.html.sh (Core language properties): Mention it.
38600
38601         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
38602         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
38603         named alias for __attribute__((__unused__)).
38604         * lib/chown.c: Update client.
38605         * lib/fchmodat.c: Likewise.
38606         * lib/fts.c: Likewise.
38607         * lib/getdate.y: Likewise.
38608         * lib/getgroups.c: Likewise.
38609         * lib/getopt.c: Likewise.
38610         * lib/getugroups.c: Likewise.
38611         * lib/mkdir.c: Likewise.
38612         * lib/mkfifo.c: Likewise.
38613         * lib/mkfifoat.c: Likewise.
38614         * lib/mknod.c: Likewise.
38615         * lib/mknodat.c: Likewise.
38616         * lib/readlink.c: Likewise.
38617         * lib/se-context.in.h: Likewise.
38618         * lib/se-selinux.in.h: Likewise.
38619         * lib/sockets.c: Likewise.
38620         * lib/symlink.c: Likewise.
38621         * lib/symlinkat.c: Likewise.
38622         * lib/unicodeio.c: Likewise.
38623         * lib/unistr.h: Likewise.
38624         * tests/test-areadlink.c: Likewise.
38625         * tests/test-areadlinkat.c: Likewise.
38626         * tests/test-filenamecat.c: Likewise.
38627         * tests/test-fseeko.c: Likewise.
38628         * tests/test-ftello.c: Likewise.
38629         * tests/test-getdate.c: Likewise.
38630         * tests/test-getgroups.c: Likewise.
38631         * tests/test-gethostname.c: Likewise.
38632         * tests/test-quotearg.c: Likewise.
38633         * tests/test-version-etc.c: Likewise.
38634         * tests/test-xalloc-die.c: Likewise.
38635         * tests/test-xfprintf-posix.c: Likewise.
38636         * tests/test-xprintf-posix.c: Likewise.
38637         * tests/test-xvasprintf.c: Likewise.
38638
38639         tests: avoid compiler warnings
38640         * tests/test-fcntl.c (main): Delete unused parameters.
38641         * tests/test-freopen-safer.c (main): Likewise.
38642         * tests/test-xalloc-die.c (main): Mark unused parameters.
38643         * tests/test-fseeko.c (main): Likewise.
38644         * tests/test-ftello.c (main): Likewise.
38645         * tests/test-nanosleep.c (main): Avoid declaration warning.
38646         * tests/test-sleep.c (main): Likewise.
38647         * tests/test-unsetenv.c (main): Silence warning about string
38648         literal.
38649         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
38650
38651 2009-12-23  Bruno Haible  <bruno@clisp.org>
38652
38653         * tests/test-localename.c (test_locale_name): New function, extracted
38654         from main. Also test mixed situations.
38655         (test_locale_name_posix, test_locale_name_environ,
38656         test_locale_name_default): New functions.
38657         (main): Invoke them all.
38658         * modules/localename-tests (configure.ac): Test for newlocale.
38659
38660 2009-12-23  Bruno Haible  <bruno@clisp.org>
38661
38662         unistd: Ensure getcwd gets declared before being overridden.
38663         * lib/unistd.in.h: Conditionally include <io.h>.
38664
38665 2009-12-22  Bruno Haible  <bruno@clisp.org>
38666
38667         wchar: Diagnose broken combination of glibc and gcc versions and flags.
38668         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
38669         (gl_WCHAR_H): Invoke it.
38670         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
38671         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
38672         Reported by Karl Berry <karl@freefriends.org>.
38673
38674 2009-12-22  Eric Blake  <ebb9@byu.net>
38675
38676         math, unistd: avoid redundant includes
38677         * lib/math.in.h (isnan): No need to re-include <math.h>.
38678         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
38679
38680         getsubopt: work around cygwin bug
38681         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
38682         avoid conflicting with system getsubopt.
38683         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
38684         bug.
38685
38686         getopt: synchronize from glibc
38687         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
38688         parameter order.  Adjust all callers.
38689         (_getopt_internal_r, main): Adjust quoting in error messages.
38690         Drop considerations for outdated POSIX 1003.2 error message.
38691         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
38692         callers.
38693         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
38694
38695         test-getopt: test stderr behavior
38696         * modules/getopt-posix-tests (Depends-on): Add dup2.
38697         * tests/test-getopt.c (ASSERT): Avoid stderr.
38698         (main): Move stderr to a temporary file.
38699         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
38700         Instead, add parameter to inform caller if output occurred.
38701         (test_getopt): Adjust all existing tests to expect silence, and
38702         add new tests of leading ":".
38703         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38704         glibc shortcomings with leading "-:" or "+:" in optstring.
38705         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38706         Likewise.
38707         * doc/posix-functions/getopt.texi (getopt): Likewise.
38708
38709         test-getopt: enhance test
38710         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
38711         supports optind=0.
38712         * tests/test-getopt.c (OPTIND_MIN): Move...
38713         * tests/test-getopt.h (OPTIND_MIN): ...here.
38714         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
38715         Require that optind=0 works, since modern BSD supports it in
38716         addition to optreset, and since coreutils expects it.
38717         (test_getopt_long_only): New test.
38718         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
38719         glibc shortcomings with 'W;', and enforcement of optind=0.
38720         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
38721         Likewise.
38722
38723 2009-12-21  Bruno Haible  <bruno@clisp.org>
38724
38725         localename: Improvements for MacOS X and Cygwin.
38726         * lib/localename.h (gl_locale_name_environ): New declaration.
38727         * lib/localename.c (gl_locale_name_environ): New function, extracted from
38728         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
38729         (gl_locale_name_posix): Invoke it.
38730         (gl_locale_name_default): Add comments. Use Windows native API also on
38731         Cygwin.
38732
38733 2009-12-21  Bruno Haible  <bruno@clisp.org>
38734
38735         Update list of Win32 locale ids.
38736         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
38737         (LANG_SAMI): Renamed from LANG_SAAMI.
38738         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
38739         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
38740         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
38741         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
38742         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
38743         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
38744         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
38745         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
38746         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
38747         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
38748         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
38749         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
38750         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
38751         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
38752         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
38753         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
38754         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
38755         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
38756         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
38757         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
38758         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
38759         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
38760         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
38761         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
38762         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
38763         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
38764         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
38765         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
38766         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
38767         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
38768         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
38769         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
38770         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
38771         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
38772         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
38773         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
38774         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
38775         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
38776         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
38777         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
38778         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
38779         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
38780         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
38781         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
38782         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
38783         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
38784         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
38785         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
38786         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
38787         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
38788         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
38789         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
38790         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
38791         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
38792         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
38793         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
38794         Add more languages and countries for Sami, Sorbian. Add more countries
38795         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
38796         for Pashto. Change country for Syriac, Tswana.
38797
38798 2009-12-21  Eric Blake  <ebb9@byu.net>
38799
38800         test-utimens: avoid spurious failure
38801         * tests/test-chown.h (nap): Factor...
38802         * tests/nap.h: ...into new file.
38803         * tests/test-lchown.h (nap): Avoid duplication.
38804         * tests/test-utimens-common.h (nap): Use shared implementation,
38805         necessary on file systems with 1-second resolution.
38806         * modules/chown-tests (Files): Include new file.
38807         * modules/fdutimensat-tests (Files): Likewise.
38808         * modules/futimens-tests (Files): Likewise.
38809         * modules/lchown-tests (Files): Likewise.
38810         * modules/openat-tests (Files): Likewise.
38811         * modules/utimens-tests (Files): Likewise.
38812         * modules/utimensat-tests (Files): Likewise.
38813
38814 2009-12-19  Eric Blake  <ebb9@byu.net>
38815
38816         futimens, utimensat: work around Linux bug
38817         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
38818         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38819         * lib/utimensat.c (rpl_utimensat): Work around it.
38820         * lib/futimens.c (rpl_futimens): Adjust comment.
38821
38822         utimens: work around Linux ctime bug
38823         * lib/utimens.c (detect_ctime_bug): New helper function.
38824         (update_timespec): Differentiate between workaround needed for
38825         this bug vs. what is needed for systems that lack utimensat.
38826         (fdutimens, lutimens): Work around bug.
38827
38828         utimens: check for ctime update
38829         * tests/test-utimens-common.h (check_ctime): Define.
38830         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
38831         * tests/test-futimens.h (test_futimens): Likewise.
38832         * tests/test-lutimens.h (test_lutimens): Likewise.
38833         * doc/posix-functions/futimens.texi (futimens): Document the bug.
38834         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38835
38836 2009-12-19  Bruno Haible  <bruno@clisp.org>
38837
38838         dprintf-posix: Check against memory leak fixed on 2009-12-15.
38839         * tests/test-dprintf-posix2.sh: New file.
38840         * tests/test-dprintf-posix2.c: New file.
38841         * modules/dprintf-posix-tests (Files): Add them.
38842         (configure.ac): Check for getrlimit and setrlimit.
38843         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38844
38845 2009-12-19  Bruno Haible  <bruno@clisp.org>
38846
38847         fprintf-posix: Check against memory leak fixed on 2009-12-15.
38848         * tests/test-fprintf-posix3.sh: New file.
38849         * tests/test-fprintf-posix3.c: New file.
38850         * modules/fprintf-posix-tests (Files): Add them.
38851         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
38852
38853 2009-12-19  Eric Blake  <ebb9@byu.net>
38854
38855         dirfd: fix prototype
38856         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
38857         * lib/dirfd.c (dirfd): Likewise.
38858
38859         canonicalize: reduce memory usage
38860         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
38861         allocation to size.
38862         Reported by Solar Designer <solar@openwall.com>.
38863
38864 2009-12-19  Bruno Haible  <bruno@clisp.org>
38865
38866         New module attribute 'Applicability'.
38867         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
38868         * gnulib-tool: New option --extract-applicability.
38869         (func_usage): Document it.
38870         (sed_extract_prog): Recognize it.
38871         (func_get_applicability): New function.
38872         (func_import): Generalize handling of 'link-warning' module.
38873         * modules/link-warning (Applicability): New section.
38874         * modules/arg-nonnull (Applicability): New section.
38875         Repoted by Simon Josefsson <simon@josefsson.org>.
38876
38877 2009-12-19  Bruno Haible  <bruno@clisp.org>
38878
38879         fflush: tweak
38880         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
38881         * lib/fseeko.c (rpl_fseeko): Likewise.
38882
38883 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
38884
38885         * lib/gl_list.h: Fix typo in comment.
38886
38887 2009-12-16  Eric Blake  <ebb9@byu.net>
38888
38889         fcntl: use to simplify other modules
38890         * modules/cloexec (Depends-on): Add fcntl.
38891         * modules/fchdir (Depends-on): Likewise.
38892         * modules/fd-safer-flag (Depends-on): Likewise.
38893         * modules/unistd-safer (Depends-on): Likewise.
38894         * modules/dup3 (configure.ac): Set module indicator.
38895         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
38896         missing.
38897         * lib/fchdir.c (_gl_register_dup): Fix comment.
38898         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
38899         * lib/dup-safer.c (dup_safer): Likewise.
38900         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
38901         * lib/dup3.c (dup3): Likewise.
38902         * tests/test-fchdir.c (main): Enhance test.
38903         Fixes a dup_cloexec bug reported by Ondřej Vašík.
38904
38905         fcntl: port portions of fcntl to mingw
38906         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
38907         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
38908         replacement for mingw.
38909         * modules/fcntl (Description): Update.
38910         (Depends-on): Add dup2.
38911         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
38912         * modules/fcntl-h (Makefile.am): Substitute it.
38913         * lib/fcntl.in.h (fcntl): Update declaration.
38914         (F_DUPFD, F_GETFD): New macros, when needed.
38915         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
38916         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
38917         * tests/test-fcntl.c (check_flags, main): Enhance test for items
38918         we now guarantee.
38919
38920         fcntl: work around cygwin bug in F_DUPFD
38921         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
38922         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
38923         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
38924         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
38925         * doc/posix-functions/fcntl.texi (fcntl): Document it.
38926
38927         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
38928         * modules/fcntl (Files): List new files.
38929         (configure.ac): Run a test.
38930         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
38931         * lib/fcntl.c (rpl_fcntl): Likewise.
38932         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
38933         (gl_FCNTL_H): Always replace fcntl.h.
38934         * modules/fcntl-h (Makefile.am): Substitute witnesses.
38935         * lib/fcntl.in.h (fcntl): Declare replacement.
38936         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
38937         needed, plus a witness.
38938         * doc/posix-functions/fcntl.texi (fcntl): Document this.
38939         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
38940         * tests/test-fcntl.c: New file.
38941         * modules/fcntl-tests: Likewise.
38942
38943         binary-io: avoid potential compilation warning
38944         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
38945         directives.
38946
38947         fflush: avoid compilation error on NetBSD
38948         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
38949         between off_t and fpos_t, since the latter is sometimes a struct.
38950         * lib/fseeko.c (rpl_fseeko): Likewise.
38951         Reported by Alexander Nasonov <alnsn@yandex.ru>.
38952
38953 2009-12-15  Eric Blake  <ebb9@byu.net>
38954
38955         fcntl-h, stdio, sys_ioctl: fix declarations
38956         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
38957         function must not take arguments.
38958         * lib/sys_ioctl.in.h (ioctl): Likewise.
38959         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
38960         (open): Add a link warning.
38961
38962 2009-12-15  Jim Meyering  <meyering@redhat.com>
38963
38964         areadlink, areadlink-with-size: relax license to LGPLv2+
38965         * modules/areadlink (License): Relax to LGPLv2+.
38966         * modules/areadlink-with-size (License): Likewise.
38967
38968 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
38969             Bruno Haible  <bruno@clisp.org>
38970
38971         *printf: Fix memory leak.
38972         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
38973         * lib/vfprintf.c (vfprintf): Likewise.
38974         * lib/dprintf.c (dprintf): Likewise.
38975         * lib/vdprintf.c (vdprintf): Likewise.
38976
38977 2009-12-14  Eric Blake  <ebb9@byu.net>
38978
38979         accept4: adjust module dependencies
38980         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
38981
38982         utimens: one more try at avoiding compiler warning
38983         * lib/utimens.c (lutimens): Lower scope of result.
38984
38985 2009-12-13  Bruno Haible  <bruno@clisp.org>
38986
38987         Move the malloc checking from module 'list' to new module 'xlist'.
38988         * modules/xlist: New file.
38989         * lib/gl_xlist.h: New file.
38990         * lib/gl_xlist.c: New file.
38991         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
38992         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
38993         gl_list_add_last, gl_list_add_before, gl_list_add_after,
38994         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
38995         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
38996         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
38997         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
38998         gl_sortedlist_nx_add): New declarations.
38999         (struct gl_list_implementation): Rename and change methods accordingly.
39000         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
39001         (gl_list_nx_create): Renamed from gl_list_create.
39002         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39003         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39004         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39005         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39006         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39007         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39008         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39009         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39010         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
39011         gl_list_create_empty.
39012         (gl_list_nx_create): Renamed from gl_list_create.
39013         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
39014         (gl_list_nx_set_at): Renamed from gl_list_set_at.
39015         (gl_list_nx_add_first): Renamed from gl_list_add_first.
39016         (gl_list_nx_add_last): Renamed from gl_list_add_last.
39017         (gl_list_nx_add_before): Renamed from gl_list_add_before.
39018         (gl_list_nx_add_after): Renamed from gl_list_add_after.
39019         (gl_list_nx_add_at): Renamed from gl_list_add_at.
39020         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
39021         * lib/gl_array_list.c: Don't include xalloc.h.
39022         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
39023         NULL upon out-of-memory.
39024         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
39025         out-of-memory.
39026         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
39027         Change return type to 'int'.
39028         (gl_array_nx_set_at): Renamed from gl_array_set_at.
39029         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39030         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
39031         upon out-of-memory.
39032         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
39033         upon out-of-memory.
39034         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
39035         upon out-of-memory.
39036         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
39037         upon out-of-memory.
39038         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
39039         out-of-memory.
39040         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
39041         Update.
39042         (gl_array_list_implementation): Update.
39043         * lib/gl_carray_list.c: Don't include xalloc.h.
39044         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
39045         Return NULL upon out-of-memory.
39046         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
39047         out-of-memory.
39048         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
39049         Change return type to 'int'.
39050         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
39051         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
39052         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
39053         upon out-of-memory.
39054         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
39055         upon out-of-memory.
39056         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
39057         out-of-memory.
39058         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
39059         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
39060         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
39061         Update.
39062         (gl_carray_list_implementation): Update.
39063         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
39064         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
39065         gl_linked_create_empty. Return NULL upon out-of-memory.
39066         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
39067         out-of-memory.
39068         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
39069         Change return type to 'int'. Return -1 upon out-of-memory.
39070         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
39071         out-of-memory.
39072         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
39073         upon out-of-memory.
39074         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
39075         upon out-of-memory.
39076         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
39077         NULL upon out-of-memory.
39078         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
39079         upon out-of-memory.
39080         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
39081         out-of-memory.
39082         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
39083         Update.
39084         * lib/gl_linked_list.c: Don't include xalloc.h.
39085         (gl_linked_list_implementation): Update.
39086         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
39087         (add_to_bucket): Change return type to 'int'.
39088         (gl_linkedhash_list_implementation): Update.
39089         * lib/gl_anytree_list1.h (free_subtree): New function.
39090         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
39091         gl_tree_create_empty. Return NULL upon out-of-memory.
39092         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
39093         Change return type to 'int'. Return -1 upon out-of-memory.
39094         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
39095         out-of-memory.
39096         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
39097         (gl_tree_remove_node): New function, moved here from
39098         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
39099         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
39100         Update.
39101         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
39102         malloc, not xmalloc. Return NULL upon out-of-memory.
39103         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39104         out-of-memory.
39105         (gl_tree_remove_node_from_tree): New function, extracted from
39106         gl_tree_remove_node.
39107         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39108         upon out-of-memory.
39109         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39110         out-of-memory.
39111         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39112         upon out-of-memory.
39113         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39114         upon out-of-memory.
39115         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39116         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
39117         not xmalloc. Return NULL upon out-of-memory.
39118         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
39119         out-of-memory.
39120         (gl_tree_remove_node_from_tree): New function, extracted from
39121         gl_tree_remove_node.
39122         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
39123         upon out-of-memory.
39124         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
39125         out-of-memory.
39126         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
39127         upon out-of-memory.
39128         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
39129         upon out-of-memory.
39130         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
39131         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
39132         gl_anytree_list1.h before gl_anyavltree_list2.h.
39133         (gl_avltree_list_implementation): Update.
39134         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
39135         gl_anytree_list1.h before gl_anyavltree_list2.h.
39136         (gl_rbtree_list_implementation): Update.
39137         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
39138         Change return type to 'int'. Return -1 upon out-of-memory. Use
39139         __builtin_expect.
39140         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
39141         (gl_avltreehash_list_implementation): Update.
39142         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
39143         (gl_rbtreehash_list_implementation): Update.
39144         * modules/array-list (Depends-on): Remove xalloc.
39145         * modules/carray-list (Depends-on): Likewise.
39146         * modules/linked-list (Depends-on): Likewise.
39147         * modules/linkedhash-list (Depends-on): Likewise.
39148         * modules/avltree-list (Depends-on): Likewise.
39149         * modules/rbtree-list (Depends-on): Likewise.
39150         * modules/avltreehash-list (Depends-on): Likewise.
39151         * modules/rbtreehash-list (Depends-on): Likewise.
39152
39153         * modules/xsublist: New file.
39154         * lib/gl_xsublist.h: New file.
39155         * lib/gl_xsublist.c: New file.
39156         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
39157         (gl_sublist_nx_create): New declaration.
39158         * lib/gl_sublist.c: Don't include xalloc.h.
39159         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
39160         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
39161         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
39162         Change return type to 'int'. Return -1 upon out-of-memory.
39163         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
39164         upon out-of-memory.
39165         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
39166         NULL upon out-of-memory.
39167         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
39168         upon out-of-memory.
39169         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
39170         NULL upon out-of-memory.
39171         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
39172         NULL upon out-of-memory.
39173         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
39174         upon out-of-memory.
39175         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
39176         (gl_sublist_list_implementation): Update.
39177         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
39178         upon out-of-memory.
39179         * modules/sublist (Depends-on): Remove xalloc.
39180
39181         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
39182         * tests/test-carray_list.c: Likewise.
39183         * tests/test-linked_list.c: Likewise.
39184         * tests/test-linkedhash_list.c: Likewise.
39185         * tests/test-avltree_list.c: Likewise.
39186         * tests/test-rbtree_list.c: Likewise.
39187         * tests/test-avltreehash_list.c: Likewise.
39188         * tests/test-rbtreehash_list.c: Likewise.
39189         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
39190         * modules/carray-list-tests (Makefile.am): Likewise.
39191         * modules/linked-list-tests (Makefile.am): Likewise.
39192         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39193         * modules/avltree-list-tests (Makefile.am): Likewise.
39194         * modules/rbtree-list-tests (Makefile.am): Likewise.
39195         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39196         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39197
39198         * NEWS: Mention the changes.
39199
39200         * lib/clean-temp.c: Include gl_xlist.h.
39201         * modules/clean-temp (Depends-on): Add xlist.
39202
39203         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
39204         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
39205
39206         * tests/test-array_oset.c: Include gl_xlist.h.
39207         * modules/array-oset-tests (Depends-on): Add xlist.
39208
39209         Reported by José E. Marchesi <jemarch@gnu.org>.
39210
39211 2009-12-13  Bruno Haible  <bruno@clisp.org>
39212
39213         Move the malloc checking from module 'oset' to new module 'xoset'.
39214         * modules/xoset: New file.
39215         * lib/gl_xoset.h: New file.
39216         * lib/gl_xoset.c: New file.
39217         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
39218         declarations.
39219         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
39220         (struct gl_oset_implementation): Rename and change methods accordingly.
39221         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
39222         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39223         'int'. Mark as __warn_unused_result__.
39224         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
39225         gl_oset_create_empty.
39226         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
39227         'int'.
39228         * lib/gl_array_oset.c: Don't include xalloc.h.
39229         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
39230         malloc, not xmalloc.
39231         (grow): Change return type to 'int'. Don't call xalloc_die.
39232         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
39233         to 'int'.
39234         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
39235         'int'.
39236         (gl_array_oset_implementation): Update.
39237         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
39238         gl_tree_create_empty.
39239         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
39240         'int'.
39241         * lib/gl_avltree_oset.c: Don't include xalloc.h.
39242         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39243         xmalloc.
39244         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39245         not xmalloc.
39246         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39247         xmalloc.
39248         (gl_avltree_oset_implementation): Update.
39249         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
39250         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
39251         xmalloc.
39252         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
39253         not xmalloc.
39254         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
39255         xmalloc.
39256         (gl_rbtree_oset_implementation): Update.
39257         * modules/array-oset (Depends-on): Remove xalloc.
39258         * modules/avltree-oset (Depends-on): Likewise.
39259         * modules/rbtree-oset (Depends-on): Likewise.
39260         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
39261         * tests/test-avltree_oset.c: Likewise.
39262         * tests/test-rbtree_oset.c: Likewise.
39263         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
39264         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
39265         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39266         * NEWS: Mention the change.
39267
39268 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
39269
39270         maint.mk: allow a project to override release-prep commands
39271         * top/maint.mk (alpha, beta, stable): Move release-preparatory
39272         commands into a new rule.
39273         (release-prep): New rule.
39274         (release-prep-hook): New overridable variable.
39275
39276 2009-12-13  Bruno Haible  <bruno@clisp.org>
39277
39278         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
39279
39280 2009-12-13  Jim Meyering  <meyering@redhat.com>
39281
39282         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
39283         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
39284
39285 2009-12-12  Bruno Haible  <bruno@clisp.org>
39286
39287         duplocale: Tweak.
39288         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
39289
39290 2009-12-12  Karl Berry  <karl@gnu.org>
39291
39292         * config/srclist.txt (strtoll.c): tab changes, no more sync.
39293
39294 2009-12-12  Bruno Haible  <bruno@clisp.org>
39295
39296         * m4/po.m4: Undo incorrect untabification.
39297
39298 2009-12-12  Bruno Haible  <bruno@clisp.org>
39299
39300         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
39301         * modules/c-strtod (Depends-on): Add locale.
39302         * modules/c-strtold (Depends-on): Likewise.
39303
39304 2009-12-12  Bruno Haible  <bruno@clisp.org>
39305
39306         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
39307
39308 2009-12-11  Eric Blake  <ebb9@byu.net>
39309
39310         setenv: relax requirement in light of POSIX ruling
39311         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
39312         not NULL.
39313         * tests/test-setenv.c (main): Relax test.
39314         * tests/test-unsetenv.c (main): Likewise.
39315         * doc/posix-functions/setenv.texi (setenv): Document this.
39316         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
39317
39318 2009-12-11  Bruno Haible  <bruno@clisp.org>
39319
39320         New module 'fd-safer-flag'.
39321         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
39322         * lib/dup-safer.c (dup_safer_flag): Remove function.
39323         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
39324         * lib/fd-safer.c (fd_safer_flag): Remove function.
39325         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
39326         * modules/cloexec (configure.ac): Drop indicator macro.
39327         * modules/fd-safer-flag: New file.
39328         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
39329         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
39330         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
39331
39332 2009-12-11  Bruno Haible  <bruno@clisp.org>
39333
39334         Tests for module 'nl_langinfo'.
39335         * modules/nl_langinfo-tests: New file.
39336         * tests/test-nl_langinfo.sh: New file.
39337         * tests/test-nl_langinfo.c: New file.
39338
39339         New module 'nl_langinfo'.
39340         * lib/nl_langinfo.c: New file.
39341         * m4/nl_langinfo.m4: New file.
39342         * modules/nl_langinfo: New file.
39343         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
39344
39345 2009-12-11  Bruno Haible  <bruno@clisp.org>
39346
39347         Tests for module 'langinfo'.
39348         * modules/langinfo-tests: New file.
39349         * tests/test-langinfo.c: New file.
39350
39351         New module 'langinfo'.
39352         * lib/langinfo.in.h: New file.
39353         * m4/langinfo_h.m4: New file.
39354         * modules/langinfo: New file.
39355         * doc/posix-headers/langinfo.texi: Mention the new module.
39356
39357 2009-12-11  Bruno Haible  <bruno@clisp.org>
39358
39359         * lib/config.charset: Untabify.
39360
39361 2009-12-11  Bruno Haible  <bruno@clisp.org>
39362
39363         * modules/unistd-safer (configure.ac): Drop indicator macro.
39364
39365 2009-12-11  Bruno Haible  <bruno@clisp.org>
39366
39367         Move pipe2-safer code to its own file.
39368         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
39369         * lib/pipe-safer.c (pipe2_safer): Remove function.
39370         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
39371         (Makefile.am): Add it to lib_SOURCES.
39372
39373 2009-12-10  Bruno Haible  <bruno@clisp.org>
39374
39375         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
39376
39377 2009-12-10  Bruno Haible  <bruno@clisp.org>
39378
39379         Declare which arguments expect non-NULL values, for GCC and clang.
39380         * build-aux/arg-nonnull.h: New file.
39381         * modules/arg-nonnull: New file.
39382         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
39383         (inet_ntop, inet_pton): Use it.
39384         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
39385         (closedir, dirfd, opendir, scandir, alphasort): Use it.
39386         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
39387         (open, openat): Use it.
39388         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
39389         (fnmatch): Use it.
39390         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
39391         (getopt, getopt_long, getopt_long_only): Use it.
39392         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
39393         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
39394         Use it.
39395         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
39396         (iconv_open): Use it.
39397         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
39398         (strtoimax, strtoumax): Use it.
39399         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
39400         (duplocale): Use it.
39401         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
39402         (frexp, frexpl): Use it.
39403         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
39404         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
39405         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
39406         (tsearch, tfind, tdelete, twalk): Use it.
39407         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
39408         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
39409         sigpending): Use it.
39410         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
39411         (posix_spawn, posix_spawnp, posix_spawnattr_init,
39412         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
39413         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
39414         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
39415         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
39416         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
39417         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
39418         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
39419         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
39420         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
39421         Use it.
39422         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
39423         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
39424         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
39425         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
39426         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
39427         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
39428         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
39429         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
39430         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
39431         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
39432         strtoull, unsetenv): Use it.
39433         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
39434         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
39435         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
39436         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
39437         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
39438         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
39439         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
39440         (strcasecmp, strncasecmp): Use it.
39441         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
39442         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
39443         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
39444         rpl_setsockopt): Use it.
39445         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
39446         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
39447         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
39448         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
39449         (gettimeofday): Use it.
39450         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
39451         (times): Use it.
39452         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
39453         (uname): Use it.
39454         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
39455         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
39456         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
39457         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
39458         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
39459         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
39460         unlinkat, write): Use it.
39461         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
39462         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
39463         * lib/argv-iter.h: Include arg-nonnull.h.
39464         (_ATTRIBUTE_NONNULL_): Remove macro.
39465         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
39466         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
39467         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
39468         optimization.
39469         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
39470         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
39471         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
39472         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
39473         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
39474         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
39475         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
39476         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
39477         * modules/arpa_inet (Depends-on): Add arg-nonnull.
39478         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
39479         * modules/dirent (Depends-on): Add arg-nonnull.
39480         (Makefile.am): Insert arg-nonnull.h into dirent.h.
39481         * modules/fcntl-h (Depends-on): Add arg-nonnull.
39482         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
39483         * modules/fnmatch (Depends-on): Add arg-nonnull.
39484         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
39485         * modules/getopt-posix (Depends-on): Add arg-nonnull.
39486         (Makefile.am): Insert arg-nonnull.h into getopt.h.
39487         * modules/glob (Depends-on): Add arg-nonnull.
39488         (Makefile.am): Insert arg-nonnull.h into glob.h.
39489         * modules/iconv_open (Depends-on): Add arg-nonnull.
39490         (Makefile.am): Insert arg-nonnull.h into iconv.h.
39491         * modules/inttypes (Depends-on): Add arg-nonnull.
39492         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
39493         * modules/locale (Depends-on): Add arg-nonnull.
39494         (Makefile.am): Insert arg-nonnull.h into locale.h.
39495         * modules/math (Depends-on): Add arg-nonnull.
39496         (Makefile.am): Insert arg-nonnull.h into math.h.
39497         * modules/netdb (Depends-on): Add arg-nonnull.
39498         (Makefile.am): Insert arg-nonnull.h into netdb.h.
39499         * modules/search (Depends-on): Add arg-nonnull.
39500         (Makefile.am): Insert arg-nonnull.h into search.h.
39501         * modules/signal (Depends-on): Add arg-nonnull.
39502         (Makefile.am): Insert arg-nonnull.h into signal.h.
39503         * modules/spawn (Depends-on): Add arg-nonnull.
39504         (Makefile.am): Insert arg-nonnull.h into spawn.h.
39505         * modules/stdio (Depends-on): Add arg-nonnull.
39506         (Makefile.am): Insert arg-nonnull.h into stdio.h.
39507         * modules/stdlib (Depends-on): Add arg-nonnull.
39508         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
39509         * modules/string (Depends-on): Add arg-nonnull.
39510         (Makefile.am): Insert arg-nonnull.h into string.h.
39511         * modules/strings (Depends-on): Add arg-nonnull.
39512         (Makefile.am): Insert arg-nonnull.h into strings.h.
39513         * modules/sys_socket (Depends-on): Add arg-nonnull.
39514         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
39515         * modules/sys_stat (Depends-on): Add arg-nonnull.
39516         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
39517         * modules/sys_time (Depends-on): Add arg-nonnull.
39518         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
39519         * modules/sys_times (Depends-on): Add arg-nonnull.
39520         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
39521         * modules/sys_utsname (Depends-on): Add arg-nonnull.
39522         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
39523         * modules/time (Depends-on): Add arg-nonnull.
39524         (Makefile.am): Insert arg-nonnull.h into time.h.
39525         * modules/unistd (Depends-on): Add arg-nonnull.
39526         (Makefile.am): Insert arg-nonnull.h into unistd.h.
39527         * modules/wchar (Depends-on): Add arg-nonnull.
39528         (Makefile.am): Insert arg-nonnull.h into wchar.h.
39529         * modules/argv-iter (Depends-on): Add arg-nonnull.
39530         * tests/test-canonicalize.c (null_ptr): New function.
39531         (main): Use it.
39532         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
39533         (main): Use it.
39534         * tests/test-memmem.c (null_ptr): New function.
39535         (main): Use it.
39536         Reported by Jim Meyering.
39537
39538 2009-12-10  Bruno Haible  <bruno@clisp.org>
39539
39540         Use spaces for indentation, not tabs.
39541         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
39542         * m4/*.m4: Untabify.
39543         * build-aux/*.h: Untabify.
39544         * tests/**/*.[hc]: Untabify.
39545         * README: New section "Indent with spaces, not TABs", based on
39546         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
39547         * NEWS: Mention the change.
39548
39549 2009-12-10  Bruno Haible  <bruno@clisp.org>
39550
39551         pty test: Fix link error.
39552         * modules/pty-tests (Makefile.am): Add the default LDADD value to
39553         test_pty_LDADD.
39554
39555 2009-12-07  Simon Josefsson  <simon@josefsson.org>
39556
39557         * modules/pty: New file.
39558         * modules/pty-tests: New file.
39559         * m4/pty.m4: New file.
39560         * tests/test-pty.c: New file.
39561         * doc/glibc-headers/pty.texi: Modified.
39562         * doc/glibc-functions/forkpty.texi: Modified.
39563         * doc/glibc-functions/openpty.texi: Modified.
39564
39565 2009-12-10  Bruno Haible  <bruno@clisp.org>
39566
39567         Avoid syntax error in C++ mode.
39568         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
39569
39570 2009-12-10  Bruno Haible  <bruno@clisp.org>
39571
39572         Use sed with option -e.
39573         * gnulib-tool (func_version, func_emit_copyright_notice,
39574         func_emit_initmacro_end, func_import, func_create_testdir): Pass
39575         option -e to sed.
39576         * modules/link-warning (Makefile.am): Likewise.
39577
39578 2009-12-10  Jim Meyering  <meyering@redhat.com>
39579
39580         mgetgroups: do not write bytes beyond end of malloc'd buffer
39581         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
39582         username, we call getgroups with a one-element-shorter buffer,
39583         but still told it the length was original, max_n_groups.
39584
39585 2009-12-09  Eric Blake  <ebb9@byu.net>
39586
39587         cloexec: relax license
39588         * modules/cloexec (Maintainer): Add myself.
39589         (License): Use LGPL, not GPL.
39590
39591         link-warning: optimize generation
39592         * modules/link-warning (Makefile.am): Reduce process usage.
39593
39594 2009-12-09  Bruno Haible  <bruno@clisp.org>
39595
39596         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
39597         workaround was added on 2009-11-17.
39598
39599 2009-12-09  Jim Meyering  <meyering@redhat.com>
39600             Bruno Haible  <bruno@clisp.org>
39601
39602         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
39603         * modules/link-warning (Makefile.am): Make the comment-removing sed
39604         command more robust in the face of bootstrap-prepended comment lines.
39605
39606 2009-12-09  Bruno Haible  <bruno@clisp.org>
39607
39608         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
39609         most one group.
39610
39611 2009-12-09  Simon Josefsson <simon@josefsson.org>
39612             Bruno Haible  <bruno@clisp.org>
39613
39614         * build-aux/link-warning.h: Add copyright notice.
39615         * modules/link-warning (Makefile.am): Generate link-warning.h from
39616         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
39617         * NEWS: Mention change in link-warning module.
39618         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
39619         * modules/dirent (Makefile.am): Add dependency to dirent.h.
39620         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
39621         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
39622         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
39623         * modules/math (Makefile.am): Add dependency to math.h.
39624         * modules/search (Makefile.am): Add dependency to search.h.
39625         * modules/signal (Makefile.am): Add dependency to signal.h.
39626         * modules/spawn (Makefile.am): Add dependency to spawn.h.
39627         * modules/stdio (Makefile.am): Add dependency to stdio.h.
39628         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
39629         * modules/string (Makefile.am): Add dependency to string.h.
39630         * modules/strings (Makefile.am): Add dependency to strings.h.
39631         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
39632         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
39633         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
39634         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
39635         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
39636         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
39637         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
39638         * modules/unistd (Makefile.am): Add dependency to unistd.h.
39639         * modules/wchar (Makefile.am): Add dependency to wchar.h.
39640
39641 2009-12-09  Bruno Haible  <bruno@clisp.org>
39642
39643         fchdir: Optimize away rpl_fstat when possible.
39644         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
39645         REPLACE_OPEN_DIRECTORY.
39646         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
39647
39648 2009-12-09  Bruno Haible  <bruno@clisp.org>
39649
39650         * lib/fchdir.c: Update comment.
39651
39652 2009-12-09  Bruno Haible  <bruno@clisp.org>
39653
39654         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
39655
39656 2009-12-08  Eric Blake  <ebb9@byu.net>
39657
39658         fchdir: avoid memory leak on re-registration.
39659         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
39660
39661 2009-12-08  Jim Meyering  <meyering@redhat.com>
39662
39663         init.sh: avoid Solaris 10 /bin/sh portability problem
39664         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
39665         sourced script:
39666           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
39667           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
39668           bar
39669         tests/init.sh relied on that, accepting a --set-path=DIR argument,
39670         and two tests used that idiom.
39671         * tests/init.sh: Update suggested usage comments.
39672         (path_prepend_): New function, to be used in place
39673         of the --src-path=DIR option.
39674         (setup_): Move PATH-prepending code into path_prepend_.
39675         * tests/test-pread.sh: Adapt to new usage.
39676         * tests/test-xalloc-die.sh: Likewise.
39677
39678 2009-12-08  Simon Josefsson  <simon@josefsson.org>
39679
39680         * doc/gnulib.texi (Glibc pty.h): Add.
39681         * doc/glibc-functions/forkpty.texi: Add.
39682         * doc/glibc-functions/openpty.texi: Add.
39683         Suggested by Bruno Haible.
39684
39685 2009-12-08  Eric Blake  <ebb9@byu.net>
39686
39687         fchdir: fix logic bugs
39688         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
39689         * tests/test-fchdir.c (main): Enhance test.
39690         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
39691         is in use.
39692
39693         dup2: fix logic bugs
39694         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
39695         REPLACE_DUP2 to decide when rpl_dup2 is needed.
39696         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
39697         exists.
39698         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
39699
39700 2009-12-07  Eric Blake  <ebb9@byu.net>
39701
39702         unlink: fix m4 detection
39703         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
39704
39705         unistd-safer: add unit test
39706         * modules/unistd-safer-tests: New file.
39707         * tests/test-dup-safer.c: Likewise.
39708         * tests/test-cloexec.c (setmode): Avoid compiler warning.
39709         * tests/test-dup2.c (setmode): Likewise.
39710         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
39711
39712         cloexec: preserve text vs. binary across dup_cloexec
39713         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
39714         mode.
39715         * modules/dup2-tests (Depends-on): Add binary-io.
39716         * modules/cloexec-tests (Depends-on): Likewise.
39717         * tests/test-dup2.c (setmode, is_mode): New helpers.
39718         (main): Add tests that translation mode is preserved.
39719         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
39720         Reported by Bruno Haible.
39721
39722         mgetgroups: reduce duplicate listings
39723         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
39724         resulting array.
39725         * tests/test-chown.h (test_chown): Simplify client.
39726         * tests/test-lchown.h (test_lchown): Likewise.
39727
39728 2009-12-06  Bruno Haible  <bruno@clisp.org>
39729
39730         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
39731         value.
39732
39733 2009-12-06  Bruno Haible  <bruno@clisp.org>
39734
39735         * lib/progname.c: Include stdio.h, stdlib.h.
39736         (set_program_name): Reject a NULL argument.
39737
39738 2009-12-05  Eric Blake  <ebb9@byu.net>
39739
39740         pipe2-safer: new module
39741         * modules/pipe2-safer: New file.
39742         * lib/unistd-safer.h (pipe2_safer): New prototype.
39743         * lib/unistd--.h (pipe2): New wrapper.
39744         * lib/pipe-safer.c (pipe2_safer): New function.
39745         * modules/pipe (Depends-on): Add pipe2-safer.
39746         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
39747
39748         stdlib-safer: preserve cloexec flag for mkostemp[s]
39749         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
39750         fd_safer_flag.
39751
39752         unistd-safer: allow preservation of cloexec status via flag
39753         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
39754         prototypes.
39755         * lib/dup-safer.c (dup_safer_flag): New function.
39756         * lib/fd-safer.c (fd_safer_flag): Likewise.
39757         * modules/cloexec (configure.ac): Set witness.
39758
39759         test-dup2: enhance test
39760         * modules/dup2-tests (Depends-on): Add cloexec.
39761         * tests/test-dup2.c (main): Enhance test.
39762
39763         cloexec: add dup_cloexec
39764         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
39765         header and comments.
39766         * lib/cloexec.c (set_cloexec_flag): Add comments.
39767         (dup_cloexec): New function, with mingw implementation borrowed
39768         from...
39769         * lib/w32spawn.h (dup_noinherit): ...here.
39770         * modules/execute (Depends-on): Add cloexec.
39771         * modules/pipe (Depends-on): Likewise.
39772         * modules/cloexec (Depends-on): Add dup2.
39773         * modules/cloexec-tests (Files): New file.
39774         * tests/test-cloexec.c: Likewise.
39775
39776         test-xalloc-die: fix test for mingw
39777         * modules/xalloc-die-tests (Files): Add tests/init.sh.
39778         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
39779         directory and .exe suffix off argv[0] output.
39780
39781         test-fseeko: fix test for mingw
39782         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
39783         than undefining fseek, so test will pass on mingw.
39784
39785 2009-12-05  Bruno Haible  <bruno@clisp.org>
39786
39787         * lib/progname.h (set_program_name): Clarify specification.
39788         * lib/progname.c (set_program_name): Likewise.
39789         Reported by Jim Meyering.
39790
39791 2009-12-05  Jim Meyering  <meyering@redhat.com>
39792
39793         maint.mk: backslash-escape parens in default regexp
39794         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
39795         backslash-escape the literal parentheses.
39796
39797         maint.mk: news-date-check: use grep -E
39798         * top/maint.mk (today): Define a Make variable, not a...
39799         (news-date-check): ...shell variable.
39800         (news-date-regexp): Use the Make variable.
39801         Use grep's -E option.  Change the failing diagnostic to mention
39802         the variable, $(news-date-regexp).
39803
39804 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
39805
39806         maintainer-makefile: allow customization of NEWS entry format
39807         * top/maint.mk (news-date-regexp): New overridable variable.
39808         (news-date-check): Use it.
39809
39810 2009-12-04  Eric Blake  <ebb9@byu.net>
39811
39812         mgetgroups: add xgetgroups, and avoid ENOSYS failures
39813         * lib/mgetgroups.h (xgetgroups): New prototype.
39814         * lib/mgetgroups.c (xgetgroups): New wrapper.
39815         (mgetgroups): Handle ENOSYS.
39816         * modules/mgetgroups (Depends-on): Add realloc.
39817         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
39818
39819         mgetgroups: avoid argument promotion issues with -1
39820         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
39821         for invalid gid_t.
39822         * tests/test-chown.h (getegid, test_chown): Likewise.
39823         * tests/test-lchown.h (getegid, test_lchown): Likewise.
39824
39825 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
39826
39827         exclude: Fix header file problems.
39828         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
39829
39830 2009-12-01  Jim Meyering  <meyering@redhat.com>
39831
39832         fts: fts_open: do not let an empty string cause immediate failure
39833         This is required in support of GNU rm, for which the command
39834         "rm A '' B" must process and remove both A and B, in spite of
39835         the empty string argument.
39836         * lib/fts.c (fts_open): Do not let the presence of an empty string
39837         cause fts_open to fail immediately.  Most fts-using tools must be
39838         able to process all arguments, in order, and can be expected to
39839         diagnose such arguments themselves.
39840
39841 2009-11-30  Eric Blake  <ebb9@byu.net>
39842
39843         utimens: fix compilation error
39844         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
39845         Declare variable at right scope.
39846
39847 2009-11-29  Jim Meyering  <meyering@redhat.com>
39848
39849         bootstrap: handle perl-5.11's changed --version output
39850         * build-aux/bootstrap (get_version): Handle perl separately,
39851         since perl-5.11's --version output is different.
39852
39853 2009-11-28  Jim Meyering  <meyering@redhat.com>
39854
39855         userspec: depend on the inttostr module, too
39856         * modules/userspec (Depends-on): Add inttostr.
39857
39858         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
39859         * lib/userspec.c (parse_with_separator): Do not accept a user ID
39860         number of MAXUID when it evaluates to (uid_t) -1.
39861         Likewise for group ID.  Reported by Matt McCutchen in
39862         <http://savannah.gnu.org/bugs/?28113>
39863
39864         userspec: reformat to use spaces, not TABs
39865         * lib/userspec.c: Expand TABs to spaces.
39866         Add Emacs' "indent-tabs-mode: nil" hint.
39867
39868 2009-11-27  Eric Blake  <ebb9@byu.net>
39869
39870         getopt-gnu: flush out another BSD bug
39871         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
39872         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
39873         flush out BSD bug.
39874         * tests/test-getopt.h (test_getopt): End lists with NULL.
39875         * tests/test-getopt_long.h (test_getopt_long): Likewise.
39876         (test_getopt_long_posix): Enhance test.
39877         * modules/getopt-posix-tests (Depends-on): Add stdbool.
39878         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
39879         getopt-gnu.
39880         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39881         Likewise.
39882
39883 2009-11-27  Simon Josefsson  <simon@josefsson.org>
39884
39885         * modules/idpriv-droptemp-tests (Notice): Fix text.
39886
39887 2009-11-27  Jim Meyering  <meyering@redhat.com>
39888
39889         test-xalloc-die: avoid spurious failure due to libtool argv difference
39890         In a libtool-enabled project, this test would fail due to a difference
39891         in the emitted program name, e.g.,
39892         -test-xalloc-die: memory exhausted
39893         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
39894         Use program to avoid that.
39895         * modules/xalloc-die-tests (Depends-on): Add progname.
39896         * tests/test-xalloc-die.c: Include progname.h".
39897         (program_name): Remove decl.
39898         (main): Call set_program_name.
39899         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
39900
39901 2009-11-26  Richard Jones  <rjones@redhat.com>
39902
39903         w32sock: leave win32 error in place.
39904         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
39905
39906 2009-11-26  Eric Blake  <ebb9@byu.net>
39907
39908         init.sh: suggest to use skip_ and fail_ functions in comments
39909         * tests/init.sh: Add a sentence.
39910
39911 2009-11-25  Bruno Haible  <bruno@clisp.org>
39912
39913         init.sh: add documentation in comments
39914         * tests/init.sh: Add some developer and user documentation.
39915
39916 2009-11-26  Jim Meyering  <meyering@redhat.com>
39917
39918         init.sh: accommodate even those who specify bogus srcdir manually
39919         * tests/init.sh: Normally, srcdir is guaranteed by automake and
39920         configure-time tests to be sanitized, so that there is no need to
39921         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
39922         (with no double quotes) suffices.  However, since tests may be
39923         invoked manually, and since you may explicitly set srcdir to the
39924         name of a directory containing spaces, do quote its uses here.
39925         * tests/test-pread.sh: Likewise.
39926         Suggested by Bruno Haible.
39927
39928         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
39929         * tests/test-pread.sh: Write no data into the pipe, because
39930         test-pread actually reads none.  This avoids a diagnostic,
39931         "bash: echo: write error: Broken pipe", that arises in the unusual
39932         event something is ignoring SIGPIPE, and might be interpreted
39933         as some sort of failure.  Reported by Bruno Haible.
39934
39935 2009-11-25  Jim Meyering  <meyering@redhat.com>
39936
39937         test-pread: cover failure with ESPIPE and EINVAL
39938         * tests/test-pread.c (main): Test for failure, too.
39939         * tests/test-pread.sh: Invoke with stdin on a pipe.
39940         Suggested by Eric Blake.
39941
39942         pread: improvement and fix
39943         * modules/pread (Depends-on): Depend on lseek, for portability to
39944         e.g., mingw.  Suggested by Eric Blake.
39945         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
39946
39947         unistd.in.h: correct declaration of pread
39948         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
39949         Reported by Richard W.M. Jones.
39950
39951         test-pread.sh: distribute the test script
39952         * modules/pread-tests (Files): Include test-pread.sh.
39953
39954         test-pread.sh: clean up
39955         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
39956         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
39957         That is unnecessary, since it's always ".".
39958         Suggestion from Eric Blake.
39959
39960         test-pread.sh: make executable
39961         * tests/test-pread.sh: Set executable bit.
39962         Reported by Eric Blake.
39963
39964         correct typo in test-pread.sh
39965         * tests/test-pread.sh: Add #! line.
39966
39967         test pread
39968         * tests/test-pread.c: New file.
39969         * tests/test-pread.sh: Likewise.
39970         * modules/pread-tests: Likewise.
39971
39972         pread: new module
39973         * modules/pread: New file.
39974         * lib/unistd.in.h (pread): Define/declare.
39975         * lib/pread.c (pread): New file.
39976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
39977         * modules/unistd (Makefile.am): Substitute witnesses.
39978         * doc/posix-functions/pread.texi (pread): Update.
39979         * MODULES.html.sh: Add pread.
39980
39981 2009-11-25  Jim Meyering  <meyering@redhat.com>
39982
39983         tests/init.sh: new file to be used via most *.sh tests
39984         * tests/init.sh: New file.
39985
39986 2009-11-25  Eric Blake  <ebb9@byu.net>
39987
39988         utimens: work around older Linux failure with symlinks
39989         * lib/utimens.c (lutimensat_works_really): New variable.
39990         (fdutimens, lutimens): Use it to manage kernels that support
39991         nanosecond times on files, but not on symlinks.
39992         Reported by Ondřej Vašík.
39993
39994         utimes: fix configure grammar
39995         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
39996
39997 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
39998
39999         regex: Fix fastmap for multibyte character ranges.
40000         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
40001         characters when a multibyte character range is included.
40002
40003 2009-11-22  Andy Wingo  <wingo@pobox.com>
40004
40005         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
40006         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
40007
40008 2009-11-24  Bruno Haible  <bruno@clisp.org>
40009
40010         doc: Most *_l functions exist in MacOS X 10.5.
40011         * doc/posix-functions/duplocale.texi: Update platforms list.
40012         * doc/posix-functions/freelocale.texi: Likewise.
40013         * doc/posix-functions/newlocale.texi: Likewise.
40014         * doc/posix-functions/uselocale.texi: Likewise.
40015         * doc/posix-functions/isalnum_l.texi: Likewise.
40016         * doc/posix-functions/isalpha_l.texi: Likewise.
40017         * doc/posix-functions/isblank_l.texi: Likewise.
40018         * doc/posix-functions/iscntrl_l.texi: Likewise.
40019         * doc/posix-functions/isdigit_l.texi: Likewise.
40020         * doc/posix-functions/isgraph_l.texi: Likewise.
40021         * doc/posix-functions/islower_l.texi: Likewise.
40022         * doc/posix-functions/isprint_l.texi: Likewise.
40023         * doc/posix-functions/ispunct_l.texi: Likewise.
40024         * doc/posix-functions/isspace_l.texi: Likewise.
40025         * doc/posix-functions/isupper_l.texi: Likewise.
40026         * doc/posix-functions/iswalnum_l.texi: Likewise.
40027         * doc/posix-functions/iswalpha_l.texi: Likewise.
40028         * doc/posix-functions/iswblank_l.texi: Likewise.
40029         * doc/posix-functions/iswcntrl_l.texi: Likewise.
40030         * doc/posix-functions/iswctype_l.texi: Likewise.
40031         * doc/posix-functions/iswdigit_l.texi: Likewise.
40032         * doc/posix-functions/iswgraph_l.texi: Likewise.
40033         * doc/posix-functions/iswlower_l.texi: Likewise.
40034         * doc/posix-functions/iswprint_l.texi: Likewise.
40035         * doc/posix-functions/iswpunct_l.texi: Likewise.
40036         * doc/posix-functions/iswspace_l.texi: Likewise.
40037         * doc/posix-functions/iswupper_l.texi: Likewise.
40038         * doc/posix-functions/iswxdigit_l.texi: Likewise.
40039         * doc/posix-functions/isxdigit_l.texi: Likewise.
40040         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
40041         * doc/posix-functions/strcasecmp_l.texi: Likewise.
40042         * doc/posix-functions/strcoll_l.texi: Likewise.
40043         * doc/posix-functions/strfmon_l.texi: Likewise.
40044         * doc/posix-functions/strftime_l.texi: Likewise.
40045         * doc/posix-functions/strncasecmp_l.texi: Likewise.
40046         * doc/posix-functions/strxfrm_l.texi: Likewise.
40047         * doc/posix-functions/tolower_l.texi: Likewise.
40048         * doc/posix-functions/toupper_l.texi: Likewise.
40049         * doc/posix-functions/towctrans_l.texi: Likewise.
40050         * doc/posix-functions/towlower_l.texi: Likewise.
40051         * doc/posix-functions/towupper_l.texi: Likewise.
40052         * doc/posix-functions/wcscoll_l.texi: Likewise.
40053         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
40054         * doc/posix-functions/wctrans_l.texi: Likewise.
40055         * doc/posix-functions/wctype_l.texi: Likewise.
40056         * doc/glibc-functions/strptime_l.texi: Likewise.
40057         * doc/glibc-functions/strtod_l.texi: Likewise.
40058         * doc/glibc-functions/strtof_l.texi: Likewise.
40059         * doc/glibc-functions/strtol_l.texi: Likewise.
40060         * doc/glibc-functions/strtold_l.texi: Likewise.
40061         * doc/glibc-functions/strtoll_l.texi: Likewise.
40062         * doc/glibc-functions/strtoul_l.texi: Likewise.
40063         * doc/glibc-functions/strtoull_l.texi: Likewise.
40064         * doc/glibc-functions/wcsftime_l.texi: Likewise.
40065         * doc/glibc-functions/wcstod_l.texi: Likewise.
40066         * doc/glibc-functions/wcstof_l.texi: Likewise.
40067         * doc/glibc-functions/wcstol_l.texi: Likewise.
40068         * doc/glibc-functions/wcstold_l.texi: Likewise.
40069         * doc/glibc-functions/wcstoll_l.texi: Likewise.
40070         * doc/glibc-functions/wcstoul_l.texi: Likewise.
40071         * doc/glibc-functions/wcstoull_l.texi: Likewise.
40072
40073 2009-11-24  Bruno Haible  <bruno@clisp.org>
40074
40075         duplocale: Fix logic bug.
40076         * lib/duplocale.c: Don't include <langinfo.h>.
40077         (_NL_LOCALE_NAME): Remove macro.
40078         (rpl_duplocale): Use setlocale instead of nl_langinfo.
40079         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
40080
40081 2009-11-23  Jim Meyering  <meyering@redhat.com>
40082
40083         test-update-copyright: don't hard-code /usr/bin/perl
40084         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
40085         perl to print the current year.  Gilles Espinasse reported that
40086         the replaced use of perl was hard-coded as /usr/bin/perl.
40087
40088 2009-11-23  Bruno Haible  <bruno@clisp.org>
40089
40090         duplocale: Add support for glibc 2.3.x.
40091         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
40092
40093 2009-11-22  Bruno Haible  <bruno@clisp.org>
40094
40095         vasnprintf: Tiny optimization.
40096         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
40097         MacOS X.
40098
40099 2009-11-22  Bruno Haible  <bruno@clisp.org>
40100
40101         Tests for module 'duplocale'.
40102         * modules/duplocale-tests: New file.
40103         * tests/test-duplocale.c: New file.
40104
40105         New module 'duplocale'.
40106         * m4/duplocale.m4: New file.
40107         * lib/locale.in.h (duplocale): New declaration.
40108         * lib/duplocale.c: New file.
40109         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
40110         gl_LOCALE_H_DEFAULTS): New macros.
40111         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
40112         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
40113         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
40114         REPLACE_DUPLOCALE.
40115         * modules/duplocale: New file.
40116         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
40117
40118 2009-11-22  Bruno Haible  <bruno@clisp.org>
40119
40120         * modules/locale-tests (configure.ac): Test for newlocale function.
40121         * tests/test-locale.c: When the system has extended locale functions,
40122         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
40123
40124         locale: Make locale_t available when possible.
40125         * lib/locale.in.h: Include <xlocale.h> when it exists.
40126         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
40127         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
40128         * modules/locale (Depends-on): Add extensions.
40129         (Makefile.am): Also substitute HAVE_XLOCALE_H.
40130         * doc/posix-headers/locale.texi: Document the problem with locale_t.
40131
40132 2009-11-22  Bruno Haible  <bruno@clisp.org>
40133
40134         Add comments.
40135         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
40136         invocation.
40137         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
40138         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
40139         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40140
40141 2009-11-22  Bruno Haible  <bruno@clisp.org>
40142
40143         error: account for the possibility of freopen (stdout).
40144         * lib/error.c: Include <unistd.h>.
40145         (flush_stdout): New function, extracted from error and error_at_line.
40146         Determine stdout's fd dynamically.
40147         (error, error_at_line): Invoke flush_stdout.
40148         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
40149         * modules/error (Depends-on): Add unistd.
40150
40151 2009-11-22  Bruno Haible  <bruno@clisp.org>
40152
40153         diffseq: Add comment.
40154         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
40155
40156 2009-11-22  Jim Meyering  <meyering@redhat.com>
40157
40158         c-stack: avoid defining an unused static function
40159         * lib/c-stack.c (find_stack_direction): Do not define this function
40160         when it will not be used.
40161
40162         diffseq: avoid spurious gcc warnings
40163         * lib/diffseq.h (IF_LINT2): Define.
40164         (compareseq): Use it to initialize two members of "part".
40165         This avoids two used-uninitialized warnings.
40166
40167 2009-11-21  Jim Meyering  <meyering@redhat.com>
40168
40169         c-stack: avoid "ignoring return value of `write'" warning
40170         * lib/c-stack.c: Include "ignore-value.h".
40171         (die): Explicitly ignore each write return value.
40172         * modules/c-stack (Depends-on): Add ignore-value.
40173
40174 2009-11-21  Bruno Haible  <bruno@clisp.org>
40175
40176         diffseq: reduce scope of variable 'best'.
40177         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
40178         variable, earlier used for two different purposes.
40179
40180 2009-11-21  Jim Meyering  <meyering@redhat.com>
40181
40182         diffseq: remove useless assignment to "best"
40183         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
40184         assignment.  At that point "best" is already guaranteed to be zero.
40185
40186 2009-11-20  Eric Blake  <ebb9@byu.net>
40187
40188         build: mention ftp redirector in release announcements
40189         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
40190         values that used to come from cfg.mk; mention FTP redirect URL.
40191         * build-aux/announce-gen: Mention the mirror list.
40192         Suggested by Karl Berry.
40193
40194         nanosleep: improve port to mingw
40195         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
40196         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
40197         LIB_NANOSLEEP, but only when needed.
40198         * modules/select (Link): Document LIBSOCKET.
40199         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
40200         enough.
40201
40202         nanosleep: work around cygwin bug
40203         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
40204         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
40205         bug.
40206         (getnow): Delete, not needed.
40207         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
40208         LIB_CLOCK_GETTIME.
40209         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
40210         clock-time, gettime.
40211         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
40212         bug.
40213         * modules/nanosleep-tests: New test.
40214         * tests/test-nanosleep.c: New file.
40215
40216         sleep: work around cygwin bug
40217         * lib/sleep.c (rpl_sleep): Work around the bug.
40218         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
40219         (gl_PREREQ_SLEEP): Delete unused macro.
40220         * modules/sleep (Depends-on): Add verify.
40221         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40222         * modules/unistd (Makefile.am): Substitute witness.
40223         * lib/unistd.in.h (sleep): Update prototype.
40224         * doc/posix-functions/sleep.texi (sleep): Document the bug.
40225         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
40226         * modules/sleep-tests (Depends-on): Check for alarm.
40227
40228 2009-11-20  Jim Meyering  <meyering@redhat.com>
40229
40230         maint.mk: improve sc_prohibit_magic_number_exit
40231         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
40232         so it does not match uses like System.exit(1).
40233         Add comments showing how to correct all offenders.
40234
40235 2009-11-19  Eric Blake  <ebb9@byu.net>
40236
40237         xalloc-die-tests: add missing library
40238         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
40239
40240         test-xvasprintf: silence compiler warnings
40241         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
40242         empty string from gcc.
40243
40244 2009-11-19  Jim Meyering  <meyering@redhat.com>
40245
40246         xfreopen: new module, from coreutils
40247         * modules/xfreopen: New module.
40248         * lib/xfreopen.c: New file.
40249         * lib/xfreopen.h: New file.
40250         * MODULES.html.sh (File stream based Input/Output"): Add it.
40251
40252 2009-11-19  Eric Blake  <ebb9@byu.net>
40253
40254         manywarnings: depend on warnings
40255         * modules/manywarnings (Depends-on): Add warnings.
40256
40257         build: avoid compiler warnings
40258         * lib/select.c (rpl_select): Delete unused variable.
40259         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
40260
40261 2009-11-18  Eric Blake  <ebb9@byu.net>
40262
40263         tests: avoid false negative with --with-packager
40264         * tests/test-version-etc.sh: Discard packager information.
40265         * tests/test-argp-version-etc-1.sh: Likewise.
40266         Reported by Mike Frysinger.
40267
40268         utimens: fix regression on Solaris
40269         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
40270         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
40271         can only change fd timestamps via futimesat.  Instead, use an
40272         additional witness macro to avoid BSD bug.
40273         Reported by Jim Meyering.
40274
40275 2009-11-17  Eric Blake  <ebb9@byu.net>
40276
40277         usleep: use it to simplify tests
40278         * modules/stat-time-tests (Depends-on): Add usleep.
40279         (configure.ac): Drop usleep check.
40280         * modules/chown-tests (Depends-on, configure.ac): Likewise.
40281         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
40282         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
40283         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
40284         * modules/openat-tests (Depends-on, configure.ac): Likewise.
40285         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
40286         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
40287         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
40288         Likewise.
40289         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
40290         * tests/test-lchown.h (nap): Likewise.
40291         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
40292         * tests/test-stat-time.c (nap): Likewise.
40293         * tests/test-utimens-common.h (nap): Update comments.
40294
40295         usleep: new module
40296         * modules/usleep: New file.
40297         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
40298         * lib/usleep.c (usleep): Likewise.
40299         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
40300         * modules/unistd (Makefile.am): Substitute witnesses.
40301         * lib/unistd.in.h (usleep): Add declaration.
40302         * doc/pastposix-functions/usleep.texi (usleep): Document this.
40303         * MODULES.html.sh (Date and time): Likewise.
40304         * modules/usleep-tests (Depends-on): New test.
40305         * tests/test-usleep.c: New file.
40306
40307         chown: work around OpenBSD bug
40308         * lib/chown.c (rpl_chown): Work around the bug.
40309         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
40310         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
40311         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
40312         * modules/chown (Depends-on): Add stdbool.
40313         * modules/lchown (Depends-on): Likewise.
40314         * doc/posix-functions/chown.texi (chown): Document the bug.
40315         * doc/posix-functions/lchown.texi (lchown): Likewise.
40316         * tests/test-lchown.h (test_chown): Relax test.
40317
40318         mkstemp: avoid conflict with C++ keyword template
40319         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
40320         * lib/mkostemp.c (mkostemp): Likewise.
40321         * lib/mkostemps.c (mkostemps): Likewise.
40322         * lib/mkstemp.c (mkstemp): Likewise.
40323         * lib/mkstemps.c (mkstemps): Likewise.
40324
40325         xalloc-die-tests: optimize
40326         * tests/test-xalloc-die.sh: Reduce number of processes.
40327
40328 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40329
40330         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
40331         patch from ludo@gnu.org (Ludovic Courtès).
40332
40333 2009-11-17  Jim Meyering  <meyering@redhat.com>
40334
40335         version-etc: use proper license string
40336         * modules/version-etc (License): Use LGPL, not LGPLv3+.
40337         * modules/version-etc-fsf: Likewise.
40338
40339 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40340
40341         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
40342         printed to stdout.  Deal with EOL differences.
40343
40344 2009-11-17  Eric Blake  <ebb9@byu.net>
40345
40346         unsetenv: work around Solaris bug
40347         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
40348         * lib/unsetenv.c (rpl_unsetenv): Work around it.
40349         Reported by Jim Meyering.
40350
40351         vasnprintf: avoid compiler warnings
40352         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
40353         variables.
40354         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
40355
40356 2009-11-17  Simon Josefsson  <simon@josefsson.org>
40357
40358         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
40359         settings since xalloc-die is no longer the self test,
40360         xalloc-die.sh is.
40361
40362 2009-11-17  Jim Meyering  <meyering@redhat.com>
40363
40364         test-xalloc-die.sh: make the code agree with the commit log
40365         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
40366         at the end, just in case you happen to have a test-xalloc-die
40367         program in some other PATH directory.
40368
40369         test-xalloc-die.sh: fix a portability bug
40370         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
40371         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
40372         Otherwise, argv[0] (as often seen in diagnostics) would be too
40373         system-dependent, sometimes with, and sometimes without the leading "./".
40374
40375         version-etc-fsf: relax license to LGPLv3+
40376         * modules/version-etc-fsf (License): Relax license.
40377
40378 2009-11-16  Eric Blake  <ebb9@byu.net>
40379
40380         xalloc-die-tests: avoid printing null pointer
40381         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
40382         shell script.
40383         * tests/test-xalloc-die.c (program_name): Declare.
40384         * tests/test-xalloc-die.sh (tmpfiles): New file.
40385
40386         setenv, unsetenv: work around various bugs
40387         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
40388         (setenv) [HAVE_SETENV]: Work around bugs.
40389         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
40390         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
40391         for bugs.
40392         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
40393         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
40394         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
40395         * modules/stdlib (Makefile.am): Update substitutions.
40396         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
40397         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
40398         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40399         * modules/setenv-tests: New test.
40400         * modules/unsetenv-tests: Likewise.
40401         * tests/test-setenv.c: New file.
40402         * tests/test-unsetenv.c: Likewise.
40403
40404 2009-11-16  Jim Meyering  <meyering@redhat.com>
40405
40406         version-etc: relax license to LGPLv3+
40407         * modules/version-etc (License): Relax license.
40408
40409         better AC_REQUIRE expanded-before-required-warning avoidance
40410         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
40411         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
40412         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
40413         which is no longer needed.
40414
40415 2009-11-16  Eric Blake  <ebb9@byu.net>
40416
40417         test-freading: clean up temporary file
40418         * tests/test-freading.c (main): Remove file on success, and use
40419         ASSERT more liberally.
40420         Reported by Jim Meyering.
40421
40422 2009-11-16  Jim Meyering  <meyering@redhat.com>
40423
40424         avoid new AC_REQUIRE expanded-before-required warnings
40425         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
40426         merely using it.
40427         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
40428         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
40429
40430 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40431
40432         * tests/test-xalloc-die.c: New file.
40433         * modules/xalloc-die-tests: New file.
40434         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
40435         XFAIL_TESTS so it can be appended by modules.
40436
40437 2009-11-15  Simon Josefsson  <simon@josefsson.org>
40438
40439         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
40440         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
40441
40442 2009-11-14  Eric Blake  <ebb9@byu.net>
40443
40444         fnmatch: avoid compiler warning
40445         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
40446         to silence compiler warning about mismatch signedness in ?:.
40447         Reported by Robert Millan.
40448
40449         intprops: add double-inclusion guard
40450         * lib/intprops.h: Allow idempotent includes.
40451         Suggested by Bruce Korb.
40452
40453         openat: detect Solaris fchownat bug
40454         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
40455         penalizing glibc chownat when only lchownat is broken.
40456         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
40457         trailing slash bugs.
40458         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
40459         * modules/openat-tests (Files): Include more files.
40460         (Depends-on): Add mgetgroups, sleep, stat-time.
40461         (configure.ac): Add additional checks.
40462         (Makefile.am): Build new test.
40463         * tests/test-fchownat.c: New file.
40464
40465         lchown: detect Solaris and FreeBSD bug
40466         * lib/lchown.c (rpl_lchown): Work around bug.
40467         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
40468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40469         * modules/unistd (Makefile.am): Populate it.
40470         * lib/unistd.in.h (lchown): Update declaration.
40471         * doc/posix-functions/lchown.texi (lchown): Document the bug.
40472         * modules/lchown-tests: New file.
40473         * tests/test-lchown.h (test_lchown): Likewise.
40474         * tests/test-lchown.c (main): Likewise.
40475
40476         chown: detect Solaris and FreeBSD bug
40477         * lib/chown.c (rpl_chown): Work around bug.
40478         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
40479         (gl_PREREQ_CHOWN): Delete.
40480         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
40481         * modules/unistd (Makefile.am): Populate it.
40482         * lib/unistd.in.h (chown): Update declaration.
40483         * lib/lchown.c (chown): Update client.
40484         * modules/lchown (Depends-on): Add lstat.
40485         * doc/posix-functions/chown.texi (chown): Document the bug.
40486         * doc/posix-functions/getgroups.texi (getgroups): Document
40487         getgroups pitfall.
40488         * modules/chown-tests: New file.
40489         * tests/test-chown.h (test_chown): Likewise.
40490         * tests/test-chown.c (main): Likewise.
40491
40492 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
40493
40494         gnulib-tool: correctly detect absence of m4 directories
40495         * gnulib-tool: Avoid extra newline on data passed to wc -l.
40496
40497 2009-11-14  Jim Meyering  <meyering@redhat.com>
40498
40499         maint.mk: Prohibit inclusion of "xalloc.h" without use.
40500         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40501
40502 2009-11-14  John W. Eaton  <jwe@gnu.org>
40503
40504         strftime.h: wrap function declaration in extern "C" block
40505         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
40506
40507 2009-11-13  Eric Blake  <ebb9@byu.net>
40508
40509         getgroups: avoid compiler warning
40510         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
40511
40512         getgroups: work around FreeBSD bug
40513         * lib/getgroups.c (rpl_getgroups): Work around the bug.
40514         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
40515         * doc/posix-functions/getgroups.texi (getgroups): Document it.
40516         * tests/test-getgroups.c (main): Fix buffer overrun.
40517
40518         getgroups: avoid compilation failure
40519         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
40520         * modules/getgroups (Depends-on): Add stdint.
40521
40522 2009-11-13  Jim Meyering  <meyering@redhat.com>
40523
40524         test-getgroups: avoid compilation failure
40525         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
40526
40527 2009-11-13  Eric Blake  <ebb9@byu.net>
40528
40529         mgetgroups: new module, taken from coreutils
40530         * modules/mgetgroups: New file.
40531         * lib/mgetgroups.h: Likewise.
40532         * lib/mgetgroups.c (mgetgroups): Likewise.
40533         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
40534         * MODULES.html.sh (Users and groups): Mention it.
40535
40536         getgroups: don't expose GETGROUPS_T to user
40537         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
40538         an element at a time if GETGROUPS_T is wrong size.
40539         * lib/getugroups.h (getugroups): Change signature.
40540         * lib/unistd.in.h (getgroups): Likewise.
40541         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
40542         signature needs fixing.
40543         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
40544         AC_TYPE_GETGROUPS.
40545         * modules/group-member (Depends-on): Add getgroups.
40546         * lib/group-member.c (group_info, get_group_info): Use gid_t.
40547         (group_member): Rely on getgroups replacement.
40548         * lib/getugroups.c (getugroups): Use gid_t.
40549         * tests/test-getgroups.c (main): Likewise.
40550         * NEWS: Mention the signature change.
40551         * doc/posix-functions/getgroups.texi (getgroups): Mention the
40552         problem with signature.
40553         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
40554         GETGROUPS_T is still useful for setgroups.
40555
40556         getgroups, getugroups: provide stubs for mingw
40557         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
40558         * lib/getugroups.c (getugroups): Likewise.
40559         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
40560         function.  Modernize replacement scheme.
40561         (gl_PREREQ_GETGROUPS): Delete.
40562         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
40563         * modules/getgroups (configure.ac): Declare witness.
40564         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
40565         * modules/unistd (Depends-on): Substitute witness.
40566         * lib/unistd.in.h (getgroups): Declare replacement.
40567
40568         getgroups: avoid calling exit
40569         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
40570         drop xalloc.
40571         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
40572         dependencies.
40573         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
40574         exiting, in the rare case of malloc failure.
40575
40576         getgroups: fix logic error
40577         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
40578         has more than 20 groups.
40579         * modules/getgroups-tests: New test.
40580         * tests/test-getgroups.c: New file.
40581
40582 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40583
40584         * tests/test-base64.c: Improve.
40585
40586 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40587
40588         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
40589         Blake <ebb9@byu.net>.
40590
40591 2009-11-13  Simon Josefsson  <simon@josefsson.org>
40592
40593         * tests/test-xvasprintf.c: Add %s%s related checks.
40594
40595 2009-11-12  Eric Blake  <ebb9@byu.net>
40596
40597         version-etc: match standards.texi style
40598         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
40599         and use <> only for URLs.
40600
40601 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
40602
40603         fts: do not fail on a submount during traversal
40604         * lib/fts.c (fts_build): Read the stat info again after opening
40605         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
40606         Original report at http://bugzilla.redhat.com/501848.
40607
40608 2009-11-12  Jim Meyering  <meyering@redhat.com>
40609
40610         bootstrap: sync from coreutils
40611         * build-aux/bootstrap (bootstrap_epilogue): New function.
40612         Use git_modules_config in one more place.  This make bootstrap's
40613         --gnulib-srcdir option more useful for testing.
40614
40615         bootstrap: generalize autoheader check
40616         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
40617         AC_CONFIG_HEADERS.
40618
40619 2009-11-11  Eric Blake  <ebb9@byu.net>
40620
40621         mkfifoat: use new modules for Solaris and BSD bugs
40622         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
40623         * lib/mkfifoat.c (mknodat): Split...
40624         * lib/mknodat.c (mknodat): ...into new file.
40625         * modules/mkfifoat (Files): Ship new file.
40626         (Depends-on): Add mkfifo, mknod.
40627         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
40628         (Depends-on): Add symlink.
40629         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
40630         redundant with test_mkfifo.h.
40631         (do_mkfifoat, do_mknodat): New helpers.
40632
40633         mknod: new module
40634         * modules/mknod: New file.
40635         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
40636         * lib/mknod.c (mknod): Likewise.
40637         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40638         defaults.
40639         * modules/sys_stat (Makefile.am): Substitute them.
40640         * lib/sys_stat.in.h (mknod): Declare replacement.
40641         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40642         Document it.
40643         * doc/posix-functions/mknod.texi (mknod): Likewise.
40644         * modules/mknod-tests: New test.
40645         * tests/test-mknod.c: Likewise.
40646
40647         mkfifo: new module
40648         * modules/mkfifo: New file.
40649         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
40650         * lib/mkfifo.c (mkfifo): Likewise.
40651         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
40652         defaults.
40653         * modules/sys_stat (Makefile.am): Substitute them.
40654         * lib/sys_stat.in.h (mkfifo): Declare replacement.
40655         * MODULES.html.sh (Support for systems lacking POSIX:2008):
40656         Document it.
40657         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
40658         * modules/mkfifo-tests: New test.
40659         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
40660         from test-mkfifoat.c.
40661         * tests/test-mkfifo.c: New file.
40662
40663         readlink: detect FreeBSD bug
40664         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
40665         slash on symlink.
40666         * doc/posix-functions/readlink.texi (readlink): Document the bug.
40667         * tests/test-readlink.h (test_readlink): Enhance test.
40668
40669         symlink: detect FreeBSD bug
40670         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
40671         slash on symlink.
40672         * doc/posix-functions/symlink.texi (symlink): Document the bug.
40673         * tests/test-symlink.h (test_symlink): Enhance test.
40674
40675 2009-11-10  Eric Blake  <ebb9@byu.net>
40676
40677         link: detect FreeBSD bug
40678         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
40679         symlink.
40680         * doc/posix-functions/link.texi (link): Document the bug.
40681         * tests/test-link.h (test_link): Enhance test.
40682         * tests/test-linkat.c (main): Update caller.
40683
40684         unlink, remove: detect FreeBSD bug
40685         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
40686         slash on symlink.
40687         * doc/posix-functions/unlink.texi (unlink): Document the bug.
40688         * doc/posix-functions/remove.texi (remove): Likewise.
40689         * tests/test-unlink.h (test_unlink): Enhance test.
40690         * tests/test-remove.c (main): Likewise.
40691
40692 2009-11-09  Eric Blake  <ebb9@byu.net>
40693
40694         rename: detect FreeBSD bug
40695         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
40696         slash on symlink.
40697         * modules/renameat-tests (Depends-on): Add filenamecat.
40698         * tests/test-rename.h (test_rename): Allow one more errno.
40699         * tests/test-renameat.c (main): Likewise.
40700         * doc/posix-functions/rename.texi (rename): Document the bug.
40701
40702         open: detect FreeBSD bug
40703         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
40704         symlink.
40705         * doc/posix-functions/open.texi (open): Document the bug.
40706         * doc/posix-functions/utimes.texi (utimes): Likewise.
40707         * tests/test-open.h (test_open): Add parameters, and test symlink
40708         handling.
40709         * tests/test-open.c (main): Adjust caller.
40710         * tests/test-fcntl-safer.c (main): Likewise.
40711         * modules/open-tests (Depends-on): Add stdbool, symlink.
40712         * modules/fcntl-safer-tests (Depends-on): Likewise.
40713         * tests/test-openat.c (main): Add test-open tests.
40714
40715         stat: detect FreeBSD bug
40716         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
40717         symlink.
40718         * doc/posix-functions/stat.texi (stat): Document the bug.
40719         * tests/test-stat.h (test_stat_func): Add argument.
40720         * tests/test-stat.c (main): Adjust caller.
40721         * tests/test-fstatat.c (main): Likewise.
40722         * modules/stat-tests (Depends-on): Add stdbool, symlink.
40723         Reported by Jim Meyering.
40724
40725 2009-11-09  James Youngman  <jay@gnu.org>
40726
40727         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
40728         * lib/strftime.c: Correct placement of #include "ignore-value.h".
40729
40730 2009-11-08  Jim Meyering  <meyering@redhat.com>
40731
40732         utimens: remove invalid futimesat call
40733         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
40734         It used the file descriptor of the target file as the DIR_FD
40735         parameter and NULL as the file name.  That caused failure with
40736         errno == EFAULT on FreeBSD-8.0-rc2
40737
40738 2009-11-07  Eric Blake  <ebb9@byu.net>
40739
40740         fflush, freadseek: use fseeko, not fseek
40741         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
40742         (clear_ungetc_buffer): Avoid potential problems on large files.
40743         * lib/freadseek.c (freadseek): Likewise.
40744         * modules/freadseek (Depends-on): Add fseeko.
40745         * modules/fseek (configure.ac): Set a witness.
40746         * tests/test-fflush.c (main): Use fseeko.
40747         * tests/test-fpurge.c (fseek): Disable link warning.
40748         * tests/test-freadable.c (fseek): Likewise.
40749         * tests/test-freading.c (fseek): Likewise.
40750         * tests/test-fseeko.c (fseek): Likewise.
40751         * tests/test-ftell.c (fseek): Likewise.
40752         * tests/test-ftello.c (fseek): Likewise.
40753         * tests/test-fwritable.c (fseek): Likewise.
40754         * tests/test-fwriting.c (fseek): Likewise.
40755
40756 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40757
40758         * modules/memchr (Depends-on): Drop getpagesize dependency.
40759
40760 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40761
40762         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
40763         Reported by Ludovic Courtès.
40764         * build-aux/pmccabe2html: Improve example usage.
40765         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
40766
40767 2009-11-06  Jim Meyering  <meyering@redhat.com>
40768
40769         do-release-commit-and-tag: New module.
40770         Automate the release-commit and tag process.
40771         * build-aux/do-release-commit-and-tag: New script, from coreutils.
40772         * modules/do-release-commit-and-tag: New file.
40773         * MODULES.html.sh (Support for maintaining and releasing): Add it.
40774
40775 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40776
40777         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
40778         because test-select.c uses inet_pton.
40779
40780 2009-11-06  Simon Josefsson  <simon@josefsson.org>
40781
40782         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
40783         GETADDRINFO_LIB.  Bump serial number.
40784         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
40785         Suggested by Eric Blake <ebb9@byu.net>.
40786
40787 2009-11-05  Eric Blake  <ebb9@byu.net>
40788
40789         strtod: detect darwin bug
40790         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
40791         Reported by Leo Davis.
40792
40793         freopen-safer: new module
40794         * modules/freopen-safer: New module.
40795         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
40796         * lib/freopen-safer.c (freopen_safer): New file.
40797         * lib/stdio-safer.h (freopen_safer): New declaration.
40798         * lib/stdio--.h (freopen): New override.
40799         * MODULES.html.sh (File stream based Input/Output): Mention it.
40800         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
40801         freopen-safer module.
40802         * doc/posix-functions/stderr.texi (stderr): Likewise.
40803         * doc/posix-functions/stdin.texi (stdin): Likewise.
40804         * doc/posix-functions/stdout.texi (stdout): Likewise.
40805         * modules/freopen-safer-tests: New test.
40806         * tests/test-reopen-safer.c: New file.
40807
40808 2009-11-05  Jim Meyering  <meyering@redhat.com>
40809
40810         maint.mk: Prohibit inclusion of "close-stream.h" without use.
40811         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
40812
40813 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40814
40815         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
40816
40817 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40818
40819         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
40820
40821 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40822
40823         Fix link error.
40824         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40825         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40826
40827 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40828
40829         * tests/test-func.c: Also test value of __func__.
40830
40831 2009-11-05  Simon Josefsson  <simon@josefsson.org>
40832
40833         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
40834         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
40835
40836 2009-11-05  Bruno Haible  <bruno@clisp.org>
40837
40838         Fix link error.
40839         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
40840         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
40841         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
40842
40843 2009-11-05  Bruno Haible  <bruno@clisp.org>
40844
40845         Tests for module 'inet_pton'.
40846         * modules/inet_pton-tests: New file.
40847         * tests/test-inet_pton.c: New file.
40848
40849 2009-11-05  Bruno Haible  <bruno@clisp.org>
40850
40851         Tests for module 'inet_ntop'.
40852         * modules/inet_ntop-tests: New file.
40853         * tests/test-inet_ntop.c: New file.
40854
40855 2009-11-04  Eric Blake  <ebb9@byu.net>
40856
40857         stdlib-safer: wrap all mkstemp variants
40858         * modules/mkostemp (configure.ac): Set witness.
40859         * modules/mkostemps (configure.ac): Likewise.
40860         * modules/mkstemps (configure.ac): Likewise.
40861         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
40862         (mkstemps_safer): Wrap more functions.
40863         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
40864         wrapping.
40865         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
40866         (mkstemps_safer): Implement the wrappers.
40867
40868         mkstemps, mkostemps: new modules
40869         * modules/mkostemps: New module.
40870         * modules/mkstemps: Likewise.
40871         * lib/mkostemps.c (mkostemps): New file.
40872         * lib/mkstemps.c (mkstemps): Likewise.
40873         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
40874         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
40875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
40876         * modules/stdlib (Makefile.am): Substitute them.
40877         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
40878         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
40879         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
40880         * doc/gnulib.texi (Glibc stdlib.h): Include them.
40881         * MODULES.html.sh (File system functions): Mention them.
40882
40883         tempname: resync from glibc
40884         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
40885         same values for __GT_FILE as glibc.  Abort even when assertions
40886         are disabled.
40887         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
40888         match its value otherwise.  Allow idempotent inclusion.
40889         * lib/mkdtemp.c (mkdtemp): Adjust caller.
40890         * lib/mkostemp.c (mkostemp): Likewise.
40891         * lib/mkstemp.c (mkstemp): Likewise.
40892         * lib/tmpfile.c (tmpfile): Likewise.
40893         * NEWS: Document this.
40894
40895         utimens: fix use of futimens on older Linux
40896         * lib/utimens.c (fdutimens): Use updated, rather than original,
40897         timespec to avoid bug in older Linux kernel.
40898         Reported by Simon Josefsson.
40899
40900 2009-11-04  Bruno Haible  <bruno@clisp.org>
40901
40902         Make num_processors more flexible and consistent.
40903         * lib/nproc.h (enum nproc_query): New type.
40904         (num_processors): Add a 'query' argument.
40905         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
40906         (num_processors): Add a 'query' argument. Test the value of the
40907         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
40908         mingw, count the number of CPUs available for the current process.
40909         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
40910         Check for sched_getaffinity and sched_getaffinity_np.
40911         * modules/nproc (Depends-on): Add c-ctype, extensions.
40912         * NEWS: Mention the change.
40913
40914 2009-11-03  Bruno Haible  <bruno@clisp.org>
40915
40916         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
40917
40918 2009-11-03  Jim Meyering  <meyering@redhat.com>
40919
40920         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
40921         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
40922         if it is defined.
40923
40924 2009-11-02  Eric Blake  <ebb9@byu.net>
40925
40926         mktime, timegm: share common declaration
40927         * lib/mktime-internal.h: New file.
40928         * lib/mktime.c: Use it rather than open-coding a declaration.
40929         * lib/timegm.c: Likewise.
40930         * modules/mktime (Files): Ship it.
40931         * modules/timegm (Files): Likewise.
40932         Suggested by Bruno Haible.
40933
40934         test-update-copyright: update test to match script changes
40935         * tests/test-update-copyright.sh: Avoid hard-coding perl
40936         location.  Don't update *.bak created by earlier runs.
40937
40938 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
40939             Simon Josefsson  <simon@josefsson.org>
40940             Bruno Haible  <bruno@clisp.org>
40941
40942         Fix link error on Solaris 8.
40943         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
40944         also in libnsl. Define also INET_PTON_LIB.
40945         * modules/inet_pton (Link): New section.
40946
40947 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40948             Bruno Haible  <bruno@clisp.org>
40949
40950         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
40951         * modules/inet_ntop (Link): New section.
40952         Reported by Boyan Kasarov <bkasarov@gmail.com>.
40953
40954 2009-11-02  Eric Blake  <ebb9@byu.net>
40955
40956         maint: avoid compiler warnings in m4 macros
40957         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
40958         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
40959
40960 2009-11-02  Simon Josefsson  <simon@josefsson.org>
40961
40962         * m4/pmccabe2html.m4: Remove file.
40963         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
40964         function.  Change maintainer.
40965         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
40966         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
40967         Courtès).
40968
40969 2009-10-31  Eric Blake  <ebb9@byu.net>
40970
40971         fseeko: fix m4 regression
40972         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
40973         regression from 2009-10-27.
40974         Reported by Ralf Wildenhues.
40975
40976 2009-10-31  Jim Meyering  <meyering@redhat.com>
40977
40978         inttostr: aesthetics and improved (compile-time) safety
40979         Define inttype_is_signed rather than inttype_is_unsigned,
40980         since the sole use is via "#if inttype_is_signed".
40981         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
40982         inttype_is_unsigned.
40983         * lib/offtostr.c (inttype_is_signed): Likewise.
40984         * lib/uinttostr.c (inttype_is_signed): Likewise.
40985         * lib/umaxtostr.c (inttype_is_signed): Likewise.
40986         * lib/inttostr.c (inttostr): Use verify to cross-check the
40987         inttype_is_signed value and the signedness of the actual type.
40988         * modules/inttostr (Depends-on): Add verify.
40989
40990 2009-10-30  Eric Blake  <ebb9@byu.net>
40991
40992         build: avoid compiler warnings
40993         * lib/fchmodat.c (lchmod): Mark unused variables.
40994         * lib/getopt.c (_getopt_initialize): Likewise.
40995         * lib/mktime.c (__mktime_internal): Provide prototype.
40996         * lib/inttostr.c (inttostr): Avoid compiler warning even with
40997         older gcc that do not understand #pragma GCC diagnostic.
40998         * lib/uinttostr.c (inttype_is_unsigned): Define.
40999         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
41000
41001 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
41002
41003         stat: fix compilation on AIX
41004         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
41005         only see struct stat64.
41006
41007 2009-10-30  Eric Blake  <ebb9@byu.net>
41008
41009         exclude: make more robust
41010         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
41011         rather than masking a coding bug.
41012         Suggested by Bruno Haible.
41013
41014 2009-10-30  Jim Meyering  <meyering@redhat.com>
41015
41016         perl scripts: remove #!/usr/bin/perl in favor of more portable...
41017         Rather than putting #!/usr/bin/perl on the first line,
41018         start with a variant of what's recommended by "man perlrun" that
41019         invokes the first "perl" program from your shell's search path.
41020         * build-aux/gitlog-to-changelog: Replace #!... as above.
41021         Add a "Local Variables" perl mode setting.
41022         Prompted by a patch from Ludovic Courtès.
41023         Improved by Eric Blake.
41024         * build-aux/useless-if-before-free: Likewise.
41025         * build-aux/announce-gen: Likewise.
41026         * build-aux/update-copyright: Likewise.
41027
41028 2009-10-29  Eric Blake  <ebb9@byu.net>
41029
41030         filenamecat-lgpl: adjust clients
41031         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
41032         filenamecat.
41033         * modules/renameat (Depends-on): Likewise.
41034
41035         filenamecat: split into filenamecat-lgpl
41036         * modules/filenamecat-lgpl: New module.
41037         * modules/filenamecat (Files): Move library-safe files into
41038         filenamecat-lgpl.
41039         (Depends-on): Add filenamecat-lgpl.
41040         (configure.ac): Declare witness.
41041         * lib/filenamecat.h (file_name_concat): Only declare when using
41042         GPL module.
41043         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
41044         Move...
41045         * lib/filenamecat-lgpl.c: ...into new file.
41046         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
41047         (gl_FILE_NAME_CONCAT): Use it.
41048         * MODULES.html.sh (File system functions): Mention new module.
41049
41050         argp: avoid memory leak
41051         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
41052         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
41053         base_name, since the latter malloc()s and can call exit().
41054         Leak introduced 2006-07-03.
41055
41056         dirname-lgpl: adjust clients that don't need full dirname
41057         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
41058         * modules/filenamecat (Depends-on): Likewise.
41059         * modules/linkat (Depends-on): Likewise.
41060         * modules/mkancesdirs (Depends-on): Likewise.
41061         * modules/mkdir (Depends-on): Likewise.
41062         * modules/openat (Depends-on): Likewise.
41063         * modules/savewd (Depends-on): Likewise.
41064         * modules/rename (Depends-on): Likewise.
41065         (License): Relax license.
41066         * modules/mkdir-tests (Depends-on): Drop progname.
41067         (Makefile.am): Delete unneeded LDADD.
41068         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
41069
41070         dirname: split into dirname-lgpl
41071         * modules/dirname-lgpl: New module.
41072         * modules/dirname (Files): Move library-safe files into
41073         dirname-lgpl.
41074         (Depends-on): Add dirname-lgpl.
41075         (configure.ac): Declare witness.
41076         * modules/double-slash-root (License): Relax license.
41077         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
41078         module.
41079         * lib/dirname.c (dir_len, mdir_name): Move...
41080         * lib/dirname-lgpl.c: ...into new file.
41081         * lib/basename.c (last_component, base_len): Move...
41082         * lib/basename-lgpl.c: ...into new file.
41083         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
41084         (gl_DIRNAME): Use it.
41085         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
41086         Mention new module.
41087         * modules/dirname-tests (Depends-on): Add progname.
41088         * tests/test-dirname.c (program_name): Delete.
41089
41090         mkdir: make safe for libraries
41091         * modules/mkdir (Depends-on): Drop xalloc.
41092         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
41093         exit.
41094
41095         tests: avoid some compiler warnings
41096         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
41097         literals.
41098         * tests/test-memchr.c (main): Avoid type mismatch.
41099         * tests/test-arpa_inet.c (main): Avoid unused parameters.
41100         * tests/test-base64.c (main): Likewise.
41101         * tests/test-getdelim.c (main): Likewise.
41102         * tests/test-gethostname.c (main): Likewise.
41103         * tests/test-getline.c (main): Likewise.
41104         * tests/test-netinet_in.c (main): Likewise.
41105         * tests/test-select.c (open_server_socket, main): Likewise.
41106         * tests/test-select-stdin.c (main): Likewise.
41107         * tests/test-sockets.c (main): Likewise.
41108         * tests/test-strsignal.c (main): Likewise.
41109         * tests/test-sys_select.c (main): Likewise.
41110         * tests/test-sys_socket.c (main): Likewise.
41111         * tests/test-u64.c (main): Likewise.
41112         * tests/test-xfprintf-posix.c (main): Likewise.
41113         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
41114
41115         sockets: avoid compiler warning
41116         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
41117
41118         maint: detect usage(1) and other suspicious exits
41119         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
41120
41121 2009-10-29  Jim Meyering  <meyering@redhat.com>
41122
41123         timespec: long-to-int truncation could make timespec_cmp malfunction
41124         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
41125         a multiple of 2^32 nanoseconds as no difference.
41126
41127 2009-10-28  Jim Meyering  <meyering@redhat.com>
41128
41129         fprintftime: wrap macro code argument in "do {...} while(0)"
41130         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
41131         cpy macro must be a statement that can be followed by a semicolon.
41132         Now that the else clause contains a comment and is hence longer
41133         than one line, I require curly braces.  That in turn requires
41134         that we wrap this code block in the standard do...while(0).
41135
41136         fprintftime: remove stray semicolon from previous change
41137         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
41138
41139         fprintftime: avoid a warning about ignored fwrite return value
41140         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
41141         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
41142         that is unsafe.
41143         * modules/fprintftime (Depends-on): Add ignore-value.
41144
41145         exclude: avoid an unwarranted warning
41146         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
41147
41148 2009-10-27  Eric Blake  <ebb9@byu.net>
41149
41150         fseek: avoid compilation failure when fflush is replaced
41151         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
41152         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
41153         module is in use.
41154         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
41155         module is not in use; since REPLACE_FSEEK worked otherwise.
41156         (GNULIB_FTELLO): Likewise for ftell.
41157         Reported by Ian Beckwith and others.
41158
41159 2009-10-27  Bruno Haible  <bruno@clisp.org>
41160
41161         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
41162         Reported by Jim Meyering.
41163
41164 2009-10-27  Jim Meyering  <jim@meyering.net>
41165             Bruno Haible  <bruno@clisp.org>
41166
41167         Avoid warning despite dropping the return value of fwrite.
41168         * lib/unicodeio.c: Include ignore-value.h.
41169         (fwrite_success_callback): Explicitly ignore fwrite's return value.
41170         * modules/unicodeio (Depends-on): Add ignore-value.
41171
41172 2009-10-26  Eric Blake  <ebb9@byu.net>
41173
41174         areadlinkat: fix fallback path
41175         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
41176         pointer and zero.
41177
41178 2009-10-22  Pádraig Brady  <P@draigBrady.com>
41179
41180         Use a better IO block size for modern systems
41181         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
41182         * lib/md2.c: Likewise.
41183         * lib/md4.c: Likewise.
41184         * lib/md5.c: Likewise.
41185         * lib/sha1.c: Likewise.
41186         * lib/sha256.c: Likewise.
41187         * lib/sha512.c: Likewise.
41188
41189 2009-10-22  Eric Blake  <ebb9@byu.net>
41190
41191         tests: avoid several compiler warnings
41192         * tests/test-getcwd.c (main): Avoid buffer underflow.
41193         * tests/test-getdate.c (main): String literals are not safe with
41194         putenv, so use setenv.  Declare unused argument.
41195         * modules/getdate-tests (Depends-on): Add setenv.
41196         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
41197         problems with string literals in char *.
41198         * tests/test-hash.c (main): Avoid shadowing declaration.
41199         (insert_new): Treat string literals as char const *.
41200         * tests/test-getopt.h (test_getopt): Likewise.
41201         (getopt_loop): Alter types to minimize casting elsewhere.
41202         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
41203         (test_getopt_long_posix): Likewise.
41204         (do_getopt_long): Add wrapper to minimize casting.
41205         * tests/test-atexit.c (clear_temp_file): Use void.
41206         * tests/test-areadlink-with-size.c (main): Declare unused
41207         arguments.
41208         * tests/test-areadlink.c (main): Likewise.
41209         * tests/test-areadlinkat-with-size.c (main): Likewise.
41210         * tests/test-areadlinkat.c (main): Likewise.
41211         * tests/test-canonicalize-lgpl.c (main): Likewise.
41212         * tests/test-canonicalize.c (main): Likewise.
41213         * tests/test-dirent-safer.c (main): Likewise.
41214         * tests/test-dirname.c (main): Likewise.
41215         * tests/test-dup2.c (main): Likewise.
41216         * tests/test-fchdir.c (main): Likewise.
41217         * tests/test-fcntl-h.c (main): Likewise.
41218         * tests/test-fcntl-safer.c (main): Likewise.
41219         * tests/test-fdopendir.c (main): Likewise.
41220         * tests/test-fdutimensat.c (main): Likewise.
41221         * tests/test-fflush.c (main): Likewise.
41222         * tests/test-filenamecat.c (main): Likewise.
41223         * tests/test-filevercmp.c (main): Likewise.
41224         * tests/test-fopen-safer.c (main): Likewise.
41225         * tests/test-fopen.c (main): Likewise.
41226         * tests/test-fpending.c (main): Likewise.
41227         * tests/test-fpurge.c (main): Likewise.
41228         * tests/test-freading.c (main): Likewise.
41229         * tests/test-fstatat.c (main): Likewise.
41230         * tests/test-fsync.c (main): Likewise.
41231         * tests/test-futimens.c (main): Likewise.
41232         * tests/test-getndelim2.c (main): Likewise.
41233         * tests/test-gettimeofday.c (main): Likewise.
41234         * tests/test-getopt.c (main): Likewise.
41235         * tests/test-i-ring.c (main): Likewise.
41236         * tests/test-inttypes.c (main): Likewise.
41237         * tests/test-link.c (main): Likewise.
41238         * tests/test-lstat.c (main): Likewise.
41239         * tests/test-math.c (main): Likewise.
41240         * tests/test-md5.c (main): Likewise.
41241         * tests/test-memchr2.c (main): Likewise.
41242         * tests/test-memrchr.c (main): Likewise.
41243         * tests/test-mkdir.c (main): Likewise.
41244         * tests/test-mkdirat.c (main): Likewise.
41245         * tests/test-mkfifoat.c (main): Likewise.
41246         * tests/test-open.c (main): Likewise.
41247         * tests/test-openat-safer.c (main): Likewise.
41248         * tests/test-openat.c (main): Likewise.
41249         * tests/test-quotearg.c (main): Likewise.
41250         * tests/test-rawmemchr.c (main): Likewise.
41251         * tests/test-readlink.c (main): Likewise.
41252         * tests/test-remove.c (main): Likewise.
41253         * tests/test-rename.c (main): Likewise.
41254         * tests/test-renameat.c (main): Likewise.
41255         * tests/test-rmdir.c (main): Likewise.
41256         * tests/test-sha1.c (main): Likewise.
41257         * tests/test-signal.c (main): Likewise.
41258         * tests/test-sigaction.c (main): Likewise.
41259         * tests/test-stat.c (main): Likewise.
41260         * tests/test-stat-time.c (main): Likewise.
41261         * tests/test-stddef.c (main): Likewise.
41262         * tests/test-stdint.c (main): Likewise.
41263         * tests/test-stdio.c (main): Likewise.
41264         * tests/test-stdlib.c (main): Likewise.
41265         * tests/test-strchrnul.c (main): Likewise.
41266         * tests/test-strerror.c (main): Likewise.
41267         * tests/test-string.c (main): Likewise.
41268         * tests/test-strtod.c (main): Likewise.
41269         * tests/test-strverscmp.c (main): Likewise.
41270         * tests/test-symlink.c (main): Likewise.
41271         * tests/test-symlinkat.c (main): Likewise.
41272         * tests/test-sys_stat.c (main): Likewise.
41273         * tests/test-sys_time.c (main): Likewise.
41274         * tests/test-time.c (main): Likewise.
41275         * tests/test-unistd.c (main): Likewise.
41276         * tests/test-unlink.c (main): Likewise.
41277         * tests/test-unlinkat.c (main): Likewise.
41278         * tests/test-utimens.c (main): Likewise.
41279         * tests/test-utimensat.c (main): Likewise.
41280         * tests/test-version-etc.c (main): Likewise.
41281         * tests/test-wchar.c (main): Likewise.
41282         * tests/test-wctype.c (main): Likewise.
41283         * tests/test-xprintf-posix.c (main): Likewise.
41284         * tests/test-posixtm.c (main): Likewise.
41285         (STREQ): Delete unused macro.
41286         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
41287         shadowed variables.
41288         * tests/test-memchr.c (main): Likewise.
41289
41290 2009-10-21  Eric Blake  <ebb9@byu.net>
41291
41292         areadlinkat: avoid failure on older glibc
41293         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
41294         rather than mis-comparing 0 against FUNC_RESULT of char*.
41295
41296 2009-10-21  Bruno Haible  <bruno@clisp.org>
41297
41298         * modules/stpncpy (License): Relicense under LGPLv2+.
41299         Reported by David Lutterkort <lutter@redhat.com>.
41300
41301 2009-10-20  Eric Blake  <ebb9@byu.net>
41302
41303         utimensat: work around Solaris 9 bug
41304         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
41305         has trailing slash bugs.
41306         * tests/test-lutimens.h (test_lutimens): Enhance test.
41307         * tests/test-utimens.h (test_utimens): Likewise.
41308         * doc/posix-functions/utime.texi (utime): Enhance documentation.
41309         * doc/posix-functions/utimes.texi (utimes): Likewise.
41310         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41311         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
41312         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
41313         * doc/posix-functions/futimens.texi (futimens): Likewise.
41314
41315         fdutimensat: new module
41316         * modules/fdutimensat: New file.
41317         * lib/fdutimensat.c (fdutimensat): Likewise.
41318         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
41319         * MODULES.html.sh (File system functions): Mention module.
41320         * modules/fdutimensat-tests: New test.
41321         * tests/test-fdutimensat.c: Likewise.
41322
41323         doc: regenerate INSTALL
41324         * doc/INSTALL: Reflect recent autoconf update.
41325         * doc/INSTALL.ISO: Likewise.
41326         * doc/INSTALL.UTF-8: Likewise.
41327
41328 2009-10-20  Pádraig Brady  <P@draigBrady.com>
41329
41330         acl: warn if ACL support is not detected
41331         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
41332
41333 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
41334
41335         * lib/nproc.h: Add extern "C" block for C++.
41336
41337 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
41338             Bruno Haible  <bruno@clisp.org>
41339
41340         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
41341         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
41342         * doc/posix-functions/isalpha.texi: Likewise.
41343         * doc/posix-functions/isblank.texi: Likewise.
41344         * doc/posix-functions/iscntrl.texi: Likewise.
41345         * doc/posix-functions/isdigit.texi: Likewise.
41346         * doc/posix-functions/isgraph.texi: Likewise.
41347         * doc/posix-functions/islower.texi: Likewise.
41348         * doc/posix-functions/isprint.texi: Likewise.
41349         * doc/posix-functions/ispunct.texi: Likewise.
41350         * doc/posix-functions/isspace.texi: Likewise.
41351         * doc/posix-functions/isupper.texi: Likewise.
41352         * doc/posix-functions/isxdigit.texi: Likewise.
41353
41354 2009-10-18  Bruno Haible  <bruno@clisp.org>
41355
41356         Tests for module 'isblank'.
41357         * modules/isblank-tests: New file.
41358         * tests/test-isblank.c: New file.
41359
41360         New module 'isblank'.
41361         * lib/isblank.c: New file.
41362         * m4/isblank.m4: New file.
41363         * modules/isblank: New file.
41364         * doc/posix-functions/isblank.texi: Mention the new module.
41365
41366 2009-10-18  Bruno Haible  <bruno@clisp.org>
41367
41368         New module 'ctype'.
41369         * lib/ctype.in.h: New file.
41370         * m4/ctype.m4: New file.
41371         * modules/ctype: New file.
41372         * doc/posix-headers/ctype.texi: Mention the new module.
41373
41374 2009-10-18  Jim Meyering  <meyering@redhat.com>
41375
41376         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
41377         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
41378         right after its initialization, rather than farther down.
41379         Keeping these in close proximity makes it easier to ensure
41380         that each such variable is initialized.  E.g.,
41381
41382             LIB_CLOCK_GETTIME=
41383             AC_SUBST([LIB_CLOCK_GETTIME])
41384
41385         This change also increments these serial numbers.
41386         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
41387         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41388         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41389
41390 2009-10-18  Bruno Haible  <bruno@clisp.org>
41391
41392         Don't let environment variables perturb build.
41393         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
41394         (gl_PREREQ_GETHRXTIME): ... not here.
41395
41396 2009-10-18  Bruno Haible  <bruno@clisp.org>
41397
41398         Avoid symlink attack in localcharset module.
41399         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
41400         (O_NOFOLLOW): Define fallback.
41401         (get_charset_aliases): Don't open the file if it is a symbolic link.
41402         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
41403         gl_FCNTL_H.
41404         (gl_FCNTL_H): Require it.
41405         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
41406         * modules/localcharset (Files): Add m4/fcntl_h.m4.
41407         Reported by Fergal Glynn <fglynn@veracode.com>.
41408
41409 2009-10-18  Bruno Haible  <bruno@clisp.org>
41410
41411         Implement nproc for mingw.
41412         * lib/nproc.c: Include <windows.h>
41413         (num_processors): On native Windows platforms, try GetSystemInfo.
41414
41415 2009-10-18  Bruno Haible  <bruno@clisp.org>
41416
41417         Implement nproc for IRIX.
41418         * lib/nproc.c: Include <sys/sysmp.h>.
41419         (num_processors): On IRIX systems, try sysmp.
41420         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
41421
41422 2009-10-18  Bruno Haible  <bruno@clisp.org>
41423
41424         Implement nproc for HP-UX.
41425         * lib/nproc.c: Include <sys/pstat.h>
41426         (num_processors): On HP-UX systems, try pstat_getdynamic.
41427         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
41428         pstat_getdynamic.
41429
41430 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
41431             Bruno Haible  <bruno@clisp.org>
41432
41433         Implement nproc for NetBSD, OpenBSD.
41434         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
41435         (ARRAY_SIZE): New macro.
41436         (num_processors): On BSD systems, try sysctl of HW_NCPU.
41437         * m4/nproc.m4: New file.
41438         * modules/nproc (Files): Add m4/nproc.m4.
41439         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
41440         (Makefile.am): Instead, augment lib_SOURCES.
41441
41442 2009-10-18  Bruno Haible  <bruno@clisp.org>
41443
41444         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
41445         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
41446         sys/param.h.
41447
41448 2009-10-16  Eric Blake  <ebb9@byu.net>
41449
41450         utimensat: new module
41451         * modules/utimensat: New file.
41452         * lib/utimensat.c (utimensat): Likewise.
41453         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41454         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
41455         so we can work around Linux bugs.
41456         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41457         * modules/sys_stat (Makefile.am): Substitute them.
41458         * lib/sys_stat.in.h (utimensat): Declare it.
41459         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41460         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41461         * modules/utimensat-tests: New test.
41462         * tests/test-utimensat.c: Likewise.
41463
41464         utimens: let lutimens work on non-symlinks
41465         * lib/utimens.c (lutimens): Fall back to utimens rather than
41466         failing with ENOSYS, when file is not a symlink.
41467         (utimens): Reduce redirection.
41468         * tests/test-lutimens.h (test_lutimens): Update test to cover
41469         non-symlinks.
41470         * tests/test-utimens.h (test_utimens): Update test to cover
41471         symlinks.
41472         * tests/test-utimens.c (main): Update caller.
41473
41474         utimens: cache whether utimensat syscall works
41475         * lib/utimens.c (utimensat_works_really): New cache variable.
41476         (fdutimens, lutimens): Use it to avoid failing syscall.
41477
41478         test-stat-time, test-utimens: improve portability
41479         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
41480         ext4 on alpha, and for cygwin.
41481         * tests/test-utimens-common.h: New file.
41482         (nap): Factor delays into single function.
41483         * tests/test-lutimens.h (test_lutimens): Use new header.
41484         * tests/test-futimens.h (test_futimens): Likewise.
41485         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
41486         timestamps to occur from same machine, as was done previously for
41487         test_utimens.
41488         * modules/utimens-tests (Files): Ship new file.
41489         * modules/futimens-tests (Files): Likewise.
41490         Reported in part by Jim Meyering.
41491
41492         sys_stat: sort replacement declarations
41493         * lib/sys_stat.in.h: Sort declarations.
41494         * lib/futimens.c (futimens): Fix typo.
41495
41496 2009-10-15  Jim Meyering  <meyering@redhat.com>
41497
41498         don't let environment settings perturb build
41499         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
41500         could cause a configure-time and/or build-time malfunction.
41501         Typically, a configure-time function-in-library test is performed
41502         via code like this:
41503
41504           LIB_VAR=
41505           AC_SUBST([LIB_VAR])
41506           prefix_saved_LIBS=$LIBS
41507             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
41508                        [test "$ac_cv_search_FUNC" = "none required" ||
41509                         LIB_VAR=$ac_cv_search_FUNC])
41510           LIBS=$prefix_saved_LIBS
41511
41512         However, in each of the files affected by this change, the LIB_VAR=
41513         initialization was omitted.  Thus, when set in the environment, its
41514         value would propagate into generated Makefiles when FUNC is not found
41515         in LIB_NAME.
41516         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
41517         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
41518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
41519
41520 2009-10-14  Eric Blake  <ebb9@byu.net>
41521
41522         fchdir: avoid infinite recursion in mingw
41523         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
41524         recursing.
41525
41526         test-stat-time: port to mingw
41527         * tests/test-stat-time.c (force_unlink): Return a value.
41528         (test_ctime) [W32]: Fix compilation error.
41529         (nap): Don't call usleep with too large an argument.  Use
41530         force_unlink.
41531         * doc/pastposix-functions/usleep.texi (usleep): Document the
41532         portability issue.
41533
41534 2009-10-13  Jim Meyering  <meyering@redhat.com>
41535
41536         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
41537         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
41538         * modules/pipe-filter-ii: Likewise.
41539         * modules/sys_socket-tests: Likewise.
41540         * modules/tsearch-tests: Likewise.
41541         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
41542         (check): Depend on it.
41543
41544 2009-10-12  Eric Blake  <ebb9@byu.net>
41545
41546         utimens-tests: port to NFS file systems
41547         * tests/test-utimens.h (test_utimens): Refactor utimecmp
41548         comparisons to avoid spurious failures from timestamp drift
41549         between NFS machines.
41550
41551 2009-10-12  Eric Blake  <ebb9@byu.net>
41552
41553         stat-time-tests: minor cleanups
41554         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
41555         * tests/test-stat-time.c (nap): Separate assignment from call.
41556         Suggested by Paolo Bonzini and Bruno Haible.
41557
41558         sys_stat: guarantee struct timespec
41559         * lib/sys_stat.in.h (includes): Always include <time.h>
41560         * modules/sys_stat (Depends-on): Add time.
41561         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
41562         mode_t permission values.
41563         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
41564         get at subsecond timestamps.
41565
41566 2009-10-10  Eric Blake  <ebb9@byu.net>
41567
41568         futimens: new module
41569         * modules/futimens: New file.
41570         * lib/futimens.c (futimens): Likewise.
41571         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
41572         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
41573         we can work around Linux bugs.
41574         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
41575         * modules/sys_stat (Makefile.am): Substitute them.
41576         * lib/sys_stat.in.h (futimens): Declare it.
41577         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
41578         * doc/posix-functions/futimens.texi (futimens): Likewise.
41579         * modules/futimens-tests: New test.
41580         * tests/test-futimens.c: Likewise.
41581
41582         utimens: introduce fdutimens
41583         * lib/utimens.h (fdutimens): New prototype.
41584         * lib/utimens.c (gl_futimens): Move guts...
41585         (fdutimens): ...to new interface.
41586         * tests/test-utimens.c (do_fdutimens): Use it.
41587
41588         utimens: add UTIME_NOW and UTIME_OMIT support
41589         * lib/utimens.c (validate_timespec, update_timespec): New helper
41590         functions.
41591         (gl_futimens, lutimens): Use them.
41592         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
41593         stdbool, sys_stat.
41594         (Link): Mention resulting library dependency.
41595         * modules/utimecmp (Link): Likewise.
41596         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
41597         (Makefile.am): Pick up library dependency.
41598         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
41599         definition.
41600         * tests/test-sys_stat.c: Test the definitions.
41601         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
41602         * NEWS: Document library dependency.
41603
41604         utimecmp: support symlink timestamps
41605         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
41606         hashing when possible.  Use pathconf when available.
41607         (SYSCALL_RESOLUTION): Recognize tighter resolution.
41608         * modules/utimecmp (Depends-on): Add lstat.
41609
41610         utimens: add lutimens interface
41611         * lib/utimens.c (lutimens): New function.
41612         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
41613         * lib/utimens.h (lutimens): Declare new interface.
41614         * tests/test-utimens.c (main): Enhance test.
41615         * tests/test-lutimens.h (test_lutimens): New file.
41616         * modules/utimens-tests (Files): Distribute it.
41617         (Depends-on): Add symlink.
41618         (configure.ac): Check for usleep.
41619
41620         utimens: validate futimens usage
41621         * lib/utimens.c (gl_futimens): Require valid fd up front, using
41622         fewer syscalls on failure later on.  Avoid compiler warning on
41623         mingw.
41624         * modules/utimens (Depends-on): Add dup2.
41625
41626         utimens: add test
41627         * modules/utimens-tests: New test.
41628         * tests/test-utimens.h: New file.
41629         * tests/test-futimens.h: Likewise.
41630         * tests/test-utimens.c: Likewise.
41631
41632         doc: mention timestamp portability issues
41633         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
41634         instead.
41635         * doc/posix-functions/utime.texi (utime): Likewise.
41636         * doc/posix-functions/utimes.texi (utimes): Likewise.
41637         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
41638         instead.
41639         * doc/posix-functions/futimens.texi (futimens): Mention utimens
41640         module.
41641         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41642         Mention weakness with symlink timestamps.
41643         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
41644         to utimensat/futimens instead.
41645         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
41646
41647         test-dup2: enhance test
41648         * tests/test-dup2.c (main): Also check AT_FDCWD.
41649
41650         test-stat-time: avoid more spurious failures
41651         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
41652         xfs; and avoid race if the two timestamps cross quantization edge.
41653
41654         relocatable: prefer 'file system' over 'filesystem'
41655         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
41656         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
41657         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
41658         * doc/relocatable.texi (Enabling Relocatability): Likewise.
41659         * lib/relocatable.c (compute_curr_prefix): Likewise.
41660
41661 2009-10-10  Jim Meyering  <meyering@redhat.com>
41662
41663         stat-time-tests: check for the usleep function
41664         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
41665
41666 2009-10-10  Bruno Haible  <bruno@clisp.org>
41667
41668         * modules/xnanosleep: Put the Link section after the Include section.
41669
41670 2009-10-09  Eric Blake  <ebb9@byu.net>
41671
41672         dup2: work around FreeBSD 6.1 bug
41673         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
41674         * doc/posix-functions/dup2.texi (dup2): Document it.
41675         Reported by Nelson H. F. Beebe and Jim Meyering.
41676
41677         test-stat-time: port to buggy NFS clients
41678         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
41679         (test_ctime): Also skip test if mtime and ctime are skewed.
41680
41681         maint: prefer 'file system' over 'filesystem'
41682         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
41683         * doc/posix-functions/lstat.texi (lstat): Likewise.
41684         * lib/file-has-acl.c (file_has_acl): Likewise.
41685         * lib/fwriteerror.c [TEST]: Likewise.
41686         * tests/test-areadlink.h (test_areadlink): Likewise.
41687         * tests/test-areadlinkat-with-size.c (main): Likewise.
41688         * tests/test-areadlinkat.c (main): Likewise.
41689         * tests/test-canonicalize-lgpl.c (main): Likewise.
41690         * tests/test-canonicalize.c (main): Likewise.
41691         * tests/test-fstatat.c (main): Likewise.
41692         * tests/test-linkat.c (main): Likewise.
41693         * tests/test-lstat.h (test_lstat_func): Likewise.
41694         * tests/test-mkdir.h (test_mkdir): Likewise.
41695         * tests/test-readlink.h (test_readlink): Likewise.
41696         * tests/test-remove.c (main): Likewise.
41697         * tests/test-rename.h (test_rename): Likewise.
41698         * tests/test-renameat.c (main): Likewise.
41699         * tests/test-rmdir.h (test_rmdir_func): Likewise.
41700         * tests/test-symlink.h (test_symlink): Likewise.
41701         * tests/test-symlinkat.c (main): Likewise.
41702         * tests/test-unlink.h (test_unlink_func): Likewise.
41703         * tests/test-unlinkat.c (main): Likewise.
41704
41705         maint: make realtime library usage explicit
41706         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
41707         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
41708         * modules/settime (Link): Likewise.
41709         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
41710
41711         test-stat-time: speed up execution
41712         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
41713         warning on mingw.
41714         (nap): New helper function.
41715         (prepare_test): Use it to reduce sleep time.
41716         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
41717         execution.
41718         * modules/stat-time-tests (configure.ac): Check for usleep.
41719
41720 2009-10-09  Jim Meyering  <meyering@redhat.com>
41721
41722         selinux-h: always use getfilecon wrappers
41723         * lib/getfilecon.c: New file.
41724         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
41725         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
41726         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
41727         (fgetfilecon): Provide a stub.
41728         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
41729         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
41730         file unconditionally.
41731         When <selinux/selinux.h> is found, arrange to use wrappers.
41732         * modules/selinux-h (Files): Add getfilecon.c.
41733         (Makefile.am): Substitute include-next-related bits
41734         into the now-always-generated selinux/selinux.h file.
41735         * doc/glibc-functions/lgetfilecon.texi: New file.
41736         * doc/glibc-functions/fgetfilecon.texi: New file.
41737         * doc/glibc-functions/getfilecon.texi: New file.
41738         * doc/glibc-functions/getfilecon-desc.texi: New file.
41739         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
41740         which to pull in the new files.
41741         * MODULES.html.sh (Misc): Add selinux-h.
41742
41743 2009-10-08  Jim Meyering  <meyering@redhat.com>
41744
41745         unistd: fix comment typo
41746         * lib/unistd.in.h (euidaccess): Fix a comment typo.
41747
41748 2009-10-08  Eric Blake  <ebb9@byu.net>
41749
41750         areadlink: use SIZE_MAX consistently
41751         * modules/areadlink (Depends-on): Add stdint.
41752         * modules/areadlink-with-size (Depends-on): Likewise.
41753         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
41754         gives NULL; drop sys/types, since unistd gives size_t; and add
41755         stdint for SIZE_MAX.
41756         (SIZE_MAX): Rely on headers.
41757         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
41758         and add stdint.
41759         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
41760         (SIZE_MAX): Likewise.
41761         (INITIAL_BUF_SIZE): Turn into enum.
41762         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
41763
41764 2009-10-08  Jim Meyering  <meyering@redhat.com>
41765
41766         areadlinkat: avoid compilation failure
41767         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
41768         Fix typo in comment.
41769
41770 2009-10-07  Eric Blake  <ebb9@byu.net>
41771
41772         areadlinkat-with-size: new module
41773         * modules/areadlinkat-with-size: New module.
41774         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
41775         * lib/areadlink.h (areadlinkat): Declare it.
41776         * MODULES.html.sh (File system functions): Mention it.
41777         * modules/areadlinkat-with-size-tests: New test.
41778         * tests/test-areadlinkat-with-size.c: New file.
41779
41780         xreadlinkat: new module
41781         * modules/xreadlinkat: New module.
41782         * lib/xreadlinkat.c (xreadlinkat): New file.
41783         * lib/xreadlink.h (xreadlinkat): Declare it.
41784         * MODULES.html.sh (File system functions): Mention it.
41785
41786         areadlinkat: new module
41787         * lib/at-func.c (FUNC_FAIL): New define.
41788         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
41789         * modules/areadlinkat: New module.
41790         * lib/linkat.c (areadlinkat): Move...
41791         * lib/areadlinkat.c (areadlinkat): ...to new file.
41792         * lib/areadlink.h (areadlinkat): Declare it.
41793         * modules/linkat (Depends-on): Add areadlinkat.
41794         * MODULES.html.sh (File system functions): Mention it.
41795         * modules/areadlinkat-tests: New test.
41796         * tests/test-areadlinkat.c: New file.
41797
41798         areadlink, areadlink-with-size: add tests
41799         * modules/areadlink-tests: New test.
41800         * modules/areadlink-with-size-tests: Likewise.
41801         * tests/test-areadlink.h: New file.
41802         * tests/test-areadlink.c: Likewise.
41803         * tests/test-areadlink-with-size.c: Likewise.
41804
41805         maint: minor cleanups
41806         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
41807         _UNUSED_PARAMETER_ instead.
41808         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
41809         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
41810         * modules/linkat-tests (Files): Distribute test-link.h.
41811
41812         openat, utimens: whitespace cleanup
41813         * lib/openat.c: Prefer space throughout, rather than mix of 8
41814         spaces vs. tabs.
41815         * lib/at-func.c: Likewise.
41816         * lib/utimens.c: Likewise.
41817
41818         openat: avoid using wrong fd
41819         * lib/openat.c (openat_permissive): Reject user's fd if saving the
41820         working directory chooses same fd.
41821         * lib/at-func.c (AT_FUNC_NAME): Likewise.
41822
41823         mkdir, mkdirat: fix cygwin 1.5.x bug
41824         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
41825         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
41826         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
41827         bug.
41828         (gl_PREREQ_MKDIR): Delete unused macro.
41829         * modules/mkdir (Files): Track file rename.
41830         (configure.ac): Update macro name.
41831         * modules/openat (Depends-on): Add mkdir.
41832         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
41833
41834         mkdir, mkdirat: add tests
41835         * modules/mkdir-tests: New test.
41836         * tests/test-mkdir.h: New file.
41837         * tests/test-mkdir.c: Likewise.
41838         * tests/test-mkdirat.c: Likewise.
41839         * modules/openat-tests (Files): Add new files.
41840         (Makefile.am): Run new test.
41841
41842 2009-10-06  Eric Blake  <ebb9@byu.net>
41843
41844         doc: tweak *at function documentation
41845         * doc/posix-functions/faccessat.texi (faccessat): Mention
41846         known issue with replacement.
41847         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
41848         * doc/posix-functions/linkat.texi (linkat): Likewise.
41849         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
41850         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
41851         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
41852         * doc/posix-functions/renameat.texi (renameat): Likewise.
41853         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41854
41855         openat: fix GNU/Hurd bug in unlinkat
41856         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
41857         broken.
41858         * doc/posix-functions/unlink.texi (unlink): Document this.
41859         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
41860
41861         fdopendir: fix GNU/Hurd bug
41862         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
41863         allowing non-directory fds.
41864         * lib/fdopendir.c (rpl_fdopendir): Work around it.
41865         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
41866         * modules/dirent (Makefile.am): Substitute it.
41867         * lib/dirent.in.h (fdopendir): Declare replacement.
41868         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
41869         * tests/test-fdopendir.c (main): Test something other than
41870         /dev/null, since on Hurd that behaves like a directory.
41871
41872         test-symlink: port to GNU/Hurd
41873         * tests/test-symlink.h (test_symlink): Relax expected errno.
41874
41875         doc: tweak more cygwin information
41876         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
41877         now compatible with glibc.
41878         * doc/posix-functions/getopt.texi (getopt): Likewise.
41879
41880         getopt-gnu: add another test
41881         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
41882         guarantee behavior relied on by m4.
41883         * tests/test-getopt.c (main): Use it.
41884         * modules/getopt-posix-tests (Depends-on): Add setenv.
41885         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
41886
41887         getopt: fix compilation on darwin
41888         * lib/getopt.in.h (includes): Leave breadcrumbs during system
41889         include.
41890         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
41891         Reported by Ludovic Courtès.
41892
41893 2009-10-06  Bruno Haible  <bruno@clisp.org>
41894
41895         * modules/size_max (Description): Discourage its use.
41896         Reported by Simon Josefsson.
41897
41898 2009-10-06  Jim Meyering  <meyering@redhat.com>
41899
41900         linkat: avoid compilation failure
41901         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
41902
41903 2009-10-05  Eric Blake  <ebb9@byu.net>
41904
41905         linkat: support Linux 2.6.17
41906         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
41907         linkat on Linux, but allow cache variable override.
41908         * lib/linkat.c (rpl_linkat): Define override.
41909         * modules/linkat (Depends-on): Add symlinkat.
41910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
41911         * modules/unistd (Makefile.am): Substitute it.
41912         * lib/unistd.in.h (linkat): Declare replacement.
41913         Reported by Pádraig Brady.
41914
41915         quotearg: port test to systems with C.UTF-8 locale
41916         * tests/test-quotearg.c (struct result_strings): Add another
41917         member, differentiating between C.ASCII and C.UTF-8 handling.
41918         (compare_strings): Add parameter.
41919         (main): Adjust all callers.
41920
41921         getopt: avoid clash with FreeBSD _getopt_internal
41922         * lib/getopt.in.h (_getopt_internal): Override the name.
41923         * lib/getopt_int.h (includes): Pick up any overrides.
41924         Reported by Reuben Thomas.
41925
41926         hash: allow C89 compilation
41927         * lib/hash.c (check_tuning): Move declaration before statement.
41928         Reported by Reuben Thomas.
41929
41930 2009-10-05  Karl Berry  <karl@gnu.org>
41931
41932         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
41933
41934 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
41935             Bruno Haible  <bruno@clisp.org>
41936
41937         * lib/uname.c (uname): Use a table-driven algorithm to compute
41938         Windows NT versions.
41939
41940 2009-10-04  Bruno Haible  <bruno@clisp.org>
41941
41942         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
41943         program_invocation_short_name.
41944         * modules/progname (configure.ac): Test for presence of
41945         program_invocation_short_name.
41946         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
41947
41948 2009-10-04  Bruno Haible  <bruno@clisp.org>
41949
41950         * lib/progname.c (set_program_name): Fix comment.
41951         Reported by Jim Meyering.
41952
41953 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41954             Bruno Haible  <bruno@clisp.org>
41955
41956         * lib/uname.c: Include <string.h>.
41957         (uname): Do only one call to GetVersionEx in the common case.
41958
41959 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
41960             Bruno Haible  <bruno@clisp.org>
41961
41962         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
41963         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
41964         (uname): Add support for Windows CE and various non-x86 CPU types.
41965
41966 2009-10-03  Bruno Haible  <bruno@clisp.org>
41967
41968         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
41969         invocation to tests/configure.ac.
41970         Reported by Ian Beckwith <ianb@erislabs.net>.
41971
41972 2009-10-02  Eric Blake  <ebb9@byu.net>
41973
41974         fchdir: avoid compiler warning
41975         * lib/fchdir.c (canonicalize_file_name)
41976         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
41977
41978         test-open: support mingw errno values
41979         * tests/test-open.h (test_open): Relax test.
41980         * tests/test-fopen.h (test_fopen): Likewise.
41981         * tests/test-openat-safer.c (main): Likewise.
41982
41983         open: fix opening directory on mingw
41984         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
41985
41986         test-open: on GNU/Hurd, /dev/null is a directory
41987         * tests/test-fopen.h (main): Rename...
41988         (test_fopen): ...to this.  Use a guaranteed non-directory when
41989         confirming open behavior on trailing slash.
41990         * tests/test-openat-safer.c (main): Likewise.
41991         * tests/test-open.h (main): Likewise....
41992         (test_open): ...to this.
41993         * tests/test-fopen.c (main): Adjust caller.
41994         * tests/test-fopen-safer.c (main): Likewise.
41995         * tests/test-open.c (main): Likewise.
41996         * tests/test-fcntl-safer.c (main): Likewise.
41997         Reported by Samuel Thibault.
41998
41999         rename, fchdir: don't ignore chdir failure
42000         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
42001         * lib/rename.c (rpl_rename) [W32]: Likewise.
42002         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
42003         an empty destination directory if source cannot be renamed,
42004         although there is still possibility for failure.
42005         * doc/posix-functions/rename.texi (rename): Document the race.
42006         Reported by Jim Meyering.
42007
42008         maint: cleanup whitespace in recent commits
42009         * lib/rename.c (rpl_rename): Remove tabs.
42010         * tests/test-link.h (test_link): Likewise.
42011         * lib/fchdir.c (get_name): Likewise.
42012         Reported by Jim Meyering.
42013
42014 2009-10-02  Ben Pfaff  <blp@gnu.org>
42015
42016         relocatable-prog-wrapper: Add missing dependency on
42017         double-slash-root.
42018         * modules/relocatable-prog-wrapper: Add dependency.
42019         Reported by Ian Beckwith <ianb@erislabs.net>.
42020
42021 2009-10-02  Eric Blake  <ebb9@byu.net>
42022
42023         renameat: fix Solaris bugs
42024         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
42025         needed fixing.
42026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
42027         * modules/stdio (Makefile.am): Substitute it.
42028         * lib/stdio.in.h (renameat): Declare replacement.
42029         * lib/renameat.c (rpl_renameat): Implement fix.
42030
42031         renameat: new module
42032         * modules/renameat: New file.
42033         * lib/renameat.c (renameat): Likewise.
42034         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
42035         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42036         * modules/stdio (Makefile.am): Substitute them.
42037         * lib/stdio.in.h (renameat): Declare it.
42038         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42039         * doc/posix-functions/renameat.texi (renameat): Likewise.
42040         * modules/renameat-tests: New test.
42041         * tests/test-renameat.c: Likewise.
42042
42043         rename: fix mingw bugs
42044         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
42045         directory overwrite bugs.
42046
42047         rename: fix another cygwin 1.5 bug
42048         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
42049         checks.
42050         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
42051         unnecessary cygwin workarounds.  Also work around bug with moving
42052         full directory onto an empty one.
42053         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
42054
42055         rename-dest-slash: merge into rename module
42056         * modules/rename-dest-slash (Status): Mark obsolete.
42057         (Depends-on): Add rename.
42058         (Files): Let rename do it all.
42059         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
42060         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
42061         * m4/rename-dest-slash.m4: ...so this file can be deleted.
42062         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
42063         * lib/rename.c (rpl_rename): Update comments.
42064
42065         rename: fix cygwin 1.5.x bugs
42066         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
42067         * lib/rename.c (rpl_rename): Work around them.
42068         * modules/rename (Depends-on): Add same-inode.
42069
42070         rename: fix Solaris 10 bug
42071         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42072         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
42073         was the only bug.
42074
42075         rename: fix Solaris 9 bug
42076         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
42077         on non-directory.  Avoid calling exit.
42078         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
42079         strdup.
42080         * modules/rename-tests (Depends-on): Drop lstat.
42081         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
42082         (gl_PREREQ_RENAME): Delete unused macro.
42083
42084         rename-dest-slash: fix NetBSD bug
42085         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
42086         links.
42087         * modules/rename-dest-slash (Depends-on): Add same-inode.
42088
42089         rename-tests: new test, exposes several platform bugs
42090         * modules/rename-tests: New file.
42091         * tests/test-rename.h: Likewise.
42092         * tests/test-rename.c: Likewise.
42093         * doc/posix-functions/rename.texi (rename): Improve documentation,
42094         including bugs that will eventually be fixed in gnulib.
42095
42096 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
42097
42098         * lib/uname.c: Include <stdlib.h>
42099         (uname): Assume version info is available.
42100
42101 2009-10-02  Jim Meyering  <meyering@redhat.com>
42102
42103         gnu-web-doc-update: correct --help output
42104         * build-aux/gnu-web-doc-update: Make --help output relevant.
42105
42106         gnu-web-doc-update: add standard options
42107         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
42108
42109         gnu-web-doc-update: New module.
42110         Use this script to automatically update the on-line web documentation
42111         for your GNU project at http://www.gnu.org/software/$pkg/manual/
42112         * modules/gnu-web-doc-update: New file, from coreutils.
42113         * build-aux/gnu-web-doc-update: New script.
42114
42115 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
42116
42117         link: LoadLibrary is not needed.
42118         * lib/link.c: Use GetModuleHandle.
42119
42120 2009-10-01  Eric Blake  <ebb9@byu.net>
42121
42122         getopt: bump serial number
42123         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
42124         change.
42125
42126         tests: tighten link, rmdir, and remove tests
42127         * tests/test-link.h (includes): No need to use <config.h> here.
42128         Clean up if directory hard link was created, otherwise test for
42129         trailing '.'.
42130         * tests/test-linkat.c (main): Simplify.
42131         * tests/test-remove.c (main): Enhance test for trailing '.'.
42132         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42133
42134 2009-10-01  Jim Meyering  <meyering@redhat.com>
42135
42136         maint.mk: requiring "make major" was annoying, for a "minor" release.
42137         What is intended is "stable", to contrast with alpha and beta,
42138         so require "make stable", not "make major".
42139         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
42140         (get_tool_versions): Likewise.
42141         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
42142
42143 2009-09-30  Ben Pfaff  <blp@gnu.org>
42144
42145         Fix broken build of replacement for Windows tmpfile().
42146         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
42147         flags argument added along with the 'mkostemp' module.
42148
42149 2009-09-28  Bruno Haible  <bruno@clisp.org>
42150
42151         Avoid identifier clash with POSIX function 'remove' defined as a macro.
42152         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
42153         to 'remove_elt'.
42154         (gl_list_remove): Update.
42155         * lib/gl_list.c (gl_list_remove): Update.
42156         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
42157         to 'remove_elt'.
42158         (gl_oset_remove): Update.
42159         * lib/gl_list.c (gl_oset_remove): Update.
42160         Reported by Eric Blake.
42161
42162 2009-09-28  Eric Blake  <ebb9@byu.net>
42163
42164         doc: mention yet more cygwin 1.7 status
42165         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
42166         cygwin.
42167         * doc/glibc-functions/execvpe.texi (execvpe): New file.
42168         * doc/gnulib.texi (Glibc unistd.h): Mention it.
42169
42170         argp: fix test failure
42171         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
42172         that are not upper-case.  Pass correct range to tolower.
42173
42174 2009-09-27  Jim Meyering  <meyering@redhat.com>
42175
42176         test-yesno: work around sparc-dash here-document infelicity
42177         Without this change, the literal \177 byte in a here document
42178         would make dash 0.5.5.1-3 access uninitialized memory.
42179         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
42180         Instead, use a marker, "@", and filter through tr to create the desired
42181         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
42182
42183 2009-09-27  Bruno Haible  <bruno@clisp.org>
42184
42185         Disable untested support for new flavours of ACLs on AIX.
42186         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
42187         progress.
42188         * lib/set-mode-acl.c (qset_acl): Likewise.
42189
42190 2008-12-07  Bruno Haible  <bruno@clisp.org>
42191
42192         Add support for new flavours of ACLs on AIX. (Untested.)
42193         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
42194         (file_has_acl): Add support for newer AIX.
42195         * lib/set-mode-acl.c (qset_acl): Likewise.
42196         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
42197         Rainer Tammer <tammer@tammer.net>.
42198
42199 2009-09-26  Eric Blake  <ebb9@byu.net>
42200
42201         argp: fix compilation of getopt
42202         * lib/getopt.in.h (includes): Use different guard than glibc.
42203         Reported by Sergey Poznyakoff.
42204
42205         doc: mention more cygwin 1.7 status
42206         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
42207         bug.
42208         * doc/posix-functions/execl.texi (execl): Likewise.
42209         * doc/posix-functions/execle.texi (execle): Likewise.
42210         * doc/posix-functions/execlp.texi (execlp): Likewise.
42211         * doc/posix-functions/execv.texi (execv): Likewise.
42212         * doc/posix-functions/execve.texi (execve): Likewise.
42213         * doc/posix-functions/execvp.texi (execvp): Likewise.
42214         * doc/glibc-functions/canonicalize_file_name.texi
42215         (canonicalize_file_name): Cygwin 1.7 now provides this.
42216         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
42217         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
42218         on AT_SYMLINK_NOFOLLOW.
42219
42220 2009-09-24  Eric Blake  <ebb9@byu.net>
42221
42222         test-linkat: make test more robust
42223         * tests/test-linkat.c (main): Avoid collision with EEXIST.
42224
42225         getopt: fix inclusion guards for cygwin
42226         * modules/getopt-posix (Depends-on): Add include-next.
42227         (Makefile.am): Substitute more items in replacement header.
42228         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
42229         <getopt.h>.
42230         * lib/getopt.in.h (includes): Use split inclusion guard, and
42231         prefer <getopt.h> over include <unistd.h> when one is present.
42232         (option): Also override name of 'struct option'.
42233
42234         same-inode: revert prior change; it is not yet ready
42235         * NEWS: Undo mention of this change.
42236         * lib/same-inode.h (same-inode.h): Undo tri-state change.
42237         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42238         * lib/cycle-check.c (cycle_check): Likewise.
42239         * lib/same.c (same_name): Likewise.
42240         * lib/at-func2.c (at_func2): Likewise.
42241
42242 2009-09-23  Eric Blake  <ebb9@byu.net>
42243
42244         linkat: new module
42245         * modules/linkat: New file.
42246         * lib/at-func2.c (at_func2): Likewise.
42247         * lib/linkat.c (linkat): Likewise.
42248         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
42249         * lib/openat-priv.h (at_func2): Add declaration.
42250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42251         * modules/unistd (Makefile.am): Substitute them.
42252         * lib/unistd.in.h (linkat): Declare it.
42253         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42254         * doc/posix-functions/linkat.texi (linkat): Likewise.
42255         * doc/posix-functions/link.texi (link): Tweak wording.
42256         * tests/test-link.c (main): Move guts...
42257         * tests/test-link.h (test_link): ...into new file.
42258         * modules/linkat-tests: New test.
42259         * tests/test-linkat.c: Likewise.
42260         * modules/link-tests (Files): Ship new file.
42261         (Depends-on): Add stdbool.
42262
42263         dirname: add library-safe mdir_name
42264         * lib/dirname.h (mdir_name): New prototype.
42265         * lib/dirname.c (dir_name): Move guts...
42266         (mdir_name): ...to new function that avoids xalloc_die.
42267
42268         fchdir: another mingw fix
42269         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
42270         * lib/fchdir.c (get_name): New helper method; skips canonicalize
42271         on mingw (where it has not yet been ported), and make it optional
42272         elsewhere.
42273         (_gl_register_fd): Use it.
42274
42275         same-inode: make SAME_INODE tri-state, to port to mingw
42276         * NEWS: Mention this change.
42277         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
42278         st_ino always being 0.
42279         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
42280         * lib/cycle-check.c (cycle_check): Likewise.
42281         * lib/same.c (same_name): Likewise.
42282
42283         lstat: avoid mingw compilation error
42284         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
42285         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
42286         lstat ourselves.
42287         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
42288         was adequate.
42289         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
42290         the checks for lstat.
42291         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
42292
42293         link: fix test failure on Solaris 9
42294         * lib/link.c (rpl_link): Don't assume link will catch bogus
42295         trailing slash on source.
42296
42297         test-symlinkat: enhance test
42298         * tests/test-readlink.c (main): Move guts...
42299         * tests/test-readlink.h (test_readlink): ...into new file.
42300         * tests/test-symlink.c (main): Move guts...
42301         * tests/test-symlink.h (test_symlink): ...into new file.
42302         * tests/test-symlinkat.c (main): Use new files for further
42303         coverage.
42304         (do_symlink, do_readlink): New helper functions.
42305         * modules/symlink-tests (Files): Ship new file.
42306         (Depends-on): Add stdbool.
42307         * modules/readlink-tests (Files): Ship new file.
42308         (Depends-on): Add stdbool.
42309         * modules/symlinkat-tests (Files): Use new files.
42310
42311 2009-09-23  Eric Blake  <ebb9@byu.net>
42312
42313         readlink: document portability issue with symlink length
42314         * doc/posix-functions/lstat.texi (lstat): Mention that some file
42315         systems have bogus st_size on symlinks, and mention the
42316         areadlink-with-size module.
42317         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42318         * doc/posix-functions/readlink.texi (readlink): Mention the
42319         areadlink module, and ERANGE failure.
42320         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
42321         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
42322
42323         readlink: fix Solaris 9 bug with trailing slash
42324         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
42325         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
42326         * doc/posix-functions/readlink.texi (readlink): Document this.
42327         * modules/readlink-tests: New test.
42328         * tests/test-readlink.c: Likewise.
42329
42330         readlink: fix cygwin 1.5.x bug with return type
42331         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
42332         * lib/unistd.in.h (readlink): Use ssize_t.
42333         * lib/readlink.c (readlink): Likewise.
42334         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42335         * modules/unistd (Makefile.am): Substitute it.
42336         * lib/unistd.in.h (readlink): Declare replacement.
42337         * doc/posix-functions/readlink.texi (readlink): Document this.
42338
42339         symlink: use throughout gnulib
42340         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
42341         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
42342         symlink is not used.
42343         * modules/symlinkat (Depends-on): Add symlink.
42344         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42345         * modules/canonicalize-tests (Depends-on): Likewise.
42346         * modules/lstat-tests (Depends-on): Likewise.
42347         * modules/openat-tests (Depends-on): Likewise.
42348         * modules/remove-tests (Depends-on): Likewise.
42349         * modules/rmdir-tests (Depends-on): Likewise.
42350         * modules/unlink-tests (Depends-on): Likewise.
42351         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
42352         * tests/test-canonicalize.c (symlink): Likewise.
42353         * tests/test-fstatat.c (symlink): Likewise.
42354         * tests/test-lstat.c (symlink): Likewise.
42355         * tests/test-remove.c (symlink): Likewise.
42356         * tests/test-rmdir.c (symlink): Likewise.
42357         * tests/test-unlink.c (symlink): Likewise.
42358         * tests/test-unlinkat.c (symlink): Likewise.
42359
42360         symlink: new module, for Solaris 9 bug
42361         * modules/symlink: New file.
42362         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
42363         * lib/symlink.c: Likewise.
42364         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42365         * modules/unistd (Makefile.am): Substitute them.
42366         * lib/unistd.in.h (symlink): Declare replacement.
42367         * MODULES.html.sh (File system functions): Mention it.
42368         * doc/posix-functions/symlink.texi (symlink): Likewise.
42369         * modules/symlink-tests: New test.
42370         * tests/test-symlink.c: Likewise.
42371
42372 2009-09-23  Bruno Haible  <bruno@clisp.org>
42373
42374         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
42375         when needed.
42376         Test case: gnulib-tool --import --with-tests atexit inttypes.
42377         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
42378
42379 2009-09-23  Bruno Haible  <bruno@clisp.org>
42380
42381         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
42382         subcommand, not in a subshell.
42383
42384 2009-09-22  Eric Blake  <ebb9@byu.net>
42385
42386         unistd: sort replacement declarations
42387         * lib/unistd.in.h: Sort declarations.
42388
42389         open, openat: minor optimization
42390         * lib/open.c (open): If open succeeded, len is non-zero.
42391         * lib/openat.c (rpl_openat): Likewise.
42392
42393         link-follow: ensure correct result
42394         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
42395         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
42396         distinguish between possible failures.
42397
42398 2009-09-21  Eric Blake  <ebb9@byu.net>
42399
42400         fts: avoid compiler warning
42401         * lib/fts.c (dirent_inode_sort_may_be_useful)
42402         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
42403
42404 2009-09-19  Bruno Haible  <bruno@clisp.org>
42405
42406         * lib/progreloc.c (canonicalize_file_name): New declaration.
42407
42408 2009-09-19  Eric Blake  <ebb9@byu.net>
42409
42410         link: fix quoting
42411         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
42412
42413         openat: fix openat bugs on Solaris 9
42414         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
42415         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
42416         * modules/openat (Depends-on): Add open.
42417         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
42418         * modules/fcntl-h (Makefile.am): Substitute it.
42419         * lib/fcntl.in.h (openat): Declare replacement.
42420         * doc/posix-functions/openat.texi (openat): Document this.
42421
42422         openat: move fstatat and unlinkat into correct files
42423         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
42424         compiled.
42425         * lib/openat.c (fstatat, unlinkat): Move...
42426         * lib/fstatat.c (fstatat): ...into correct files.
42427         * lib/unlinkat.c (unlinkat): Likewise.
42428
42429         openat: fix unlinkat bugs on Solaris 9
42430         * lib/unlinkat.c (unlinkat): New file.
42431         * modules/openat (Depends-on): Add unlink.
42432         (Files): Distribute it.
42433         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
42434         trailing slash behavior is broken.
42435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42436         * modules/unistd (Makefile.am): Substitute it.
42437         * lib/unistd.in.h (unlinkat): Declare replacement.
42438         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
42439
42440         openat: fix fstatat bugs on Solaris 9
42441         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
42442         stat.
42443         * doc/posix-functions/fstatat.texi (fstatat): Document this.
42444
42445         test-unlinkat: enhance test, to expose Solaris 9 bug
42446         * tests/test-unlink.c (main): Factor guts...
42447         * tests/test-unlink.h (test_rmdir_func): ...into new file.
42448         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
42449         * tests/test-rmdir.c (main): Adjust caller.
42450         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
42451         (unlinker): New helper function.
42452         (rmdirat): Enhance check.
42453         * modules/rmdir-tests (Depends-on): Add stdbool.
42454         * modules/unlink-tests (Depends-on): Likewise.
42455         (Files): Add test-unlink.h.
42456         * modules/openat-tests (Files): Likewise.
42457         (Depends-on): Add unlinkdir.
42458
42459         test-fstatat: new test, to expose Solaris 9 bugs
42460         * tests/test-stat.c (main): Factor guts...
42461         * tests/test-stat.h (test_stat_func): ...into new file.
42462         * tests/test-lstat.c (main): Factor guts...
42463         * tests/test-lstat.h (test_lstat_func): ...into new file.
42464         * tests/test-fstatat.c: New file.
42465         * modules/stat-tests (Files): Add test-stat.h.
42466         * modules/lstat-tests (Files): Add test-lstat.h.
42467         (Depends-on): Add stdbool.
42468         * modules/openat-tests (Depends-on): Add pathmax.
42469         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
42470         (Makefile.am): Run new test.
42471
42472         remove: new module, for mingw and Solaris 9 bugs
42473         * modules/remove: New file.
42474         * lib/remove.c: Likewise.
42475         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
42476         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
42477         * modules/stdio (Makefile.am): Use them.
42478         * lib/stdio.in.h (remove): Declare replacement.
42479         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42480         * doc/posix-functions/remove.texi (remove): Likewise.
42481         * modules/remove-tests: New test.
42482         * tests/test-remove.c: Likewise.
42483
42484         unlink: new module, for Solaris 9 bug
42485         * modules/unlink: New file.
42486         * lib/unlink.c: Likewise.
42487         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
42488         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
42489         * modules/unistd (Makefile.am): Use them.
42490         * lib/unistd.in.h (stat): Declare replacement.
42491         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42492         * doc/posix-functions/unlink.texi (unlink): Likewise.
42493         * modules/unlink-tests: New test.
42494         * tests/test-unlink.c: Likewise.
42495
42496         lstat: fix Solaris 9 bug
42497         * lib/lstat.c (lstat): Also check for trailing slash on
42498         non-symlink, non-directories.  Use stat module to simplify logic.
42499         * doc/posix-functions/lstat.texi (lstat): Document it.
42500         * modules/lstat-tests (Depends-on): Add errno, same-inode.
42501         (configure.ac): Check for symlink.
42502         * tests/test-lstat.c (main): Add more tests.
42503
42504         stat: add as dependency to other modules
42505         * modules/chown (Depends-on): Add stat.
42506         * modules/euidaccess (Depends-on): Likewise.
42507         * modules/fchdir (Depends-on): Likewise.
42508         * modules/isdir (Depends-on): Likewise.
42509         * modules/link (Depends-on): Likewise.
42510         * modules/lstat (Depends-on): Likewise.
42511         * modules/mkdir-p (Depends-on): Likewise.
42512         * modules/modechange (Depends-on): Likewise.
42513         * modules/open (Depends-on): Likewise.
42514         * modules/readlink (Depends-on): Likewise.
42515         * modules/same (Depends-on): Likewise.
42516
42517         stat: fix Solaris 9 bug
42518         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
42519         slash.
42520         * lib/stat.c (rpl_stat): Work around it.
42521         * doc/posix-functions/stat.texi (stat): Update documentation.
42522
42523         stat: new module, for mingw bug
42524         * modules/stat: New file.
42525         * lib/stat.c: Likewise.
42526         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
42527         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42528         * modules/sys_stat (Makefile.am): Use them.
42529         * lib/sys_stat.in.h (stat): Declare replacement.
42530         * lib/openat.c (fstatat): Deal with lstat and stat being function
42531         macros.
42532         * modules/openat (Depends-on): Add inline.
42533         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42534         * doc/posix-functions/stat.texi (stat): Likewise.
42535         * modules/stat-tests: New test.
42536         * tests/test-stat.c: Likewise.
42537
42538 2009-09-19  Jim Meyering  <meyering@redhat.com>
42539
42540         syntax-check: detect unnecessary inclusion of canonicalize.h
42541         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
42542
42543 2009-09-19  Eric Blake  <ebb9@byu.net>
42544
42545         canonicalize-lgpl: adjust clients to use correct header
42546         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42547         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
42548         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
42549         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
42550         * lib/progreloc.c (includes): Likewise.
42551
42552 2009-09-19  Jim Meyering  <meyering@redhat.com>
42553
42554         test-posixtm.c: correct a comment
42555         * tests/test-posixtm.c: Correct first-line comment.
42556         Spotted by Eric Blake.
42557
42558 2009-09-16  Jim Meyering  <meyering@redhat.com>
42559
42560         posixtm-tests: make T const-correct; add a test case
42561         * tests/test-posixtm.c (T): Declare const.
42562         Add a test for -(2^31+1).
42563         Remove useless can-succeed-only-in-2002 test.
42564
42565         posixtm-tests: adjust the sole failing test
42566         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
42567         expected output matches what mktime now produces.  Cross-checked via
42568         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
42569
42570         posixtm: move #ifdef'd tests into a new module
42571         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
42572         * tests/test-posixtm.c: ... this new file.
42573         * modules/posixtm-tests: New module.
42574
42575 2009-09-19  Eric Blake  <ebb9@byu.net>
42576
42577         openat: simplify use of at-func.c
42578         * lib/at-func.c (includes): Include prerequisites here, to
42579         simplify requirements on client files.
42580         * lib/openat-priv.h: Add double-inclusion guard.
42581         * lib/faccessat.c (includes): Simplify.
42582         * lib/fchmodat.c (includes): Likewise.
42583         * lib/fchownat.c (includes): Likewise.
42584         * lib/mkdirat.c (includes): Likewise.
42585         * lib/mkfifoat.c (includes): Likewise.
42586         * lib/symlinkat.c (includes): Likewise.
42587
42588         openat: allow return of fd 0
42589         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
42590         * modules/save-cwd (Depends-on): Replace fcntl-safer with
42591         unistd-safer.
42592         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
42593         <fcntl.h>; this module does not leak fds.
42594         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
42595         must be allowed to return 0, leaving openat_safer to add the
42596         safety.
42597         (openat_permissive): Avoid writing to just-opened fd 2 if
42598         restoring the current directory fails.
42599         * lib/openat-die.c (openat_restore_fail): Add comment.
42600         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
42601         (save_cwd): Guarantee safe fd, but without use of open_safer.
42602         * tests/test-openat.c: New test.
42603         * modules/openat-tests (Files, Makefile.am): Distribute and build
42604         new file.
42605
42606         relocatable-prog-wrapper: fix build
42607         * modules/relocatable-prog-wrapper (Files): Update name of
42608         canonicalize m4 file, broken on 2009-09-17.
42609         Reported by emad hajjar <aleppos@hotmail.com>.
42610
42611 2009-09-19  Bruno Haible  <bruno@clisp.org>
42612
42613         * lib/safe-alloc.h: Use the standard header with GPL copyright.
42614         * lib/safe-alloc.c: Likewise.
42615         Reported by Ian Beckwith <ianb@erislabs.net>.
42616
42617 2009-09-18  Bruno Haible  <bruno@clisp.org>
42618
42619         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
42620         Reported by <erobles@sensacd.com.mx>.
42621
42622 2009-09-17  Eric Blake  <ebb9@byu.net>
42623
42624         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
42625         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
42626         slashes when checking if last component is missing.
42627         * tests/test-canonicalize.c (main): Test this.
42628
42629         canonicalize, canonicalize-lgpl: honor // if distinct from /
42630         * modules/canonicalize (Files): Add double-slash-root.m4.
42631         * modules/canonicalize-lgpl (Files): Likewise.
42632         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
42633         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
42634         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
42635         fallback definition.
42636         (canonicalize_filename_mode): Use it to protect //.
42637         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
42638         (__realpath): Likewise.
42639         * tests/test-canonicalize.c (main): Test this.
42640         * tests/test-canonicalize-lgpl.c (main): Likewise.
42641         * modules/canonicalize-tests (Depends-on): Add same-inode.
42642         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
42643
42644         canonicalize-lgpl: fix glibc bug with trailing slash
42645         * m4/canonicalize-lgpl.m4: Move contents...
42646         * m4/canonicalize.m4: ...here.
42647         (gl_CANONICALIZE_LGPL): Factor realpath check...
42648         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
42649         glibc 2.3.5 bug, fixed 2005-04-27.
42650         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
42651         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
42652         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
42653         * modules/canonicalize-lgpl (Files): Manage file rename.
42654         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42655         * modules/stdlib (Makefile.am): Substitute witness.
42656         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
42657         is needed.
42658         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
42659         replacement is required.
42660         * lib/canonicalize.c (canonicalize_file_name): Likewise.
42661         * doc/glibc-functions/canonicalize_file_name.texi
42662         (canonicalize_file_name): Document this.
42663         * doc/posix-functions/realpath.texi (realpath): Likewise.
42664
42665         canonicalize-lgpl: reject non-directory with trailing slash
42666         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
42667         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
42668         catches failures in glibc 2.3.5.
42669         * tests/test-canonicalize.c (main): Likewise.
42670
42671         canonicalize-lgpl: use native realpath if it works
42672         * lib/canonicalize-lgpl.c (realpath): Guard with
42673         FUNC_REALPATH_WORKS.
42674         * lib/stdlib.in.h (realpath): Make declaration optional based on
42675         HAVE_REALPATH.
42676         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
42677         native realpath works.
42678         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
42679         * modules/stdlib (Makefile.am): Substitute witness.
42680
42681         canonicalize, canonicalize-lgpl: use <stdlib.h>
42682         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
42683         (Include): Mention <stdlib.h>.
42684         (configure.ac): Mention functions we provide.
42685         * modules/canonicalize (configure.ac): Likewise.
42686         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
42687         realpath if canonicalize_file_name is missing.
42688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
42689         * modules/stdlib (Makefile.am): Substitute witnesses.
42690         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
42691         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
42692         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
42693         * NEWS: Document this.
42694         * doc/glibc-functions/canonicalize_file_name.texi
42695         (canonicalize_file_name): Likewise.
42696         * doc/posix-functions/realpath.texi (realpath): Likewise.
42697         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
42698
42699         test-canonicalize: consolidate into single C program
42700         * tests/test-canonicalize.sh: Delete; move setup into...
42701         * tests/test-canonicalize.c (main): ...the program, making it
42702         easier to run in debugger.  Add some tests.
42703         * modules/canonicalize-tests (Files): Remove unused file.
42704         (Depends-on): Add progname.
42705         (configure.ac, Makefile.am): Simplify.
42706
42707         test-canonicalize-lgpl: consolidate into single C program
42708         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
42709         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
42710         easier to run in debugger.  Add some tests.
42711         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
42712         (configure.ac, Makefile.am): Simplify.
42713
42714         canonicalize: avoid resolvepath
42715         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
42716         unnecessary checks.
42717         * lib/canonicalize.c (includes): Simplify.
42718         (canonicalize_file_name): Drop resolvepath implementation.
42719         * modules/canonicalize (Depends-on): Drop filenamecat.
42720
42721         canonicalize: don't lose errno
42722         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
42723         over calls to free.
42724
42725         canonicalize: simplify errno handling
42726         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
42727         assignment.
42728
42729         canonicalize, canonicalize-lgpl: update module dependencies
42730         * modules/canonicalize (Depends-on): Add extensions, lstat,
42731         pathmax, stdlib.
42732         (Files): Drop pathmax.h.
42733         (configure.ac): Adjust macro name.
42734         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
42735         lstat, stdlib, sys_stat.
42736         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
42737         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
42738         extensions.
42739         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
42740         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
42741         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
42742         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
42743         declaration, if available.
42744         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
42745         we can rely on the readlink module.
42746         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
42747         (includes): Use <unistd.h> unconditionally.
42748
42749 2009-09-17  Eric Blake  <ebb9@byu.net>
42750
42751         maint: make Include sections of modules consistent
42752         * modules/alloca: Use only header name; no need to list #include.
42753         * modules/alloca-opt: Likewise.
42754         * modules/arpa_inet: Likewise.
42755         * modules/canon-host: Likewise.
42756         * modules/configmake: Likewise.
42757         * modules/dirent: Likewise.
42758         * modules/eealloc: Likewise.
42759         * modules/environ: Likewise.
42760         * modules/fchdir: Likewise.
42761         * modules/fcntl: Likewise.
42762         * modules/fcntl-h: Likewise.
42763         * modules/gethrxtime: Likewise.
42764         * modules/gettime: Likewise.
42765         * modules/ignore-value: Likewise.
42766         * modules/inet_ntop: Likewise.
42767         * modules/inet_pton: Likewise.
42768         * modules/inttypes: Likewise.
42769         * modules/isnand-nolibm: Likewise.
42770         * modules/isnanf-nolibm: Likewise.
42771         * modules/mbchar: Likewise.
42772         * modules/mbfile: Likewise.
42773         * modules/mbiter: Likewise.
42774         * modules/mbuiter: Likewise.
42775         * modules/netdb: Likewise.
42776         * modules/netinet_in: Likewise.
42777         * modules/nproc: Likewise.
42778         * modules/pagealign_alloc: Likewise.
42779         * modules/poll: Likewise.
42780         * modules/printf-frexp: Likewise.
42781         * modules/pthread: Likewise.
42782         * modules/putenv: Likewise.
42783         * modules/random_r: Likewise.
42784         * modules/relocatable-prog: Likewise.
42785         * modules/search: Likewise.
42786         * modules/select: Likewise.
42787         * modules/selinux-h: Likewise.
42788         * modules/settime: Likewise.
42789         * modules/signal: Likewise.
42790         * modules/size_max: Likewise.
42791         * modules/socklen: Likewise.
42792         * modules/ssize_t: Likewise.
42793         * modules/stdarg: Likewise.
42794         * modules/stdbool: Likewise.
42795         * modules/stddef: Likewise.
42796         * modules/stdint: Likewise.
42797         * modules/stdio: Likewise.
42798         * modules/stdlib: Likewise.
42799         * modules/string: Likewise.
42800         * modules/strings: Likewise.
42801         * modules/sys_file: Likewise.
42802         * modules/sys_ioctl: Likewise.
42803         * modules/sys_select: Likewise.
42804         * modules/sys_socket: Likewise.
42805         * modules/sys_stat: Likewise.
42806         * modules/sys_time: Likewise.
42807         * modules/sys_times: Likewise.
42808         * modules/sys_utsname: Likewise.
42809         * modules/sys_wait: Likewise.
42810         * modules/sysexits: Likewise.
42811         * modules/time: Likewise.
42812         * modules/times: Likewise.
42813         * modules/tmpfile: Likewise.
42814         * modules/trim: Likewise.
42815         * modules/unistd: Likewise.
42816         * modules/wchar: Likewise.
42817         * modules/wctype: Likewise.
42818
42819 2009-09-17  Bruno Haible  <bruno@clisp.org>
42820
42821         Make getdate.y compile on QNX and NetBSD 5 / i386.
42822         * m4/getdate.m4 (gl_GETDATE): Conditionally define
42823         TIME_T_FITS_IN_LONG_INT.
42824         * lib/getdate.y (long_time_t): New type.
42825         (relative_time): Change type of 'seconds' field to long_time_t.
42826         (get_date): Update types of local variables. Check against overflow
42827         during conversion from long_time_t to time_t.
42828         Reported by Matt Kraai <kraai@ftbfs.org>
42829         and Hasso Tepper <hasso@netbsd.org>.
42830
42831 2009-09-17  Bruno Haible  <bruno@clisp.org>
42832
42833         * modules/COPYING: Update copyright years.
42834         * modules/README: Likeiwse.
42835         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
42836         Reported by Ian Beckwith <ianb@erislabs.net>.
42837
42838 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42839
42840         * users.txt: Update references for gnuit package.
42841
42842 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
42843
42844         * m4/getdelim.m4: Fix typo in copyright line.
42845
42846 2009-09-17  Bruno Haible  <bruno@clisp.org>
42847
42848         * lib/atoll.c: Use the standard header with GPL copyright.
42849         * lib/argz.in.h: Likewise.
42850         * lib/glob.c: Likewise.
42851         * lib/glob-libc.h: Likewise.
42852         * lib/random_r.c: Likewise.
42853         * lib/siglist.h: Likewise.
42854         * lib/strsignal.c: Likewise.
42855         Reported by Ian Beckwith <ianb@erislabs.net>.
42856
42857 2009-09-17  Eric Blake  <ebb9@byu.net>
42858
42859         rmdir: ensure correct dependency order
42860         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
42861
42862 2009-09-17  Bruno Haible  <bruno@clisp.org>
42863
42864         Disable assertion that fails on NetBSD 5 / i386.
42865         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
42866         Reported by Sam Steingold <sds@gnu.org>
42867         and Hasso Tepper <hasso@netbsd.org>.
42868
42869 2009-09-16  Eric Blake  <ebb9@byu.net>
42870
42871         unlinkdir: port to mingw
42872         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
42873         on which no one can unlink a directory.
42874
42875         stdlib: sort witness names
42876         * modules/stdlib (Makefile.am): Sort replacements.
42877         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
42878         * lib/stdlib.in.h: Likewise.
42879
42880         parse-duration-tests: avoid link failure
42881         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
42882         LIBINTL.
42883         Reported by Tom G. Christensen.
42884
42885         openat-tests: ensure unlinkat behaves like rmdir
42886         * tests/test-rmdir.c (main): Factor guts...
42887         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
42888         * modules/rmdir-tests (Files): Ship new file.
42889         * modules/openat-tests: New test.
42890         * tests/test-unlinkat.c: Likewise.
42891
42892         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
42893         * modules/rmdir-errno (Status, Notice): Now obsolete.
42894
42895         rmdir: work around cygwin 1.5.x and mingw bugs
42896         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
42897         * lib/rmdir.c (rmdir): Work around it.
42898         * modules/rmdir (Status, Notice): No longer obsolete.
42899         (Files): Add dos.m4.
42900         (Depends-on): Add unistd.
42901         (configure.ac): Set witnesses.
42902         (License): Relax to LGPLv2+.
42903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
42904         * modules/unistd (Makefile.am): Substitute witnesses.
42905         * lib/unistd.in.h (rmdir): Declare replacement.
42906         * doc/posix-functions/rmdir.texi (rmdir): Document this.
42907         * modules/rmdir-tests: New tests.
42908         * tests/test-rmdir.c: Likewise.
42909
42910 2009-09-15  Eric Blake  <ebb9@byu.net>
42911
42912         fchdir: improve use of replacement functions
42913         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
42914         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
42915         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
42916         REPLACE_CLOSEDIR.
42917         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
42918         * modules/sys_stat (Makefile.am): Substitute correct witness.
42919         * modules/dirent (Makefile.am): Likewise.
42920         * modules/unistd (Makefile.am): Likewise.
42921         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
42922         * lib/unistd.in.h (dup): Likewise.
42923         * lib/sys_stat.in.h (fstat): Likewise.
42924
42925         maint: ignore gnulib-tool temp files
42926         * .gitignore: Ignore files created during gnulib-tool --test.
42927
42928 2009-09-13  Jim Meyering  <meyering@redhat.com>
42929
42930         posixtm: don't reject a time that specify "60" as the number of seconds
42931         * lib/posixtm.c (posixtime): The code to reject invalid dates
42932         would also reject a time specified with the .60 suffix.
42933         But POSIX allows that, in order to accommodate leap seconds.
42934         So don't reject it.
42935         (main): Adjust tests accordingly.
42936         * modules/posixtm (Depends-on): Add stpcpy.
42937
42938 2009-09-11  Jim Meyering  <meyering@redhat.com>
42939
42940         announce-gen: include [$release_type] in emitted Subject:
42941         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
42942         e.g., [stable] in the emitted Subject: line.
42943
42944 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42945
42946         Remove obsolete macros from several modules.
42947         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
42948         obsolete Autoconf macros with their modern counterparts.
42949         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
42950         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
42951         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
42952         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
42953         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
42954         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
42955         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
42956         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
42957         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
42958         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
42959         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
42960         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
42961         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
42962         * m4/sockets.m4 (gl_SOCKETS): Likewise.
42963         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
42964         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
42965         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42966         * m4/time_r.m4 (gl_TIME_R): Likewise.
42967         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
42968         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
42969         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42970
42971         Fix copyright header in build-aux scripts.
42972         * build-aux/git-version-gen: Fix copyright header to match GPLv3
42973         recommendation.
42974         * build-aux/ncftpput-ftp: Likewise.
42975         * build-aux/update-copyright: Likewise.
42976
42977 2009-09-09  Eric Blake  <ebb9@byu.net>
42978
42979         test-link: allow Linux choice of errno
42980         * tests/test-link.c (main): Relax test for alternate error.
42981
42982         strndup: fix improper m4 caching
42983         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
42984         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
42985         (gl_PREREQ_STRNDUP): Delete.
42986         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
42987         * modules/string (Makefile.am): Substitute it.
42988         * lib/string.in.h (strndup): Modernize prototype.
42989
42990         getcwd: port to mingw
42991         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
42992         different from the POSIX assumptions made throughout the getcwd
42993         module; fortunately, the mingw getcwd does not need replacement.
42994         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
42995         * modules/getcwd-tests: New test.
42996         * tests/test-getcwd.c: Likewise.
42997
42998         link: fix platform bugs
42999         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
43000         * lib/link.c (link): Work around them.  Fix related mingw bug.
43001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
43002         * modules/unistd (Makefile.am): Substitute it.
43003         * lib/unistd.in.h (link): Declare replacement.
43004         * doc/posix-functions/link.texi (link): Document this.
43005         * modules/link (Depends-on): Add strdup-posix, sys_stat.
43006
43007         test-link: consolidate into single C program, test more cases
43008         * tests/test-link.sh: Delete.
43009         * tests/test-link.c: Test more error conditions.  Exposes bugs on
43010         at least Cygwin and Solaris.
43011         * modules/link-tests (Files): Remove unused file.
43012         (Depends-on): Add errno, sys_stat.
43013         (Makefile.am): Simplify.
43014
43015 2009-09-08  Bruno Haible  <bruno@clisp.org>
43016
43017         Work around towlower, towupper bug on mingw.
43018         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
43019         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
43020         * doc/posix-functions/towlower.texi: Mention the mingw bug.
43021         * doc/posix-functions/towupper.texi: Likewise.
43022         Reported by Eric Blake.
43023
43024 2009-09-08  Jim Meyering  <meyering@redhat.com>
43025
43026         build: don't try to run autoheader if we don't use it
43027         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
43028         is not used in configure.ac.
43029
43030 2009-09-08  Eric Blake  <ebb9@byu.net>
43031
43032         euidaccess: fix compilation error
43033         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
43034
43035         rawmemchr: relax license
43036         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
43037         okay.
43038         Reported by Jim Meyering.
43039
43040         mkfifoat: new module
43041         * modules/mkfifoat: New file.
43042         * lib/mkfifoat.c: Likewise.
43043         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
43044         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43045         * modules/sys_stat (Makefile.am): Use them.
43046         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
43047         * MODULES.html.sh (File system functions): Mention module.
43048         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43049         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43050         * modules/mkfifoat-tests: New test.
43051         * tests/test-mkfifoat.c: Likewise.
43052
43053         strchrnul: relax license
43054         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
43055         okay.
43056         Reported by Jim Meyering.
43057
43058 2009-09-08  Eric Blake  <ebb9@byu.net>
43059
43060         fstatat: fix compilation on Solaris
43061         * lib/fstatat.c (includes): Add fcntl.h.
43062         Reported by Pádraig Brady.
43063
43064 2009-09-07  Eric Blake  <ebb9@byu.net>
43065
43066         rename: modernize replacement
43067         * modules/rename (Depends-on): Add stdio.
43068         (configure.ac): Declare witness.
43069         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
43070         stdio take care of replacement.
43071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
43072         * modules/stdio (Makefile.am): Substitute them.
43073         * lib/stdio.in.h (rename): Declare replacement.
43074         * lib/rename.c (includes): Allow cross-compilation to non-windows
43075         machines.
43076         * doc/posix-functions/rename.texi (rename): Improve
43077         documentation.
43078
43079         stdio: sort witness names
43080         * modules/stdio (Makefile.am): Sort replacements.
43081         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
43082         * lib/stdio.in.h: Likewise.
43083
43084         getcwd: minor cleanups
43085         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
43086         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
43087
43088         openat: provide more convenience names
43089         * modules/faccessat (configure.ac): Add C witness.
43090         * lib/unistd.in.h (readlinkat): Fix typo.
43091         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
43092         convenience wrappers.
43093         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
43094         wrappers in syntax checks.
43095
43096 2009-09-06  Eric Blake  <ebb9@byu.net>
43097
43098         doc: fix comments in recent patches
43099         * lib/faccessat.c: Mention correct function.
43100         * lib/fchmodat.c: Likewise.
43101         * lib/fchownat.c: Likewise.
43102         * lib/symlinkat.c: Likewise.
43103         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
43104         constants.
43105
43106         faccessat, symlinkat: continue cleanup of previous patch
43107         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
43108         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43109         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
43110         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
43111         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
43112         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
43113         set.
43114
43115 2009-09-06  Bruno Haible  <bruno@clisp.org>
43116
43117         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
43118         (fstatat): Declare if GNULIB_FSTATAT is set.
43119         (mkdirat): Declare if GNULIB_MKDIRAT is set.
43120         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
43121         (unlinkat): Declare if GNULIB_UNLINKAT is set.
43122         * modules/fcntl-h (Files): Remove m4/openat.m4.
43123         * modules/sys_stat (Files): Remove m4/openat.m4.
43124         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
43125         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
43126         * modules/unistd (Files): Remove m4/openat.m4.
43127         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
43128         GNULIB_OPENAT.
43129         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
43130         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
43131         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
43132         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
43133         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
43134         gl_OPENAT_DEFAULTS.
43135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
43136         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
43137         Don't require gl_OPENAT_DEFAULTS.
43138         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
43139         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
43140         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
43141         (gl_OPENAT_DEFAULTS): Remove macro.
43142
43143 2009-09-06  Bruno Haible  <bruno@clisp.org>
43144
43145         * modules/openat (configure.ac): Remove unneeded witness.
43146
43147 2009-09-06  Bruno Haible  <bruno@clisp.org>
43148
43149         Set errno to ENOSYS when a function is entirely unsupported.
43150         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
43151         EOPNOTSUPP.
43152         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43153         * modules/chown (Depends-on): Remove errno.
43154
43155 2009-09-06  Bruno Haible  <bruno@clisp.org>
43156
43157         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
43158
43159 2009-09-06  Bruno Haible  <bruno@clisp.org>
43160
43161         * lib/sys_stat.in.h: Fix preprocessor command indentation.
43162
43163 2009-09-06  Ben Pfaff  <blp@gnu.org>
43164             Bruno Haible  <bruno@clisp.org>
43165
43166         Work around a glibc bug in strtok_r.
43167         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
43168         Undefine if UNDEFINE_STRTOK_R is set.
43169         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
43170         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43171         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
43172         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
43173         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
43174         UNDEFINE_STRTOK_R.
43175         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
43176
43177 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
43178
43179         exclude: minor fix
43180         * lib/exclude.c: Include wctype.h
43181
43182 2009-09-06  Akim Demaille  <demaille@gostai.com>
43183
43184         bootstrap: improve error message
43185         * build-aux/bootstrap (find_tool): Upon failure, report the list
43186         of candidates.
43187         Honor the initial value of the envvar.
43188
43189 2009-09-05  Eric Blake  <ebb9@byu.net>
43190
43191         symlinkat: new module
43192         * modules/symlinkat: New file.
43193         * lib/symlinkat.c: Likewise.
43194         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
43195         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43196         * modules/unistd (Makefile.am): Use them.
43197         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
43198         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
43199         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
43200         * MODULES.html.sh (File system functions): Mention module.
43201         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43202         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43203         * modules/symlinkat-tests: New test.
43204         * tests/test-symlinkat.c: Likewise.
43205
43206         test-openat-safer: add more checks
43207         * tests/test-openat-safer.c (main): Check more code paths.
43208
43209 2009-09-05  Jim Meyering  <meyering@redhat.com>
43210
43211         syntax-check: detect unnecessary inclusion of openat.h
43212         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
43213
43214 2009-09-05  Bruno Haible  <bruno@clisp.org>
43215
43216         Support towlower, towupper.
43217         * doc/posix-functions/towlower.texi: Mention module wctype.
43218         * doc/posix-functions/towupper.texi: Likewise.
43219         * lib/wctype.in.h (towlower, towupper): New functions.
43220         * tests/test-wctype.c: Include stdio.h, stdlib.h.
43221         (ASSERT): New macro.
43222         (e): New variable.
43223         (main): Test also towlower, towupper. Test WEOF argument.
43224         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
43225
43226 2009-09-05  Bruno Haible  <bruno@clisp.org>
43227
43228         Fix conversion behaviour when the input is invalid.
43229         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
43230         mark occurring in first pass of indirect conversion.
43231         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
43232         input.
43233         Found by clang's static analyzer.
43234
43235 2009-09-05  Bruno Haible  <bruno@clisp.org>
43236
43237         * tests/test-striconveh.c (main): Test indirect conversion on platforms
43238         where direct conversion is possible.
43239
43240 2009-09-04  Eric Blake  <ebb9@byu.net>
43241
43242         openat: fail with ENOENT on empty name
43243         * lib/openat-proc.c (openat_proc_name): Special-case the empty
43244         buffer.
43245
43246         link-follow: fix logic bug in prior patch
43247         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
43248         reversed sense of yes and no in prior patch.  Avoid confusing
43249         compilation failure with desired semantics.
43250
43251         link-follow: accommodate mingw and cross-compilation
43252         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
43253         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
43254         cross-compilation results to -1, to make linkat easier to
43255         implement when cross-compiling.  Trivially support mingw.
43256         * modules/link-follow (configure.ac): Call new name.
43257         * NEWS: Mention this.
43258
43259 2009-09-03  Eric Blake  <ebb9@byu.net>
43260
43261         faccessat: compile replacement
43262         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
43263         needed.
43264
43265         fts: fix compilation error
43266         * lib/fts.c (includes): Re-add "openat.h", for
43267         openat_needs_fchdir.
43268
43269         faccessat: new module
43270         * modules/faccessat: New file.
43271         * lib/faccessat.c: Likewise.
43272         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
43273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43274         * modules/unistd (Makefile.am): Use it.
43275         * lib/unistd.in.h (faccessat): Declare it.
43276         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
43277         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
43278         * MODULES.html.sh (File system functions): Mention it.
43279         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
43280         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
43281
43282         euidaccess: prefer POSIX over non-standard implementation
43283         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
43284         * lib/euidaccess.c (euidaccess): Use it if available.
43285
43286         openat: make template easier to use
43287         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
43288         AT_FUNC_F2 to be undefined.
43289         (VALIDATE_FLAG): New macro; use it to reject bad flags.
43290         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
43291         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
43292         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
43293         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
43294         Likewise.
43295         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
43296         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
43297         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
43298         Likewise.
43299
43300         openat: declare in POSIX headers
43301         * NEWS: Mention this.
43302         * modules/openat (configure.ac): Declare witnesses.
43303         (Depends-on): Add fcntl-h, sys_stat, unistd.
43304         (Include): Mention correct headers.
43305         * modules/fcntl-h (Depends-on): Add link-warning.
43306         (Files): Add openat.m4.
43307         (Makefile.am): Substitute witnesses.
43308         * modules/sys_stat (Files, Makefile.am): Likewise.
43309         * modules/unistd (Files, Makefile.am): Likewise.
43310         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
43311         (gl_OPENAT_DEFAULTS): New macro.
43312         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
43313         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
43314         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
43315         (SYS_STAT_H): Remove unused variable.
43316         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
43317         * lib/fcntl--.h (includes): Remove unneeded header.
43318         * lib/openat-safer.c (includes): Likewise.
43319         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
43320         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
43321         appropriate headers.
43322         (__OPENAT_PREFIX): Delete.
43323         * lib/fcntl.in.h (openat): Provide declaration.
43324         (AT_FDCWD): Fix Solaris bug.
43325         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
43326         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
43327         * lib/fchmodat.c (includes):  Adjust to find declaration.
43328         * lib/fchownat.c (includes): Likewise.
43329         * lib/mkdirat.c (includes): Likewise.
43330         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
43331         still visible.
43332
43333 2009-09-02  Eric Blake  <ebb9@byu.net>
43334
43335         errno: use consistently
43336         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
43337         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
43338         * lib/canonicalize.c (ELOOP): Likewise.
43339         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
43340         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
43341         * lib/lchown.c (EOPNOTSUPP): Likewise.
43342         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
43343         * lib/savewd.c (ESTALE): Likewise.
43344         * lib/settime.c (ENOSYS): Likewise.
43345         * lib/utimens.c (ENOSYS): Likewise.
43346         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
43347         * lib/chdir-safer.c (ELOOP): Likewise.
43348         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
43349         * modules/c-stack (Depends-on): Add errno.
43350         * modules/canonicalize (Depends-on): Likewise.
43351         * modules/chdir-safer (Depends-on): Likewise.
43352         * modules/fdopendir (Depends-on): Likewise.
43353         * modules/inet_ntop (Depends-on): Likewise.
43354         * modules/inet_pton (Depends-on): Likewise.
43355         * modules/lchown (Depends-on): Likewise.
43356         * modules/openat (Depends-on): Likewise.
43357         * modules/savewd (Depends-on): Likewise.
43358         * modules/settime (Depends-on): Likewise.
43359         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
43360
43361         fts: avoid leaking fds
43362         * modules/fts (Depends-on): Add cloexec.
43363         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
43364         flag.
43365
43366         fts: make directory fds more robust
43367         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
43368         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
43369
43370         backupfile, chdir-long, fts, savedir: make safer
43371         * lib/backupfile.c (includes): Use "dirent--.h", since
43372         numbered_backup can write to stderr during readdir.
43373         * lib/savedir.c (includes): Likewise.
43374         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
43375         emulation can write to stderr on failure.
43376         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
43377         * lib/getcwd.c: Document why opendir_safer is unused.
43378         * lib/glob.c: Likewise.
43379         * lib/scandir.c: Likewise.
43380         * lib/openat-proc.c: Likewise, for open_safer.
43381         * modules/backupfile (Depends-on): Add dirent-safer.
43382         * modules/savedir (Depends-on): Likewise.
43383         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
43384         * modules/chdir-long (Depends-on): Add openat-safer.
43385
43386         openat-safer: new module
43387         * modules/openat-safer: New file.
43388         * lib/openat-safer.c: Likewise.
43389         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
43390         * lib/fcntl-safer.h (openat_safer): Declare.
43391         * lib/fcntl--.h (openat): Override.
43392         * MODULES.html.sh (File descriptor based I/O): Mention it.
43393         * lib/openat.h: Add double-inclusion guards.
43394         * lib/openat.c (includes): Only include "fcntl-safer.h", not
43395         "fcntl--.h", so we can implement openat.
43396         * modules/openat-safer-tests: New test.
43397         * tests/test-openat-safer.c: New file.
43398
43399         dirent-safer: new module
43400         * modules/dirent-safer: New file.
43401         * lib/dirent--.h: Likewise.
43402         * lib/dirent-safer.h: Likewise.
43403         * lib/opendir-safer.c: Likewise.
43404         * m4/dirent-safer.m4: Likewise.
43405         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
43406         * modules/dirent-safer-tests: New test.
43407         * tests/test-dirent-safer.c: New file.
43408         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
43409
43410         fdopendir: optimize on mingw
43411         * lib/unistd.in.h (_gl_directory_name): New prototype.
43412         * lib/fchdir.c (_gl_directory_name): Implement it.
43413         (fchdir): Use it to simplify implementation.
43414         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
43415         fchdir, when available, to avoid calling [f]chdir().
43416
43417         fdopendir: split into its own module
43418         * lib/openat.c (fdopendir): Move...
43419         * lib/fdopendir.c: ...into new file.
43420         * modules/fdopendir: New module.
43421         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
43422         * modules/openat (Depends-on): Add fdopendir.
43423         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
43424         fdopendir here.
43425         * modules/savedir (Depends-on): Only need fdopendir, not full
43426         openat.
43427         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
43428         * lib/openat.h (fdopendir): Drop prototype.
43429         * lib/dirent.in.h (fdopendir): Provide prototype.
43430         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
43431         * modules/dirent (Makefile.am): Substitute them.
43432         * MODULES.html.sh (File system functions): Mention it.
43433         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
43434         * modules/fdopendir-tests: New file.
43435         * tests/test-fdopendir.c: Likewise.
43436
43437         fchdir: use more consistent macro convention
43438         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
43439         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
43440         REPLACE_FCHDIR, rather than relying on config.h macros.
43441         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
43442         inside a single make-time REPLACE_FCHDIR block, rather than using
43443         the config.h FCHDIR_REPLACEMENT.
43444         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
43445         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
43446         Manage fstat replacement.
43447         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
43448         REPLACE_FCHDIR.
43449         * modules/sys_stat (Files): Add m4/unistd_h.m4.
43450         (Makefile.am): Substitute REPLACE_FCHDIR.
43451         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
43452         FCHDIR_REPLACEMENT.
43453         * lib/dup-safer.c (dup_safer): Likewise.
43454         * lib/dup2.c (rpl_dup2): Likewise.
43455         * lib/dup3.c (rpl_dup3): Likewise.
43456         * lib/open.c (rpl_open): Likewise.
43457
43458         fchdir: simplify error handling, and support dup3
43459         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
43460         stdbool, malloc-posix, realloc-posix.
43461         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
43462         (ensure_dirs_slot): Return false on allocation failure.
43463         (rpl_dup2): Delete.
43464         (_gl_register_dup): New function.
43465         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
43466         (_gl_register_fd): Close fd on allocation failure.
43467         * lib/fcntl.in.h (_gl_register_fd): Update signature.
43468         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
43469         prototype.
43470         (rpl_dup2_fchdir): Delete prototype.
43471         * lib/open.c (open): Update caller.
43472         * lib/dup2.c (dup2): Track fchdir metadata.
43473         * lib/dup3.c (dup3): Likewise.
43474         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
43475         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
43476
43477 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43478
43479         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
43480         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
43481         don't pass arguments to AC_OUTPUT.
43482
43483 2009-09-02  Bruno Haible  <bruno@clisp.org>
43484
43485         * modules/mkdtemp (License): Relicense under LGPLv2+.
43486         Reported by Paolo Bonzini.
43487
43488 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43489
43490         Replace uses of obsolete autoconf macros in Jim's modules.
43491         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
43492         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
43493         can evoke a warning from autoconf when run with -Wobsolete
43494         enabled.  They were declared obsolete for good reasons (see
43495         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
43496         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
43497         should not continue using the deprecated macros.
43498         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
43499         obsolete Autoconf macros with modern counterparts.
43500         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
43501         * m4/dos.m4 (gl_AC_DOS): Likewise.
43502         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
43503         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
43504         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
43505         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
43506         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
43507         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
43508         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
43509         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
43510         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
43511         Likewise.
43512         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
43513         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
43514         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
43515         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
43516         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
43517         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
43518
43519 2009-09-01  Eric Blake  <ebb9@byu.net>
43520
43521         fchdir: fix off-by-one bug in previous patch
43522         * lib/fchdir.c (rpl_fstat): Use correct bounds.
43523         (_gl_unregister_fd): Delete useless if.
43524
43525 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
43526
43527         maint.mk: sort the list of syntax-check rules
43528         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
43529         easier to get a sense of progress when the rules are run sequentially
43530         and take a long time.
43531
43532 2009-09-01  Simon Josefsson  <simon@josefsson.org>
43533
43534         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
43535         * modules/netinet_in: Likewise.
43536         * modules/sys_file: Likewise.
43537         * modules/sys_ioctl: Likewise.
43538         * modules/sys_select: Likewise.
43539         * modules/sys_socket: Likewise.
43540         * modules/sys_stat: Likewise.
43541         * modules/sys_time: Likewise.
43542         * modules/sys_times: Likewise.
43543         * modules/sys_utsname: Likewise.
43544         * modules/sys_wait: Likewise.
43545
43546 2009-09-01  Jim Meyering  <meyering@redhat.com>
43547
43548         fts: help ensure that return values are not ignored
43549         * lib/fts_.h (__GNUC_PREREQ): Define.
43550         (__attribute_warn_unused_result__): Define.
43551         (fts_children, fts_close, fts_open, fts_read): Declare with
43552         __attribute_warn_unused_result__.
43553
43554         fts: fts_close now fails also when closing a dir file descriptor fails
43555         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
43556         and propagate to caller, along with errno.
43557
43558         announce-gen: correct formatting in --help output
43559         * build-aux/announce-gen (usage): Move the one-line description in
43560         --help output "up", to where it belongs, just after Usage:.
43561
43562 2009-08-31  Eric Blake  <ebb9@byu.net>
43563
43564         fchdir: port to mingw
43565         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
43566         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
43567         opened, then use a substitute.
43568         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
43569         replacement.
43570         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
43571         (_gl_register_fd): No need to check stat if open already filters
43572         all directories.
43573         (fchdir): Fix error condition to match POSIX.
43574         * modules/fchdir (Depends-on): Add sys_stat.
43575         * doc/posix-functions/open.texi (open): Document the limitation.
43576         * modules/fchdir-tests: New file.
43577         * tests/test-fchdir.c: Likewise.
43578
43579         canonicalize: allow cross-testing from cygwin to mingw
43580         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
43581         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
43582         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
43583         Likewise.
43584         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
43585         target does not support symlinks.
43586         * tests/test-canonicalize-lgpl.sh: Likewise.
43587
43588         chown: avoid compilation warning on mingw
43589         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
43590         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
43591         mingw.
43592         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
43593         * modules/chown (Depends-on): Add errno.
43594
43595 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
43596
43597         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
43598         command.
43599
43600 2009-08-31  Jim Meyering  <meyering@redhat.com>
43601
43602         canonicalize: remove useless initialization
43603         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
43604         initialization of local, "end".
43605
43606 2009-08-30  Bruno Haible  <bruno@clisp.org>
43607
43608         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
43609         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
43610         ENOSYS.
43611
43612 2009-08-30  Bruno Haible  <bruno@clisp.org>
43613
43614         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
43615         /usr/xpg4/bin/tr when it exists.
43616         * tests/test-pipe-filter-gi1.sh: Likewise.
43617
43618 2009-08-30  Bruno Haible  <bruno@clisp.org>
43619
43620         Work around deficient /usr/bin/id program on Solaris.
43621         * tests/test-file-has-acl.sh (ID): New variable.
43622         * tests/test-set-mode-acl.sh (ID): Likewise.
43623         * tests/test-copy-acl.sh (ID): Likewise.
43624         * tests/test-copy-file.sh (ID): Likewise.
43625
43626 2009-08-30  Bruno Haible  <bruno@clisp.org>
43627
43628         New module 'xstriconveh'.
43629         * lib/xstriconveh.h: New file.
43630         * lib/xstriconveh.c: New file.
43631         * modules/xstriconveh: New file.
43632
43633 2009-08-30  Bruno Haible  <bruno@clisp.org>
43634
43635         Make it easier to use mem_cd_iconveh.
43636         * lib/striconveh.h (iconveh_t): New type.
43637         (iconveh_open, iconveh_close): New declarations.
43638         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43639         with a single 'const iconveh_t *' argument.
43640         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
43641         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
43642         with a single 'const iconveh_t *' argument.
43643         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
43644         * tests/test-striconveh.c (main): Update.
43645         * NEWS: Mention the change.
43646
43647 2009-08-30  Bruno Haible  <bruno@clisp.org>
43648
43649         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
43650         problem.
43651
43652 2009-08-30  Bruno Haible  <bruno@clisp.org>
43653
43654         Work around iconv_open problem on Solaris.
43655         * lib/iconv_open-solaris.gperf: New file.
43656         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
43657         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
43658         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
43659         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
43660         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
43661         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
43662
43663 2009-08-29  Jim Meyering  <meyering@redhat.com>
43664
43665         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
43666         * top/maint.mk (cvs-check): Remove target; it was just an alias
43667         to the better-named vc-diff-check.
43668         (maintainer-distcheck): Remove rule.  It was used only from
43669         the (alpha/beta/major) target, and all of its commands but one
43670         were coreutils-specific.
43671         (vc-dist): Remove rule.
43672         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
43673         Run vc-diff-check, not vc-dist.
43674         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
43675
43676 2009-08-27  Bruno Haible  <bruno@clisp.org>
43677
43678         * tests/test-bitrotate.c (main): Remove test that uses a shift count
43679         of 0.
43680
43681 2009-08-27  Bruno Haible  <bruno@clisp.org>
43682
43683         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
43684         compilers.
43685         * doc/func.texi: Document the SunPRO C bug.
43686
43687 2009-08-27  Bruno Haible  <bruno@clisp.org>
43688
43689         Fix link error on Solaris.
43690         * tests/test-parse-duration.c (xstrdup): Remove function.
43691
43692 2009-08-26  Pádraig Brady  <P@draigbrady.com>
43693
43694         ignore-value: handle pointer types, too
43695         * lib/ignore-value.h (__attribute__): Remove definition.
43696         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
43697         of a more concise and more-often effective "(void) i" statement.
43698         (ignore_ptr): New function to suppress warnings from functions that
43699         return pointers, and to make it explicit that one function doesn't
43700         handle all cases.
43701
43702 2009-08-25  Bruno Haible  <bruno@clisp.org>
43703
43704         dup2: work around a Linux bug.
43705         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
43706         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
43707         * doc/posix-functions/dup2.texi: Mention the Linux bug.
43708         Reported by Simon Josefsson.
43709
43710 2009-08-25  Jim Meyering  <meyering@redhat.com>
43711
43712         libguestfs uses gnulib
43713         * users.txt: Add libguestfs.
43714
43715 2009-08-24  Eric Blake  <ebb9@byu.net>
43716
43717         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
43718         * lib/pipe2.c (includes): Add binary-io.h.
43719         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
43720
43721 2009-08-24  Bruno Haible  <bruno@clisp.org>
43722
43723         Tolerate declared but missing accept4 syscall.
43724         * lib/accept4.c (accept4): Invoke original accept4 function first, if
43725         available.
43726         * lib/sys_socket.in.h (accept4): If the function is already present,
43727         override it.
43728         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
43729         * modules/accept4 (Makefile.am): Compile accept4.c always.
43730         Reported by Paolo Bonzini and Eric Blake.
43731
43732 2009-08-23  Bruno Haible  <bruno@clisp.org>
43733
43734         New module 'accept4'.
43735         * lib/sys_socket.in.h (accept4): New declaration.
43736         * lib/accept4.c: New file.
43737         * m4/accept4.m4: New file.
43738         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
43739         GNULIB_ACCEPT4, HAVE_ACCEPT4.
43740         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
43741         HAVE_ACCEPT4.
43742         * modules/accept4: New file.
43743         * doc/glibc-functions/accept4.texi: Mention the new module.
43744
43745 2009-08-24  Jim Meyering  <meyering@redhat.com>
43746
43747         progname: also set global program_invocation_name, when possible
43748         Before this change, a libtool-enabled program that calls glibc's
43749         error function would report the program name as
43750         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
43751         * modules/progname (configure.ac): Check for a declaration of
43752         program_invocation_name.
43753         * lib/progname.c:  Include <errno.h>.
43754         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
43755         Set program_invocation_name.
43756
43757 2009-08-23  Bruno Haible  <bruno@clisp.org>
43758
43759         * lib/dup3.c: Include <string.h>.
43760
43761 2009-08-23  Bruno Haible  <bruno@clisp.org>
43762
43763         * lib/dup3.c (dup3): Test only once whether the system actually exists.
43764         * lib/pipe2.c (pipe2): Likewise.
43765         Suggested by Eric Blake.
43766
43767 2009-08-23  Bruno Haible  <bruno@clisp.org>
43768
43769         Tolerate declared but missing dup3 syscall.
43770         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
43771         * lib/unistd.in.h (dup3): If the function is already present,
43772         override it.
43773         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
43774         * modules/dup3 (Makefile.am): Compile dup3.c always.
43775         Reported by Paolo Bonzini.
43776
43777 2009-08-23  Bruno Haible  <bruno@clisp.org>
43778
43779         Tolerate declared but missing pipe2 syscall.
43780         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
43781         available.
43782         * lib/unistd.in.h (pipe2): If the function is already present,
43783         override it.
43784         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
43785         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
43786         Reported by Paolo Bonzini.
43787
43788 2009-08-23  Bruno Haible  <bruno@clisp.org>
43789
43790         * lib/pipe2.c (pipe2): Move #ifs inside function.
43791
43792 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43793
43794         quotearg: document limitations of quote_these_too
43795         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
43796         those limitations are created.
43797         * lib/quotearg.h (set_char_quoting): Document that digits and
43798         letters that are special after backslash are not permitted.
43799         (quotearg_char): Cross-reference set_char_quoting documentation.
43800
43801 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
43802
43803         quotearg: implement custom_quoting_style
43804         * lib/quotearg.c: (struct quoting_options): Add left_quote and
43805         right_quote fields.
43806         (set_custom_quoting): New public function.
43807         (quotearg_buffer_restyled): Add left_quote and right_quote
43808         arguments, handle them very much like locale quoting, and update
43809         all uses.
43810         (quotearg_n_custom): New public function.
43811         (quotearg_n_custom_mem): New public function.
43812         (quotearg_custom): New public function.
43813         (quotearg_custom_mem): New public function.
43814         * lib/quotearg.h: Prototype and document new public functions.
43815         (enum quoting_style): For escape_quoting_style and
43816         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
43817         ignored even though they're otherwise like c_quoting_style.
43818         Add custom_quoting_style member and document with comparison to
43819         clocale_quoting_style.
43820         * tests/test-quotearg.c (custom_quotes): New array.
43821         (custom_results): New array.
43822         (main): Extend to test custom quoting.
43823
43824 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43825
43826         quotearg: fix right quote escaping when it's in quote_these_too
43827         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
43828         quote, be sure to prepend only one backslash.
43829         * tests/test-quotearg.c (use_quote_double_quotes): New function.
43830         (main): Test it.
43831
43832 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
43833
43834         quotearg-tests: test escaping of embedded locale quotes
43835         * tests/test-quotearg.c (struct result_strings): Add member for
43836         new input.
43837         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
43838         (inputs): Add new input.
43839         (results_g): Add expected results.
43840         (flag_results): Likewise.
43841         (locale_results): Likewise.
43842         (compare_strings): Check those.
43843
43844 2009-08-23  Bruno Haible  <bruno@clisp.org>
43845
43846         Tests for module 'dup3'.
43847         * modules/dup3-tests: New file.
43848         * tests/test-dup3.c: New file.
43849
43850         New module 'dup3'.
43851         * lib/unistd.in.h (dup3): New declaration.
43852         * lib/dup3.c: New file.
43853         * m4/dup3.m4: New file.
43854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
43855         HAVE_DUP3.
43856         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
43857         * modules/dup3: New file.
43858         * doc/glibc-functions/dup3.texi: Mention the new module.
43859
43860 2009-08-23  Bruno Haible  <bruno@clisp.org>
43861
43862         Tweak the dup2 test.
43863         * tests/test-dup2.c (main): Create the test file empty. Verify that an
43864         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
43865         the test file is still empty. Fix argument order of lseek.
43866
43867 2009-08-23  Bruno Haible  <bruno@clisp.org>
43868
43869         Avoid test link errors when the modules getopt-gnu, gettext are used.
43870         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
43871         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
43872
43873 2009-08-23  Bruno Haible  <bruno@clisp.org>
43874
43875         Fix getdtablesize() on mingw.
43876         * lib/getdtablesize.c (getdtablesize): Implement differently.
43877         * lib/unistd.in.h (getdtablesize): Improve comment.
43878
43879 2009-08-23  Bruno Haible  <bruno@clisp.org>
43880
43881         New module 'mkostemp'.
43882         Based on Ulrich Drepper's 2007-08-10 change in glibc.
43883         * lib/stdlib.in.h (mksotemp): New declaration.
43884         * lib/mkostemp.c: New file, from glibc with modifications.
43885         * lib/tempname.h (GT_FILE): Remove outdated comment.
43886         (gen_tempname): Add flags argument.
43887         * lib/tempname.c (__GT_BIGFILE): Remove macro.
43888         (__GT_FILE): Map to 1.
43889         (small_open, large_open): Remove macros.
43890         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
43891         * lib/mkstemp.c (mkstemp): Update.
43892         * lib/mkdtemp.c (mkdtemp): Likewise.
43893         * m4/mkostemp.m4: New file.
43894         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
43895         HAVE_MKOSTEMP.
43896         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
43897         HAVE_MKOSTEMP.
43898         * modules/mkostemp: New file, based on modules/mkstemp.
43899         * doc/glibc-functions/mkostemp.texi: Mention the new module.
43900         * NEWS: Mention the change.
43901
43902 2009-08-23  Bruno Haible  <bruno@clisp.org>
43903
43904         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
43905         Reported by Eric Blake.
43906
43907 2009-08-23  Bruno Haible  <bruno@clisp.org>
43908
43909         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
43910         Reported by Eric Blake.
43911
43912 2009-08-23  Bruno Haible  <bruno@clisp.org>
43913
43914         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
43915         * modules/pipe2 (Depends-on): Likewise.
43916
43917 2009-08-23  Eric Blake  <ebb9@byu.net>
43918
43919         fcntl-h: add O_TTY_INIT support
43920         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
43921         * tests/test-fcntl-h.c (o): Test it.
43922         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43923
43924         fcntl-h: rename from fcntl, in preparation for fcntl(2)
43925         * modules/fcntl: Move <fcntl.h> header replacement...
43926         * modules/fcntl-h: ...to new name, so as not to collide with
43927         like-named function.
43928         * tests/test-fcntl.c: Rename...
43929         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
43930         * modules/fcntl-tests: Rename...
43931         * modules/fcntl-h-tests: ...to this.  Update test file name.
43932         * modules/chdir-long (Depends-on): Update clients.
43933         * modules/chdir-safer (Depends-on): Likewise.
43934         * modules/fcntl-safer (Depends-on): Likewise.
43935         * modules/fts (Depends-on): Likewise.
43936         * modules/mkancesdirs (Depends-on): Likewise.
43937         * modules/mkdir-p (Depends-on): Likewise.
43938         * modules/open (Depends-on): Likewise.
43939         * modules/savewd (Depends-on): Likewise.
43940         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
43941         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
43942
43943 2009-08-22  Bruno Haible  <bruno@clisp.org>
43944
43945         * modules/binary-io (License): Relicense under LGPL.
43946         * modules/pipe2 (License): Likewise.
43947
43948 2009-08-22  Bruno Haible  <bruno@clisp.org>
43949
43950         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
43951         return value.
43952         * lib/pipe-filter-gi.c (filter_init): Likewise.
43953         Reported by Eric Blake.
43954
43955 2009-08-22  Bruno Haible  <bruno@clisp.org>
43956
43957         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
43958         * modules/pipe (Depends-on): Add pipe2.
43959
43960 2009-08-22  Bruno Haible  <bruno@clisp.org>
43961
43962         Tests for module 'pipe2'.
43963         * modules/pipe2-tests: New file.
43964         * tests/test-pipe2.c: New file.
43965
43966         New module 'pipe2'.
43967         * lib/unistd.in.h (pipe2): New declaration.
43968         * lib/pipe2.c: New file.
43969         * m4/pipe2.m4: New file.
43970         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
43971         HAVE_PIPE2.
43972         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
43973         * modules/pipe2: New file.
43974         * doc/glibc-functions/pipe2.texi: Mention the new module.
43975
43976 2009-08-22  Bruno Haible  <bruno@clisp.org>
43977
43978         Reference some new glibc functions.
43979         * doc/glibc-functions/accept4.texi: New file.
43980         * doc/glibc-functions/dup3.texi: New file.
43981         * doc/glibc-functions/mkostemp.texi: New file.
43982         * doc/glibc-functions/pipe2.texi: New file.
43983         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
43984         (Glibc sys/socket.h): Refer to accept4.
43985         (Glibc unistd.h): Refer to dup3, pipe2.
43986         Reported by Eric Blake.
43987
43988 2009-08-22  Jim Meyering  <meyering@redhat.com>
43989             Bruno Haible  <bruno@clisp.org>
43990
43991         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
43992         This makes it so packages using automake-1.11's silent-rules option
43993         can print e.g., a single "GEN    configmake.h" line, rather than
43994         the 30+ statements that perform the job.  If you want to see the
43995         actual commands, you can still run "make V=1".
43996         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
43997         so that make output is abbreviated when those variables are defined
43998         appropriately.
43999         * modules/argz: Likewise.
44000         * modules/arpa_inet: Likewise.
44001         * modules/byteswap: Likewise.
44002         * modules/configmake: Likewise.
44003         * modules/dirent: Likewise.
44004         * modules/errno: Likewise.
44005         * modules/fcntl: Likewise.
44006         * modules/float: Likewise.
44007         * modules/fnmatch: Likewise.
44008         * modules/getopt-posix: Likewise.
44009         * modules/glob: Likewise.
44010         * modules/iconv_open: Likewise.
44011         * modules/inttypes: Likewise.
44012         * modules/localcharset: Likewise.
44013         * modules/locale: Likewise.
44014         * modules/math: Likewise.
44015         * modules/netdb: Likewise.
44016         * modules/netinet_in: Likewise.
44017         * modules/poll: Likewise.
44018         * modules/posix_spawnp-tests: Likewise.
44019         * modules/sched: Likewise.
44020         * modules/search: Likewise.
44021         * modules/selinux-h: Likewise.
44022         * modules/signal: Likewise.
44023         * modules/spawn: Likewise.
44024         * modules/stdarg: Likewise.
44025         * modules/stdbool: Likewise.
44026         * modules/stddef: Likewise.
44027         * modules/stdint: Likewise.
44028         * modules/stdio: Likewise.
44029         * modules/stdlib: Likewise.
44030         * modules/string: Likewise.
44031         * modules/strings: Likewise.
44032         * modules/sys_file: Likewise.
44033         * modules/sys_ioctl: Likewise.
44034         * modules/sys_select: Likewise.
44035         * modules/sys_socket: Likewise.
44036         * modules/sys_stat: Likewise.
44037         * modules/sys_time: Likewise.
44038         * modules/sys_times: Likewise.
44039         * modules/sys_utsname: Likewise.
44040         * modules/sys_wait: Likewise.
44041         * modules/sysexits: Likewise.
44042         * modules/time: Likewise.
44043         * modules/unistd: Likewise.
44044         * modules/wchar: Likewise.
44045         * modules/wctype: Likewise.
44046
44047 2009-08-22  Jim Meyering  <meyering@redhat.com>
44048
44049         announce-gen: detect write failure
44050         * build-aux/announce-gen: Add Coda at end.
44051         Remove equivalent-but-more-verbose block at top.
44052
44053 2009-08-19  Akim Demaille  <demaille@gostai.com>
44054
44055         bootstrap: --help to stdout.
44056         * bootstrap (usage): Don't send --help to stderr.
44057         Use a here doc instead of a long string.
44058
44059 2009-08-21  Eric Blake  <ebb9@byu.net>
44060
44061         test-popen-safer: split from test-popen
44062         * tests/test-popen.c (main): Move...
44063         * tests/test-popen.h: ...into new file.
44064         * tests/test-popen-safer2.c: New file.
44065         * modules/popen-tests (Files): Add test-popen.h.
44066         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
44067         Suggested by Bruno Haible.
44068
44069         test-fcntl-safer: split from test-open
44070         * tests/test-open.c (main): Move...
44071         * tests/test-open.h: ...into new file.
44072         * tests/test-fcntl-safer.c: New file.
44073         * modules/open-tests (Files): Add test-open.h.
44074         * modules/fcntl-safer-tests: New file.
44075         Suggested by Bruno Haible.
44076
44077         test-fopen-safer: split from test-fopen
44078         * tests/test-fopen.c (main): Move...
44079         * tests/test-fopen.h: ...into new file.
44080         * tests/test-fopen-safer.c: New file.
44081         * modules/fopen-tests (Files): Add test-fopen.h.
44082         * modules/fopen-safer-tests: New file.
44083         Suggested by Bruno Haible.
44084
44085 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44086
44087         popen-safer: test O_CLOEXEC at run-time.
44088         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
44089
44090 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
44091
44092         fcntl: move more flags to the header
44093         * lib/cloexec.c: Do not define FD_CLOEXEC here.
44094         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
44095         * lib/fcntl.in.h: Do both things here.
44096
44097 2009-08-21  Jim Meyering  <meyering@redhat.com>
44098
44099         consistently remove $@-t before redirecting to it
44100         * modules/argz: Remove $@-t and $@ before redirecting to the former.
44101         * modules/alloca-opt: Likewise.
44102         * modules/byteswap: Likewise.
44103         * modules/fnmatch: Likewise.
44104         * modules/getopt-posix: Likewise.
44105         * modules/glob: Likewise.
44106         * modules/poll: Likewise.
44107         * modules/posix_spawnp-tests: Likewise.
44108         * modules/sys_socket: Likewise.
44109         * modules/sysexits: Likewise.
44110
44111 2009-08-21  Eric Blake  <ebb9@byu.net>
44112
44113         popen: simplify access to original popen
44114         * lib/popen.c (rpl_popen): No need to worry about popen being a
44115         macro.
44116         Reported by Bruno Haible.
44117
44118 2009-08-20  Eric Blake  <ebb9@byu.net>
44119
44120         build: avoid some compiler warnings
44121         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
44122         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
44123         type.
44124         (new_exclude_segment, excluded_file_pattern_p)
44125         (excluded_file_name_p): Reduce scope.
44126         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
44127         old-style declaration.
44128
44129 2009-08-20  Simon Josefsson  <simon@josefsson.org>
44130
44131         * tests/test-exclude1.sh: Handle Windows EOL.
44132         * tests/test-exclude2.sh: Likewise.
44133         * tests/test-exclude3.sh: Likewise.
44134         * tests/test-exclude4.sh: Likewise.
44135         * tests/test-exclude5.sh: Likewise.
44136         * tests/test-exclude6.sh: Likewise.
44137         * tests/test-exclude7.sh: Likewise.
44138
44139 2009-08-19  Akim Demaille  <demaille@gostai.com>
44140
44141         bootstrap: find sha1sum when named gsha1sum.
44142         * bootstrap (find_tool): New.
44143         ($SHA1SUM): New.
44144         Use it.
44145
44146 2009-08-20  Jim Meyering  <meyering@redhat.com>
44147
44148         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
44149         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
44150         expression that converts "." in a file name to "\." in the resulting
44151         regexp.  Start with a dummy statement, so that prior shell variable
44152         definitions are expanded portably.  Reported by Simon Josefsson.
44153
44154 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
44155
44156         Fix polling for writeability of a screen buffer.
44157         * lib/poll.c: Distinguish input and screen buffers for the
44158         Win32 implementation.
44159         * lib/select.c: Likewise.
44160
44161 2009-08-19  Eric Blake  <ebb9@byu.net>
44162
44163         popen-safer: prevent popen from clobbering std descriptors
44164         * modules/popen-safer: New file.
44165         * lib/popen-safer.c: Likewise.
44166         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
44167         * lib/stdio--.h (popen): Provide override.
44168         * lib/stdio-safer.h (popen_safer): Provide declaration.
44169         * tests/test-popen.c (includes): Partially test this.
44170         * modules/popen-safer-tests: New file, for more tests.
44171         * tests/test-popen-safer.c: Likewise.
44172         * MODULES.html.sh (file stream based Input/Output): Mention it.
44173
44174         tests: test some of the *-safer modules
44175         * modules/fopen-safer (Depends-on): Add fopen.
44176         * modules/fcntl-safer (Depends-on): Add fcntl.
44177         * modules/stdlib-safer (Depends-on): Add stdlib.
44178         (configure.ac): Set indicator.
44179         * modules/unistd-safer (configure.ac): Likewise.
44180         * modules/tmpfile-safer (configure.ac): Likewise.
44181         (Depends-on): Add tmpfile.
44182         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
44183         active.
44184         * tests/test-fopen.c (includes): Test safer versions when they are
44185         in use.
44186         * tests/test-open.c (includes): Likewise.
44187
44188         popen: fix cygwin 1.5 bug when stdin closed
44189         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
44190         * modules/popen: New file.
44191         * modules/popen-tests: Likewise.
44192         * tests/test-popen.c: Likewise.
44193         * m4/popen.m4: Likewise.
44194         * lib/popen.c: Likewise.
44195         * lib/stdio.in.h (popen): New declaration.
44196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
44197         * modules/stdio (Makefile.am): Likewise.
44198         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
44199
44200 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
44201
44202         maint.mk: give full control over update-copyright exclusions
44203         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
44204         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
44205         (update-copyright): Don't force inclusion of top-level
44206         ChangeLog.  Don't force exclusion of all COPYING files, but make
44207         them the default exclusion instead.
44208
44209 2009-08-16  Bruno Haible  <bruno@clisp.org>
44210
44211         Fix test failures on Solaris 10.
44212         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
44213         tests when Solaris iconv() is used.
44214         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44215         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44216         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44217         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44218         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44219
44220 2009-08-16  Bruno Haible  <bruno@clisp.org>
44221
44222         Fix test failures on Solaris 10.
44223         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
44224         'tr' program and pass it as first argument.
44225         * tests/test-pipe-filter-gi1.sh: Likewise.
44226         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
44227         program as first argument.
44228         * tests/test-pipe-filter-gi1.c (main): Likewise.
44229
44230 2009-08-16  Eric Blake  <ebb9@byu.net>
44231
44232         fpurge: fix previous commits
44233         * modules/fpurge (Makefile.am): Make replacement conditional,
44234         partially reverting 2007-04-29 change; missed in previous
44235         attempt.
44236         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
44237         is missing.
44238
44239 2009-08-16  Bruno Haible  <bruno@clisp.org>
44240
44241         Clarify fpurge's effect on the file position.
44242         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
44243         * tests/test-fpurge.c (main): Make a second pass for checking the file
44244         position.
44245
44246 2009-08-16  Bruno Haible  <bruno@clisp.org>
44247
44248         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
44249         declaration of fpurge is missing.
44250         * tests/test-fpurge.c (main): Check that the file has not more contents
44251         than expected. Close the file before removing it.
44252
44253 2009-08-15  Eric Blake  <ebb9@byu.net>
44254
44255         fpurge: don't wrap working cygwin implementation
44256         * lib/fpurge.c (fpurge): Fix comment typo.
44257         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
44258         1.7 to avoid replacement.
44259         * tests/test-fpurge.c (main): Enhance test.
44260
44261 2009-08-15  Eric Blake  <ebb9@byu.net>
44262         and Jim Meyering  <meyering@redhat.com>
44263
44264         test-update-copyright: skip if perl is insufficient
44265         * tests/test-update-copyright.sh: Failure to run maintainer tool
44266         should not cause testsuite failure on cygwin 1.5.
44267
44268 2009-08-14  Eric Blake  <ebb9@byu.net>
44269
44270         doc: mention more functions added in cygwin 1.7.0
44271         * doc/posix-headers/limits.texi (limits.h): Update for recent
44272         cygwin additions.
44273         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
44274         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
44275         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
44276         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
44277         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
44278
44279 2009-08-14  Eric Blake  <ebb9@byu.net>
44280
44281         maint.mk: simplify update-copyright rule
44282         * top/maint.mk (update-copyright-local): Delete, and document how
44283         to do it in cfg.mk instead.
44284         (update-copyright-exclude-regexp): Delete, and document how to do
44285         it in .x-update-copyright instead.
44286         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
44287         exclude ChangeLog.
44288
44289 2009-08-14  Bruno Haible  <bruno@clisp.org>
44290
44291         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
44292
44293 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44294
44295         maint.mk: support update-copyright-env
44296         * top/maint.mk (update-copyright-env): Define place-holder.
44297         (update-copyright): Expand $(update-copyright-env) before
44298         invoking update-copyright.
44299
44300 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44301
44302         update-copyright: implement forced reformatting
44303         * build-aux/update-copyright: Implement and document
44304         UPDATE_COPYRIGHT_FORCE.
44305         * tests/test-update-copyright.sh: Test it.
44306
44307 2009-08-14  Eric Blake  <ebb9@byu.net>
44308         and Bruno Haible  <bruno@clisp.org>
44309
44310         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
44311         * tests/test-locale.c: Revert previous patch related to NULL.
44312         * tests/test-stdio.c: Likewise.
44313         * tests/test-stdlib.c: Likewise.
44314         * tests/test-string.c: Likewise.
44315         * tests/test-unistd.c: Likewise.
44316         * modules/time-tests (Depends-on): Add verify.
44317         * modules/wchar-tests (Depends-on): Likewise.
44318         * tests/test-time.c: Test for NULL compliance.
44319         * tests/test-wchar.c: Likewise.
44320         * modules/locale (Depends-on): Add stddef.
44321         * modules/stdio (Depends-on): Likewise.
44322         * modules/stdlib (Depends-on): Likewise.
44323         * modules/string (Depends-on): Likewise.
44324         * modules/time (Depends-on): Likewise.
44325         * modules/unistd (Depends-on): Likewise.
44326         * modules/wchar (Depends-on): Likewise.
44327         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
44328         * lib/stdlib.in.h (includes): Likewise.
44329         * lib/string.in.h (includes): Likewise.
44330         * lib/time.in.h (includes): Likewise.
44331         * lib/unistd.in.h (includes): Likewise.
44332         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
44333         replaced.
44334         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
44335         * m4/stddef_h.m4: New file.
44336         * modules/stddef: Likewise.
44337         * lib/stddef.in.h: Likewise.
44338         * modules/stddef-tests: Likewise.
44339         * tests/test-stddef.c: Likewise.
44340         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
44341         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
44342         * doc/posix-headers/locale.texi (locale.h): Likewise.
44343         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
44344         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
44345         * doc/posix-headers/string.texi (string.h): Likewise.
44346         * doc/posix-headers/time.texi (time.h): Likewise.
44347         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
44348         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
44349
44350 2009-08-14  Eric Blake  <ebb9@byu.net>
44351
44352         doc: improve git diff of texinfo files
44353         * .gitattributes: Add rule for *.texi files, with hint on how to
44354         use it.
44355         Copied from m4, and based on a report by Bruno Haible.
44356
44357 2009-08-14  Bruno Haible  <bruno@clisp.org>
44358
44359         Disable multithread support by default on Cygwin 1.5.x for real.
44360         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
44361
44362 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
44363
44364         update-copyright: much ado about intervals
44365         * build-aux/update-copyright: Implement and document
44366         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
44367         of copyright year intervals.
44368         Also, document UPDATE_COPYRIGHT_YEAR.
44369         * tests/test-update-copyright.sh: Test it.
44370
44371         update-copyright: convert 2-digit to 4-digit years
44372         * build-aux/update-copyright: Implement and document.
44373         * tests/test-update-copyright.sh: Update.
44374
44375 2009-08-14  Jim Meyering  <meyering@redhat.com>
44376
44377         test-exclude: avoid coreutils "make check" failure
44378         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
44379         just as in test-argmatch.c.
44380
44381 2009-08-13  Eric Blake  <ebb9@byu.net>
44382
44383         test-dup2: fix bad assumption
44384         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
44385         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
44386
44387         test-version-etc: fix CRLF portability issue
44388         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
44389         recognize \r.
44390         * tests/test-argp-version-etc-1.sh: Likewise.
44391
44392         getopt: update client modules
44393         * modules/argp (Depends-on): Use getopt-gnu.
44394         * modules/git-merge-changelog (Depends-on): Likewise.
44395         * modules/long-options (Depends-on): Likewise.
44396         * modules/xstrtol (Depends-on): Likewise.
44397
44398 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44399
44400         * tests/test-version-etc.sh: Don't fail on different
44401         project/version.  Don't fail on CRLF differences.  Rewrite to use
44402         multiple -e instead of multiple sed forks, suggested by Eric Blake
44403         <ebb9@byu.net>.
44404         * tests/test-argp-version-etc-1.sh: Likewise.
44405
44406 2009-08-13  Simon Josefsson  <simon@josefsson.org>
44407
44408         * tests/test-version-etc.sh: Don't fail on different
44409         project/version.
44410
44411 2009-08-12  Bruno Haible  <bruno@clisp.org>
44412
44413         Tests for modules 'getopt-posix', 'getopt-gnu'.
44414         * modules/getopt-posix-tests: New file.
44415         * tests/test-getopt.c: New file.
44416         * tests/test-getopt.h: New file.
44417         * tests/test-getopt_long.h: New file.
44418
44419         New modules 'getopt-posix', 'getopt-gnu'.
44420         * modules/getopt-gnu: New file, renamed from modules/getopt.
44421         * modules/getopt-posix: New file.
44422         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
44423         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
44424         (gl_GETOPT): Remove macro.
44425         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
44426         Disable the test against BSD systems that declare optreset. Test
44427         against mingw bug. Test against lack of support of optional arguments
44428         on many platforms.
44429         * doc/glibc-headers/getopt.texi: Update module name and list of
44430         relevant platforms.
44431         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
44432         'getopt-gnu' and more portability problems.
44433         * NEWS: Mention the changes.
44434
44435 2009-08-12  Bruno Haible  <bruno@clisp.org>
44436
44437         Ensure that optarg etc. get declared by <unistd.h>.
44438         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
44439         AC_USE_SYSTEM_EXTENSIONS.
44440         * modules/getopt (Depends-on): Add 'extensions'.
44441
44442 2009-08-12  Bruno Haible  <bruno@clisp.org>
44443
44444         Avoid test link errors.
44445         * modules/pipe-filter-ii-tests (Makefile.am): Define
44446         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
44447         * modules/pipe-filter-gi-tests (Makefile.am): Define
44448         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
44449         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44450
44451 2009-08-12  Bruno Haible  <bruno@clisp.org>
44452
44453         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
44454         gl_GETOPT_SUBSTITUTE before.
44455         (gl_GETOPT): Use it.
44456         * m4/argp.m4 (gl_ARGP): Update.
44457         Reported by Sergey Poznyakoff.
44458
44459         * m4/getopt.m4: Reorder macros.
44460         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
44461         (gl_GETOPT_SUBSTITUTE): Remove macro.
44462
44463 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44464
44465         Minor improvement in gitlog-to-changelog
44466
44467         * build-aux/gitlog-to-changelog: New option `--format' makes
44468         output format string configurable.
44469
44470 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
44471
44472         Optimize exclude: use hash tables for non-wildcard patterns.
44473
44474         * lib/exclude.c: Include hash.h and mbuiter.h
44475         (struct exclude_pattern, exclude_segment): New data types.
44476         (struct exclude): Rewrite.
44477         (fnmatch_pattern_has_wildcards): New function.
44478         (new_exclude_segment, free_exclude_segment): New functions.
44479         (excluded_file_pattern_p, excluded_file_name_p): New functions.
44480         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
44481         * lib/exclude.h (is_fnmatch_pattern): New prototype.
44482         * modules/exclude: Depend on hash and mbuiter.
44483
44484         * modules/exclude-tests: New file.
44485         * tests/test-exclude.c: New file.
44486         * tests/test-exclude1.sh: New file.
44487         * tests/test-exclude2.sh: New file.
44488         * tests/test-exclude3.sh: New file.
44489         * tests/test-exclude4.sh: New file.
44490         * tests/test-exclude5.sh: New file.
44491         * tests/test-exclude6.sh: New file.
44492         * tests/test-exclude7.sh: New file.
44493
44494 2009-08-12  Bruno Haible  <bruno@clisp.org>
44495
44496         Ensure that getopt() gets declared by <unistd.h>.
44497         * lib/unistd.in.h: Conditionally include getopt.h.
44498         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
44499         Set GNULIB_UNISTD_H_GETOPT.
44500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44501         GNULIB_UNISTD_H_GETOPT.
44502         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
44503
44504 2009-08-12  Bruno Haible  <bruno@clisp.org>
44505
44506         Clarify logic.
44507         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
44508         gl_replace_getopt instead of GETOPT_H.
44509
44510 2009-08-12  Bruno Haible  <bruno@clisp.org>
44511
44512         * m4/getopt.m4: Add comments.
44513
44514 2009-08-12  Bruno Haible  <bruno@clisp.org>
44515
44516         Disable multithread support by default on Cygwin 1.5.x.
44517         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
44518         set gl_use_threads=no if not specified otherwise.
44519
44520 2009-08-11  Bruno Haible  <bruno@clisp.org>
44521
44522         Avoid compilation error on NetBSD 5.0.
44523         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
44524         * tests/test-stdio.c: Likewise.
44525         * tests/test-stdlib.c: Likewise.
44526         * tests/test-string.c: Likewise.
44527         * tests/test-unistd.c: Likewise.
44528         Reported by Greg Troxel <gdt@ir.bbn.com>
44529         at <https://savannah.gnu.org/support/?106973>.
44530
44531 2009-08-11  Bruno Haible  <bruno@clisp.org>
44532
44533         * modules/dup2-tests (Depends-on): Remove close.
44534
44535         Undo 2009-07-19 commit.
44536         * modules/acl-tests (Depends-on): Remove close.
44537         * modules/binary-io-tests (Depends-on): Likewise.
44538         * modules/closein-tests (Depends-on): Likewise.
44539         * modules/flock-tests (Depends-on): Likewise.
44540         * modules/fsync-tests (Depends-on): Likewise.
44541         * modules/lseek-tests (Depends-on): Likewise.
44542         * modules/pipe-tests (Depends-on): Likewise.
44543         * modules/posix_spawn-tests (Depends-on): Likewise.
44544         * modules/posix_spawnp-tests (Depends-on): Likewise.
44545         * modules/stat-time-tests (Depends-on): Likewise.
44546         * modules/yesno-tests (Depends-on): Likewise.
44547
44548 2009-08-10  Bruno Haible  <bruno@clisp.org>
44549
44550         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
44551
44552 2009-08-10  Bruno Haible  <bruno@clisp.org>
44553
44554         Fix a gcc warning.
44555         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
44556
44557 2009-08-10  Bruno Haible  <bruno@clisp.org>
44558
44559         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
44560         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
44561         not only the first time.
44562         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
44563         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
44564         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
44565         is 1, not only the the first time.
44566
44567 2009-08-10  Bruno Haible  <bruno@clisp.org>
44568
44569         Make it possible to use module 'gethostname' without module 'close'.
44570         * lib/unistd.in.h (close): Evoke a link error only if
44571         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44572         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
44573         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44574         * modules/unistd (Makefile.am): Substitute
44575         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44576         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
44577         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
44578         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
44579         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44580         * modules/sys_ioctl (Makefile.am): Substitute
44581         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44582         * modules/socket (configure.ac): On native Windows, set
44583         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
44584         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
44585         Reported by Sam Steingold <sds@gnu.org>.
44586
44587 2009-08-10  Bruno Haible  <bruno@clisp.org>
44588
44589         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
44590         * modules/ioctl (configure.ac): Likewise.
44591
44592 2009-08-10  Bruno Haible  <bruno@clisp.org>
44593
44594         Avoid collision between gnulib wrapper and libintl wrapper.
44595         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
44596         already defined in intl/printf.c.
44597         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
44598         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
44599
44600 2009-08-09  Bruno Haible  <bruno@clisp.org>
44601
44602         Make <sys/select.h> really self-contained, also on Solaris 10.
44603         * lib/sys_select.in.h: Include <string.h>.
44604         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
44605         Solaris 10 problem.
44606         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
44607         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
44608         Reported by Jim Meyering.
44609
44610 2009-08-09  Bruno Haible  <bruno@clisp.org>
44611
44612         Avoid warnings from 'aclocal' that are due to a use of macro name
44613         AM_XGETTEXT_OPTION that is not defined in automake.
44614         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
44615         automake.
44616         * modules/error (configure.ac): Likewise.
44617         * modules/propername (configure.ac): Likewise.
44618         * modules/vasprintf (configure.ac): Likewise.
44619         * modules/verror (configure.ac): Likewise.
44620         * modules/xprintf (configure.ac): Likewise.
44621         * modules/xvasprintf (configure.ac): Likewise.
44622
44623 2009-08-08  Bruno Haible  <bruno@clisp.org>
44624
44625         Avoid compilation error in C++ mode.
44626         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
44627         Reported by Sam Steingold <sds@gnu.org>.
44628
44629 2009-08-08  Bruno Haible  <bruno@clisp.org>
44630
44631         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
44632         for the various Unix platforms.
44633         * doc/posix-headers/limits.texi: Update platforms list regarding
44634         HOST_NAME_MAX.
44635         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44636
44637 2009-08-07  Jim Meyering  <meyering@redhat.com>
44638
44639         selinux-at: fix typo in a comment
44640         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
44641         Spotted by Paolo Bonzini.
44642
44643         selinux-at: remove redundant m4 code, add documentation
44644         * modules/selinux-at (configure.ac): Remove redundant code.
44645         LIB_SELINUX is already set via the dependent module, selinux-h.
44646         (Include): Add quotes around selinux-at.h.
44647         * lib/selinux-at.h: Add documentation.
44648         Reported by Bruno Haible in
44649         http://marc.info/?l=gnulib-bug&m=124958988300749
44650
44651 2009-08-07  Bruno Haible  <bruno@clisp.org>
44652
44653         Avoid link error on MacOS X 10.3 and 10.4.
44654         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
44655         on non-ELF systems.
44656         * lib/argp-pv.c (argp_program_version): Likewise.
44657         Reported by Simon Josefsson.
44658
44659 2009-08-07  Simon Josefsson  <simon@josefsson.org>
44660
44661         * tests/test-version-etc.sh: Use $EXEEXT.
44662
44663 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
44664
44665         update-copyright: update documentation to point to maint.mk
44666         * build-aux/update-copyright: Here.
44667
44668 2009-08-06  Jim Meyering  <meyering@redhat.com>
44669
44670         maint.mk: support update-copyright-local
44671         * top/maint.mk (update-copyright-local): Define place-holder.
44672         (update-copyright): Depend on $(update-copyright-local).
44673
44674 2009-08-06  Jim Meyering  <meyering@redhat.com>
44675
44676         selinux-at: new module
44677         Initially written for coreutils, this module will soon be
44678         used by findutils, too.
44679         * MODULES.html.sh [Misc]: Add selinux-at.
44680         * lib/selinux-at.h: New file, from coreutils.
44681         * lib/selinux-at.c: Likewise.
44682         * modules/selinux-at: Likewise.
44683         (License): Change from LGPL to GPL, since it depends
44684         on the GPL'd openat module.
44685
44686         doc: update README
44687         * README: Remove references to cogito.
44688         Remove cvs-repo-updating instructions from 2007.
44689         Don't imply that CVS is better if you have limited disk space.
44690
44691 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44692
44693         update-copyright: support C-style comments
44694         * build-aux/update-copyright: Implement and document.
44695         * tests/test-update-copyright.sh: Test.
44696
44697 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44698
44699         update-copyright: support omitted "(C)"
44700         * build-aux/update-copyright: Implement and document.  Also,
44701         allow variable whitespace before "(C)".
44702         * tests/test-update-copyright.sh: Test.
44703
44704 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44705
44706         update-copyright: don't trip on non-FSF copyright statements
44707         * build-aux/update-copyright: Fix so that the first correctly
44708         formatted FSF copyright statement is recognized no matter what
44709         appears before it.  Update documentation.
44710         * tests/test-update-copyright.sh: Test that.
44711
44712 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44713
44714         update-copyright: clean up code a little
44715         * build-aux/update-copyright: Append "_re" to the name of any
44716         variable holding a regular expression.
44717         Replace "old" and "new" with "stmt" in variable names.
44718         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
44719         handled correctly.
44720         Format code more consistently.
44721
44722 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
44723
44724         update-copyright-tests: improve portability
44725         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
44726         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
44727
44728 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44729
44730         update-copyright: support @copyright{} and &copy;
44731         * build-aux/update-copyright: Implement and document.
44732         * tests/test-update-copyright.sh: Test.
44733
44734 2009-08-04  Jim Meyering  <meyering@redhat.com>
44735
44736         update-copyright-tests: correctly test EOL=\r\n handling
44737         * tests/test-update-copyright.sh: Put \r at the end of some lines
44738         for the dos-eol tests.  Based on a patch by Joel E. Denny.
44739
44740         maint.mk: make update-copyright exclusion list more configurable
44741         * top/maint.mk (update-copyright): Default to excluding COPYING,
44742         but allow an override, in case someone does want to update that file.
44743
44744         maint.mk: don't update copyright date in COPYING
44745         * top/maint.mk (update-copyright): Exclude COPYING.
44746
44747         maint.mk: add a copyright-updating rule
44748         * top/maint.mk (update-copyright): New rule.
44749         Derived from coreutils/Makefile.am.
44750
44751         update-copyright: rename some variables
44752         * build-aux/update-copyright: Rename a few variables for clarity.
44753         Tweak syntax.  List Joel E. Denny as coauthor.
44754
44755 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
44756
44757         update-copyright: fix bug for 2-digit last year and add tests
44758         * build-aux/update-copyright: Fix bug.
44759         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
44760         specified.
44761         * modules/update-copyright-tests: New
44762         * tests/test-update-copyright.sh: New.
44763
44764 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44765
44766         update-copyright: handle leading tabs in line prefix
44767         * build-aux/update-copyright: Count leading tabs as 8 spaces
44768         when computing margin.  This helps with the formatting of
44769         ChangeLogs, for example.
44770         Fix documentation a little.
44771
44772 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44773
44774         update-copyright: support EOL=\r\n
44775         * build-aux/update-copyright: Implement that.
44776
44777 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
44778
44779         update-copyright: automatically format copyright statements
44780         * build-aux/update-copyright: Implement that.
44781         Also, be a little more predictable and safer by always failing
44782         when the full copyright format is not perfectly recognized as an
44783         unbroken whole.  Discussed at
44784         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
44785         Rewrite documentation.
44786
44787 2009-08-03  Bruno Haible  <bruno@clisp.org>
44788
44789         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
44790
44791 2009-08-02  Bruno Haible  <bruno@clisp.org>
44792
44793         Tests for module 'uname'.
44794         * modules/uname-tests: New file.
44795         * tests/test-uname.c: New file.
44796
44797         New module 'uname'.
44798         * lib/uname.c: New file.
44799         * m4/uname.m4: New file.
44800         * modules/uname: New file.
44801         * doc/posix-functions/uname.texi: Mention the new module.
44802
44803 2009-08-02  Bruno Haible  <bruno@clisp.org>
44804
44805         Tests for module 'sys_utsname'.
44806         * modules/sys_utsname-tests: New file.
44807         * tests/test-sys_utsname.c: New file.
44808
44809         New module 'sys_utsname'.
44810         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
44811         * m4/sys_utsname_h.m4: New file.
44812         * modules/sys_utsname: New file.
44813         * doc/posix-headers/sys_utsname.texi: Mention the new module.
44814
44815 2009-08-02  Bruno Haible  <bruno@clisp.org>
44816
44817         Implicitly initialize the sockets library.
44818         * lib/gethostname.c: Include sockets.h.
44819         (rpl_gethostname): Invoke gl_sockets_startup.
44820         * lib/socket.c: Include sockets.h.
44821         (rpl_socket): Invoke gl_sockets_startup.
44822         * modules/gethostname (Depends-on): Add sockets.
44823         * modules/socket (Depends-on): Likewise.
44824         * tests/test-poll.c: Don't include sockets.h.
44825         (main): Don't invoke gl_sockets_startup.
44826         * tests/test-select.c: Don't include sockets.h.
44827         (main): Don't invoke gl_sockets_startup.
44828
44829 2009-08-02  Bruno Haible  <bruno@clisp.org>
44830
44831         Allow multiple calls to gl_sockets_startup.
44832         * lib/sockets.c (initialized_sockets_version): New variable.
44833         (gl_sockets_startup): Do nothing if already called for this or a higher
44834         version.
44835         (gl_sockets_cleanup): Reset initialized_sockets_version.
44836
44837 2009-08-03  Simon Josefsson  <simon@josefsson.org>
44838
44839         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
44840         different project/version.
44841
44842 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
44843             Bruno Haible  <bruno@clisp.org>
44844
44845         Tests for module 'pipe-filter-gi'.
44846         * modules/pipe-filter-gi-tests: New file.
44847         * tests/test-pipe-filter-gi1.sh: New file.
44848         * tests/test-pipe-filter-gi1.c: New file.
44849         * tests/test-pipe-filter-gi2.sh: New file.
44850         * tests/test-pipe-filter-gi2-main.c: New file.
44851         * tests/test-pipe-filter-gi2-child.c: New file.
44852
44853         New module 'pipe-filter-gi'.
44854         * lib/pipe-filter-gi.c: New file.
44855         * modules/pipe-filter-gi: New file.
44856
44857 2009-08-02  Bruno Haible  <bruno@clisp.org>
44858             Paolo Bonzini  <bonzini@gnu.org>
44859
44860         Tests for module 'pipe-filter-ii'.
44861         * modules/pipe-filter-ii-tests: New file.
44862         * tests/test-pipe-filter-ii1.sh: New file.
44863         * tests/test-pipe-filter-ii1.c: New file.
44864         * tests/test-pipe-filter-ii2.sh: New file.
44865         * tests/test-pipe-filter-ii2-main.c: New file.
44866         * tests/test-pipe-filter-ii2-child.c: New file.
44867
44868         New module 'pipe-filter-ii'.
44869         * lib/pipe-filter.h: New file.
44870         * lib/pipe-filter-ii.c: New file.
44871         * lib/pipe-filter-aux.h: New file.
44872         * modules/pipe-filter-ii: New file.
44873
44874 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44875
44876         * lib/gc-libgcrypt.c: Change copyright to FSF.
44877         * lib/gc-gnulib.c: Likewise.
44878
44879 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
44880
44881         * lib/gethostname.c: Include limits.h.
44882
44883 2009-08-02  Simon Josefsson  <simon@josefsson.org>
44884             Bruno Haible  <bruno@clisp.org>
44885
44886         Ensure HOST_NAME_MAX as part of the gethostname module.
44887         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
44888         define also HOST_NAME_MAX.
44889         * tests/test-gethostname.c: Include <limits.h>.
44890         (main): Check also HOST_NAME_MAX.
44891         * doc/posix-headers/limits.texi: Document the mingw problem.
44892
44893 2009-08-02  Bruno Haible  <bruno@clisp.org>
44894
44895         * lib/gethostname.c (gethostname): Fix handling of large len argument.
44896         Add comments.
44897
44898 2009-03-31  Simon Josefsson  <simon@josefsson.org>
44899
44900         * lib/gethostname.c: Add Windows wrapper.
44901         * m4/gethostname.m4: Look for gethostname in -lws2_32.
44902         * modules/gethostname: Depend on sys_socket & errno, for also
44903         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
44904         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
44905
44906 2009-07-31  Jim Meyering  <meyering@redhat.com>
44907
44908         getloadavg: fix symbol name in comment
44909         * lib/getloadavg.c: Correct a typo I introduced when adding
44910         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
44911         Matt Kraai spotted the problem.
44912
44913 2009-07-29  Matt Kraai  <mkraai@beckman.com>
44914
44915         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
44916         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
44917         code also if ! defined N_NAME_POINTER.
44918         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
44919         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
44920         but the n_name member is a 12-byte array.
44921
44922 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
44923
44924         update-copyright: generalize comment handling
44925         * build-aux/update-copyright: Handle copyright statements
44926         within more comment styles.
44927         Document usage.
44928         Report any file with an external copyright holder or parse failure.
44929
44930 2009-07-29  Jim Meyering  <meyering@redhat.com>
44931
44932         mktime: correct setting of REPLACE_MKTIME
44933         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
44934
44935         update-copyright: new module
44936         * modules/update-copyright: New file.
44937         * build-aux/update-copyright: New file.
44938         * MODULES.html.sh (maint+release support): Add update-copyright.
44939
44940 2009-07-27  Bruno Haible  <bruno@clisp.org>
44941
44942         Fix compilation error when <ctime> is used and mktime is replaced.
44943         * lib/time.in.h (mktime): New declaration.
44944         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
44945         REPLACE_MKTIME instead of defining mktime in config.h.
44946         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
44947         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
44948         Reported by Ross McFarland <rwmcfa1@neces.com>.
44949
44950 2009-07-27  Bruno Haible  <bruno@clisp.org>
44951
44952         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
44953         Reported by Matt Kraai <mkraai@beckman.com>.
44954
44955 2009-07-25  Jim Meyering  <meyering@redhat.com>
44956
44957         maint.mk: avoid warnings about missing files
44958         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
44959         diagnostic when .prev-version does not exist.
44960         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
44961         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
44962         nonexistent cfg.mk.
44963         Suggestions from Simon Josefsson.
44964
44965 2009-07-25  Bruno Haible  <bruno@clisp.org>
44966
44967         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
44968         defined as macros. Needed on QNX 6.4.1.
44969         Reported by Matt Kraai <mkraai@beckman.com>.
44970
44971 2009-07-23  Jim Meyering  <meyering@redhat.com>
44972
44973         maint.mk: invoke "make dist" with a working value of XZ_OPT
44974         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
44975
44976 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
44977
44978         Make fseeko.c compile on QNX.
44979         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
44980
44981 2009-07-22  Peter Simons  <simons@cryp.to>
44982
44983         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
44984         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
44985         * lib/md4.h: Likewise.
44986         * lib/md5.h: Likewise.
44987         * lib/sha1.h: Likewise.
44988         * lib/sha256.h: Likewise.
44989         * lib/sha512.h: Likewise.
44990
44991         tests-sha1: don't assign literal string to 'char *' variable
44992         * tests/test-sha1.c (main): Declare locals with "const" to match
44993         attributes of the right hand side.
44994
44995 2009-07-21  Eric Blake  <ebb9@byu.net>
44996
44997         dup2: fix more mingw problems
44998         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
44999         fd to itself.
45000         * doc/posix-functions/dup2.texi (dup2): Document the bug.
45001         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
45002         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
45003         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
45004         care of mingw bugs.
45005
45006 2009-07-21  Jim Meyering  <meyering@redhat.com>
45007
45008         vc-list-files: avoid failure when /bin/sh is dash
45009         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
45010         On some Debian based systems, /bin/sh is a symlink to dash, and running
45011         this command would omit the "/" following each 'tests' prefix:
45012           dash -x build-aux/vc-list-files -C . tests
45013         That is because bash and dash work differently:
45014           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
45015           bash ok
45016           dash odd
45017
45018 2009-07-21  Eric Blake  <ebb9@byu.net>
45019
45020         dup2-tests: test previous patch
45021         * modules/dup2-tests: New file.
45022         * tests/test-dup2.c: Likewise.
45023         * tests/test-open.c (main): Avoid unspecified behavior.
45024         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
45025         test.
45026
45027         dup2: work around mingw and cygwin 1.5 bug
45028         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
45029         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45030         * modules/unistd (Makefile.am): Substitute it.
45031         * lib/unistd.in.h (dup2): Declare the replacement.
45032         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
45033         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
45034         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
45035         * modules/execute (Depends-on): Add dup2.
45036         * modules/fseterr (Depends-on): Likewise.
45037         * modules/pipe (Depends-on): Likewise.
45038         * modules/posix_spawn-internal (Depends-on): Likewise.
45039
45040 2009-07-21  Bruno Haible  <bruno@clisp.org>
45041
45042         * modules/.gitattributes: New file.
45043
45044 2009-07-20  Bruno Haible  <bruno@clisp.org>
45045
45046         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
45047         (main): Use it.
45048
45049 2009-07-20  Eric Blake  <ebb9@byu.net>
45050
45051         test-pipe: make a bit more robust.
45052         * tests/test-pipe.c (myerr): Allow error messages regardless of
45053         what we do to stderr.
45054         (test_pipe): Rearrange to avoid deadlock.
45055         (child_main): Try a larger read, to ensure we avoided deadlock.
45056         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
45057         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
45058         if misused.
45059
45060 2009-07-19  Jim Meyering  <meyering@redhat.com>
45061
45062         fts: avoid false-positive cycle-detection
45063         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
45064         for each new command line argument.
45065
45066 2009-07-19  Bruno Haible  <bruno@clisp.org>
45067
45068         Fix build error on mingw with the modules sys_select and unistd.
45069         * modules/acl-tests (Depends-on): Add close.
45070         * modules/binary-io-tests (Depends-on): Likewise.
45071         * modules/closein-tests (Depends-on): Likewise.
45072         * modules/flock-tests (Depends-on): Likewise.
45073         * modules/fsync-tests (Depends-on): Likewise.
45074         * modules/lseek-tests (Depends-on): Likewise.
45075         * modules/pipe-tests (Depends-on): Likewise.
45076         * modules/posix_spawn-tests (Depends-on): Likewise.
45077         * modules/posix_spawnp-tests (Depends-on): Likewise.
45078         * modules/stat-time-tests (Depends-on): Likewise.
45079         * modules/yesno-tests (Depends-on): Likewise.
45080
45081 2009-07-19  Bruno Haible  <bruno@clisp.org>
45082
45083         Unify conditionals.
45084         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
45085         macros, not at the compiler macros.
45086         * lib/pipe.c: Likewise.
45087         * lib/execute.c: Likewise.
45088         * lib/spawni.c: Likewise.
45089
45090 2009-07-19  Bruno Haible  <bruno@clisp.org>
45091
45092         Fix handling of closed stdin/stdout/stderr on mingw.
45093         * lib/w32spawn.h: Include unistd.h.
45094         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
45095         file descriptor with O_NOINHERIT flag.
45096         (fd_safer_noinherit): New function, based on fd-safer.c.
45097         (dup_safer_noinherit): New function, based on dup-safer.c.
45098         (undup_safer_noinherit): New function.
45099         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
45100         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
45101         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
45102         instead of fd_safer.
45103         * tests/test-pipe.c: Include <windows.h>.
45104         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
45105         result.
45106
45107         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
45108         from main.
45109         (test_pipe): Pass an extra argument for disambiguation.
45110         (main): Invoke parent_main or child_main.
45111
45112         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
45113         consistently.
45114
45115 2009-07-18  Eric Blake  <ebb9@byu.net>
45116
45117         test-pipe: fix mingw build
45118         * tests/test-pipe.c (main): Avoid fcntl on mingw.
45119
45120 2009-07-18  Bruno Haible  <bruno@clisp.org>
45121
45122         * modules/pipe-tests (Makefile.am): Fix typo.
45123
45124 2009-07-18  Eric Blake  <ebb9@byu.net>
45125
45126         error: fix mingw build
45127         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
45128         Reported by Bruno Haible.
45129
45130         error: avoid undefined use of stdout
45131         * lib/error.c (error, error_at_line): Check that fd 1 is open
45132         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
45133         is handling faults and the close_stdout module wants to report the
45134         detection of closed stdout as an error.
45135
45136 2009-07-17  Eric Blake  <ebb9@byu.net>
45137
45138         pipe: be robust in face of closed fds
45139         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
45140         should cause child to misbehave.
45141         * modules/pipe-tests: New module.
45142         * tests/test-pipe.c: New file.
45143         * tests/test-pipe.sh: New file.
45144         Reported by Akim Demaille.
45145
45146 2009-07-14  Bruno Haible  <bruno@clisp.org>
45147
45148         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
45149         Reported by anonymous kc.
45150
45151 2009-07-07  Jim Meyering  <meyering@redhat.com>
45152
45153         maint.mk: don't look for translatable strings in *.m4 or *.mk
45154         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
45155         when searching for translatable strings.
45156
45157 2009-07-05  Jim Meyering  <meyering@redhat.com>
45158
45159         remove superfluous parentheses in STREQ definition
45160         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
45161         * lib/getugroups.c (STREQ): Likewise.
45162         * lib/fnmatch.c (STREQ): Likewise.
45163         Spotted by Bruno Haible.
45164
45165 2009-07-04  Jim Meyering  <meyering@redhat.com>
45166
45167         argv-iter: new module
45168         * MODULES.html.sh: Add argv-iter.
45169         * lib/argv-iter.c, lib/argv-iter.h: New files.
45170         * modules/argv-iter: New file.
45171         * modules/argv-iter-tests: New file.
45172         * tests/test-argv-iter.c: Test it.
45173
45174 2009-07-04  Bruno Haible  <bruno@clisp.org>
45175
45176         Fix assertion.
45177         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
45178         contains more exact copies of a given entry than file2, leave the extra
45179         copies unpaired rather than aborting.
45180         Reported by Eric Blake.
45181
45182 2009-07-02  Bruno Haible  <bruno@clisp.org>
45183
45184         Speedup git-merge-changelog for git cherry-pick.
45185         * lib/git-merge-changelog.c (struct entries_mapping): New type.
45186         (entries_mapping_get): New function, extracted from compute_mapping.
45187         (entries_mapping_reverse_get): New function.
45188         (compute_mapping): Add a 'full' argument. Return the result in a
45189         'struct entries_mapping'.
45190         (main): Update. Access the mappings through entries_mapping_get.
45191         Reported by Eric Blake.
45192
45193 2009-07-02  Bruno Haible  <bruno@clisp.org>
45194
45195         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
45196         best_i.
45197
45198 2009-07-02  Bruno Haible  <bruno@clisp.org>
45199
45200         Speed up approximate search for matching ChangeLog entries.
45201         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
45202         argument. Call fstrcmp_bounded instead of fstrcmp.
45203         (compute_mapping, try_split_merged_entry, main): Update callers.
45204
45205 2009-07-02  Bruno Haible  <bruno@clisp.org>
45206
45207         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
45208
45209 2009-06-30  Bruno Haible  <bruno@clisp.org>
45210
45211         Reduce the number of uc_is_cased calls.
45212         * lib/unicase.h (casing_suffix_context_t): Add
45213         'first_char_except_ignorable' field.
45214         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
45215         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
45216         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
45217         Update initializer.
45218         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
45219         case-ignorable characters.
45220         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
45221         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
45222         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
45223         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
45224         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
45225
45226 2009-06-30  Bruno Haible  <bruno@clisp.org>
45227
45228         Tests for module 'unicase/ignorable'.
45229         * modules/unicase/ignorable-tests: New file.
45230         * tests/unicase/test-ignorable.c: New file, generated by
45231         gen-uni-tables.
45232
45233         Tests for module 'unicase/cased'.
45234         * modules/unicase/cased-tests: New file.
45235         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
45236         * tests/unicase/test-predicate-part1.h: New file, derived from
45237         tests/unictype/test-predicate-part1.h.
45238         * tests/unicase/test-predicate-part2.h: New file, same as
45239         tests/unictype/test-predicate-part2.h.
45240
45241         Fix evaluation of "Before C" condition of FINAL_SIGMA.
45242         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
45243         (output_casing_properties): New function.
45244         (main): Call it.
45245         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
45246         * lib/unicase/cased.c: Include unictype/bitmap.h.
45247         (uc_is_cased): Define through a bitmap lookup.
45248         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
45249         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
45250         (uc_is_case_ignorable): Define through a bitmap lookup.
45251         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
45252         lib/unictype/bitmap.h.
45253         (Depends-on): Add inline. Clean up.
45254         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
45255         lib/unictype/bitmap.h.
45256         (Depends-on): Add inline. Clean up.
45257         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
45258         recognition.
45259         * tests/unicase/test-u16-tolower.c (main): Likewise.
45260         * tests/unicase/test-u32-tolower.c (main): Likewise.
45261
45262 2009-06-30  Bruno Haible  <bruno@clisp.org>
45263
45264         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
45265         * lib/unicase/u16-casemap.c: Likewise.
45266         * lib/unicase/u32-casemap.c: Likewise.
45267
45268 2009-06-29  Bruno Haible  <bruno@clisp.org>
45269
45270         Define u32_casefold as a wrapper around u32_ct_casefold.
45271         * lib/unicase/u32-casefold.c: Update.
45272         * modules/unicase/u32-casefold (Depends-on): Add
45273         unicase/u32-ct-casefold, unicase/empty-prefix-context,
45274         unicase/empty-suffix-context. Clean up.
45275
45276         Define u16_casefold as a wrapper around u16_ct_casefold.
45277         * lib/unicase/u16-casefold.c: Update.
45278         * modules/unicase/u16-casefold (Depends-on): Add
45279         unicase/u16-ct-casefold, unicase/empty-prefix-context,
45280         unicase/empty-suffix-context. Clean up.
45281
45282         Define u8_casefold as a wrapper around u8_ct_casefold.
45283         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
45284         * lib/unicase/u8-casefold.c: Update.
45285         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
45286         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45287
45288         Define u32_totitle as a wrapper around u32_ct_totitle.
45289         * lib/unicase/u32-totitle.c: Update.
45290         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
45291         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45292
45293         Define u16_totitle as a wrapper around u16_ct_totitle.
45294         * lib/unicase/u16-totitle.c: Update.
45295         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
45296         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45297
45298         Define u8_totitle as a wrapper around u8_ct_totitle.
45299         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
45300         functions.
45301         (FUNC): Delegate to U_CT_TOTITLE.
45302         * lib/unicase/u8-totitle.c: Update.
45303         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
45304         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
45305
45306         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
45307         invocation.
45308         * modules/unicase/u32-tolower (Depends-on): Add
45309         unicase/empty-prefix-context, unicase/empty-suffix-context.
45310
45311         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
45312         invocation.
45313         * modules/unicase/u16-tolower (Depends-on): Add
45314         unicase/empty-prefix-context, unicase/empty-suffix-context.
45315
45316         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
45317         * modules/unicase/u8-tolower (Depends-on): Add
45318         unicase/empty-prefix-context, unicase/empty-suffix-context.
45319
45320         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
45321         invocation.
45322         * modules/unicase/u32-toupper (Depends-on): Add
45323         unicase/empty-prefix-context, unicase/empty-suffix-context.
45324
45325         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
45326         invocation.
45327         * modules/unicase/u16-toupper (Depends-on): Add
45328         unicase/empty-prefix-context, unicase/empty-suffix-context.
45329
45330         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
45331         * modules/unicase/u8-toupper (Depends-on): Add
45332         unicase/empty-prefix-context, unicase/empty-suffix-context.
45333
45334         New module 'unicase/u32-ct-casefold'.
45335         * lib/unicase/u32-ct-casefold.c: New file.
45336         * modules/unicase/u32-ct-casefold: New file.
45337
45338         New module 'unicase/u16-ct-casefold'.
45339         * lib/unicase/u16-ct-casefold.c: New file.
45340         * modules/unicase/u16-ct-casefold: New file.
45341
45342         New module 'unicase/u8-ct-casefold'.
45343         * lib/unicase/u8-ct-casefold.c: New file.
45344         * lib/unicase/u-ct-casefold.h: New file, derived from
45345         lib/unicase/u-casefold.h.
45346         * modules/unicase/u8-ct-casefold: New file.
45347
45348         New module 'unicase/u32-ct-totitle'.
45349         * lib/unicase/u32-ct-totitle.c: New file.
45350         * modules/unicase/u32-ct-totitle: New file.
45351
45352         New module 'unicase/u16-ct-totitle'.
45353         * lib/unicase/u16-ct-totitle.c: New file.
45354         * modules/unicase/u16-ct-totitle: New file.
45355
45356         New module 'unicase/u8-ct-totitle'.
45357         * lib/unicase/u8-ct-totitle.c: New file.
45358         * lib/unicase/u-ct-totitle.h: New file, derived from
45359         lib/unicase/u-totitle.h.
45360         * modules/unicase/u8-ct-totitle: New file.
45361
45362         New module 'unicase/u32-ct-tolower'.
45363         * lib/unicase/u32-ct-tolower.c: New file.
45364         * modules/unicase/u32-ct-tolower: New file.
45365
45366         New module 'unicase/u16-ct-tolower'.
45367         * lib/unicase/u16-ct-tolower.c: New file.
45368         * modules/unicase/u16-ct-tolower: New file.
45369
45370         New module 'unicase/u8-ct-tolower'.
45371         * lib/unicase/u8-ct-tolower.c: New file.
45372         * modules/unicase/u8-ct-tolower: New file.
45373
45374         New module 'unicase/u32-ct-toupper'.
45375         * lib/unicase/u32-ct-toupper.c: New file.
45376         * modules/unicase/u32-ct-toupper: New file.
45377
45378         New module 'unicase/u16-ct-toupper'.
45379         * lib/unicase/u16-ct-toupper.c: New file.
45380         * modules/unicase/u16-ct-toupper: New file.
45381
45382         New module 'unicase/u8-ct-toupper'.
45383         * lib/unicase/u8-ct-toupper.c: New file.
45384         * modules/unicase/u8-ct-toupper: New file.
45385
45386         Add context arguments to u*_casemap functions.
45387         * lib/unicase/unicasemap.h: Include unicase.h.
45388         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
45389         suffix_context arguments.
45390         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
45391         functions.
45392         (FUNC): Add prefix_context and suffix_context arguments. Use
45393         uc_is_cased and uc_is_case_ignorable.
45394         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
45395         * lib/unicase/u16-casemap.c: Likewise.
45396         * lib/unicase/u32-casemap.c: Likewise.
45397         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
45398         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45399         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
45400         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45401         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
45402         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
45403
45404         New module 'unicase/u32-suffix-context'.
45405         * lib/unicase/u32-suffix-context.c: New file.
45406         * modules/unicase/u32-suffix-context: New file.
45407
45408         New module 'unicase/u16-suffix-context'.
45409         * lib/unicase/u16-suffix-context.c: New file.
45410         * modules/unicase/u16-suffix-context: New file.
45411
45412         New module 'unicase/u8-suffix-context'.
45413         * lib/unicase/u8-suffix-context.c: New file.
45414         * lib/unicase/u-suffix-context.h: New file.
45415         * modules/unicase/u8-suffix-context: New file.
45416
45417         New module 'unicase/empty-suffix-context'.
45418         * lib/unicase/empty-suffix-context.c: New file.
45419         * modules/unicase/empty-suffix-context: New file.
45420
45421         New module 'unicase/u32-prefix-context'.
45422         * lib/unicase/u32-prefix-context.c: New file.
45423         * modules/unicase/u32-prefix-context: New file.
45424
45425         New module 'unicase/u16-prefix-context'.
45426         * lib/unicase/u16-prefix-context.c: New file.
45427         * modules/unicase/u16-prefix-context: New file.
45428
45429         New module 'unicase/u8-prefix-context'.
45430         * lib/unicase/u8-prefix-context.c: New file.
45431         * lib/unicase/u-prefix-context.h: New file.
45432         * lib/unicase/context.h: New file.
45433         * modules/unicase/u8-prefix-context: New file.
45434
45435         New module 'unicase/empty-prefix-context'.
45436         * lib/unicase/empty-prefix-context.c: New file.
45437         * modules/unicase/empty-prefix-context: New file.
45438
45439         New module 'unicase/ignorable'.
45440         * lib/unicase/ignorable.c: New file.
45441         * modules/unicase/ignorable: New file.
45442
45443         New module 'unicase/cased'.
45444         * lib/unicase/caseprop.h: New file.
45445         * lib/unicase/cased.c: New file.
45446         * modules/unicase/cased: New file.
45447
45448         New functions for case mapping of substrings.
45449         * lib/unicase.h (casing_prefix_context_t): New type.
45450         (unicase_empty_prefix_context): New variable.
45451         (u8_casing_prefix_context, u16_casing_prefix_context,
45452         u32_casing_prefix_context, u8_casing_prefixes_context,
45453         u16_casing_prefixes_context, u32_casing_prefixes_context): New
45454         declarations.
45455         (casing_suffix_context_t): New type.
45456         (unicase_empty_suffix_context): New variable.
45457         (u8_casing_suffix_context, u16_casing_suffix_context,
45458         u32_casing_suffix_context, u8_casing_suffixes_context,
45459         u16_casing_suffixes_context, u32_casing_suffixes_context,
45460         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
45461         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
45462         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
45463         declarations.
45464
45465 2009-06-28  Jim Meyering  <meyering@redhat.com>
45466
45467         boostrap: indent only with spaces
45468         * build-aux/bootstrap: Indent only with spaces, never TABs.
45469
45470         bootstrap: split long lines
45471         * build-aux/bootstrap: Keep line length < 80.
45472
45473         bootstrap: sync from coreutils
45474         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
45475         just as autoreconf does.  Verify a list of prerequisite
45476         package-name,version-number pairs if defined in bootstrap.conf.
45477         Refer to README-prereq, if prerequisites are not satisfied.
45478
45479 2009-06-27  Eric Blake  <ebb9@byu.net>
45480
45481         tests: add test for bogus NULL definition
45482         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
45483         * tests/test-stdlib.c: Likewise.
45484         * tests/test-string.c: Likewise.
45485         * tests/test-locale.c: Likewise.
45486         * tests/test-unistd.c: Likewise.
45487         * modules/stdio-tests (Depends-on): Add verify.
45488         * modules/stdlib-tests (Depends-on): Likewise.
45489         * modules/string-tests (Depends-on): Likewise.
45490         * modules/locale-tests (Depends-on): Likewise.
45491         * modules/unistd-tests (Depends-on): Likewise.
45492
45493 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
45494
45495         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
45496         self-explaining comment.
45497         * m4/selinux-selinux-h: Update serial.
45498         (gl_LIBSELINUX): New macro, adding a warning for missing development
45499         packages to code extracted from...
45500         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
45501         Add warning for missing development packages here, too.
45502
45503 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
45504
45505         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
45506
45507 2009-06-25  Eric Blake  <ebb9@byu.net>
45508
45509         version-etc: fix regression
45510         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
45511         gcc.
45512         (version_etc): Use it, to catch bugs with trailing NULL.
45513         * lib/version-etc.c (version_etc_arn): Delete unused argument.
45514         (version_etc_va): Fix logic bug.
45515         * modules/version-etc-tests: Add test.
45516         * tests/test-version-etc.c: New file.
45517         * tests/test-version-etc.sh: Likewise.
45518
45519 2009-06-25  Sam Steingold  <sds@gnu.org>
45520
45521         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
45522         mbtowc declaration.
45523
45524 2009-06-25  Eric Blake  <ebb9@byu.net>
45525
45526         fpurge: migrate into <stdio.h>
45527         * lib/fpurge.h: Delete...
45528         * lib/stdio.in.h (fpurge): ...and declare here, instead.
45529         * lib/fpurge.c (fpurge): Change declaring header.
45530         * modules/fpurge (Files): Drop deleted file.
45531         (Depends-on): Add stdio.
45532         (configure.ac): Set witness.
45533         * modules/stdio (Makefile.am): Support fpurge macros.
45534         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45535         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
45536         * lib/fflush.c: Update client.
45537         * tests/test-fpurge.c: Likewise.
45538         * NEWS: Mention the change.
45539
45540 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45541
45542         * lib/argp-version-etc.c (program_authors): Add const
45543         qualifier.
45544         * lib/version-etc.c: Fix typos in the comments.
45545         * modules/argp-version-etc: Depends on version-etc.
45546
45547 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45548
45549         argp-version-etc: new module.
45550
45551         * lib/argp-version-etc.c: New file.
45552         * lib/argp-version-etc.h: New file.
45553         * modules/argp-version-etc: New file.
45554         * modules/argp-version-etc-tests: New file.
45555         * tests/test-argp-version-etc.c: New test.
45556         * tests/test-argp-version-etc-1.sh: New test.
45557
45558 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
45559
45560         Provide additional interfaces and documentation for version-etc
45561         module.
45562
45563         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
45564         interfaces.
45565         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
45566         prototypes.
45567
45568 2009-06-24  Bruno Haible  <bruno@clisp.org>
45569
45570         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
45571         HAVE_LIB${NAME} macro.
45572         Reported by Sam Steingold <sds@gnu.org>.
45573
45574 2009-06-23  Simon Josefsson  <simon@josefsson.org>
45575
45576         * modules/hash-tests (test_hash_LDADD): Link to libintl when
45577         needed.
45578
45579 2009-06-21  Bruno Haible  <bruno@clisp.org>
45580
45581         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
45582         work.
45583         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
45584         together with LIB${NAME}, LTLIB${NAME}.
45585         Reported by Sam Steingold <sds@gnu.org>.
45586
45587 2009-06-20  Jim Meyering  <meyering@redhat.com>
45588
45589         tests: make sc_require_test_exit_idiom more generic
45590         * top/maint.mk (Exit_witness_file): New overridable variable.
45591         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
45592         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
45593
45594 2009-06-19  Jim Meyering  <meyering@redhat.com>
45595
45596         hash: reverse order of src/dst parameters in an internal interface
45597         * lib/hash.c (transfer_entries): Reverse order of parameters to
45598         put DST before SRC.  Adjust callers.
45599
45600         tests: test-hash: avoid wholesale duplication
45601         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
45602         Instead, use a loop and add a single conditional.
45603
45604         tests: test-hash: allow seed selection via a command line argument
45605         * tests/test-hash.c (get_seed): New function.
45606         (main): Use it.
45607
45608 2009-06-19  Eric Blake  <ebb9@byu.net>
45609
45610         hash: avoid memory leak on allocation failure
45611         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
45612         failure.  Factor repeated algorithm...
45613         (transfer_entries): ...into new helper routine.
45614         (hash_delete): React to hash_rehash return value.
45615
45616         hash: reduce memory pressure in hash_rehash no-op case
45617         * lib/hash.c (next_prime): Avoid overflow.
45618         (hash_initialize): Factor bucket size computation...
45619         (compute_bucket_size): ...into new helper function.
45620         (hash_rehash): Use new function and open coding to reduce memory
45621         pressure, and avoid a memory leak in USE_OBSTACK code.
45622         Reported by Jim Meyering.
45623
45624 2009-06-18  Eric Blake  <ebb9@byu.net>
45625
45626         hash: make rotation more obvious
45627         * modules/hash (Depends-on): Add bitrotate and stdint.
45628         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
45629         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
45630         (SIZE_MAX): Rely on headers for definition.
45631         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
45632         (raw_hasher): Use rotr_sz.
45633         Suggested by Jim Meyering.
45634
45635         hash: fix memory leak in last patch
45636         * lib/hash.c (hash_rehash): Avoid memory leak.
45637
45638         hash: avoid no-op rehashing
45639         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
45640
45641         hash: provide default callback functions
45642         * lib/hash.c (raw_hasher, raw_comparator): New functions.
45643         (hash_initialize): Use them as defaults.
45644         * tests/test-hash.c (main): Test this.
45645
45646         hash: minor optimization
45647         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
45648         when possible.
45649         (hash_initialize): Document this promise.
45650         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
45651         * tests/test-hash.c (hash_compare_strings): Test this.
45652
45653 2009-06-18  Bruno Haible  <bruno@clisp.org>
45654
45655         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
45656         going to be replaced anyway.
45657
45658 2009-06-18  Bruno Haible  <bruno@clisp.org>
45659
45660         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
45661         in one place.
45662         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
45663         be replaced anyway.
45664
45665 2009-06-18  Eric Blake  <ebb9@byu.net>
45666
45667         hash: check for resize before insertion
45668         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
45669         threshold before insertion, so that a pathological hash_rehash
45670         that fills every bucket can still trigger another rehash.
45671
45672 2009-06-18  Jim Meyering  <meyering@redhat.com>
45673
45674         hash-tests: add a loop around the small tests
45675         * tests/test-hash.c (main): Repeat small tests with selected
45676         small initial table sizes.
45677
45678 2009-06-17  Eric Blake  <ebb9@byu.net>
45679
45680         hash: minor cleanups
45681         * lib/hash.h (hash_entry): Make opaque, by moving...
45682         * lib/hash.c (hash_entry): ...here.
45683         (hash_insert): Clarify restrictions on what can be inserted.
45684         (hash_get_next): Clarify when it is safe to remove an element
45685         during traversal.
45686         (check_tuning): Skip verification when tuning is known safe.
45687         (hash_initialize): Clarify restrictions on tuning.
45688
45689 2009-06-17  Jim Meyering  <jim@meyering.net>
45690         and Eric Blake  <ebb9@byu.net>
45691
45692         hash-tests: new module
45693         * modules/hash-tests: New file.
45694         * tests/test-hash.c: New file.
45695
45696 2009-06-17  Eric Blake  <ebb9@byu.net>
45697
45698         strstr-simple: document new module
45699         * MODULES.html.sh: Document new module.
45700
45701         strstr, strcasestr: replace on platforms with broken memchr
45702         * modules/strstr: Split into...
45703         * modules/strstr-simple: ...new module that does not care about
45704         performance, but does care about glibc bug.
45705         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
45706         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
45707         if platform memchr is broken, per Debian bug 521737.
45708         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
45709         memchr.
45710         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
45711         * doc/posix-functions/strstr.texi (strstr): Document the fix.
45712         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
45713         * modules/mountlist (Depends-on): Add strstr-simple.
45714         * modules/gen-uni-tables (Depends-on): Likewise.
45715         * modules/argz (Depends-on): Add strstr.
45716
45717 2009-06-17  Bruno Haible  <bruno@clisp.org>
45718
45719         * modules/posix_spawn-internal (Depends-on): Add errno.
45720
45721 2009-06-17  Bruno Haible  <bruno@clisp.org>
45722
45723         Define missing ESTALE on Interix 3.5.
45724         * lib/errno.in.h (ESTALE): Assign a value if missing.
45725         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
45726         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
45727         missing.
45728         * doc/posix-headers/errno.texi: Mention the Interix bug.
45729         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
45730
45731 2009-06-15  Eric Blake  <ebb9@byu.net>
45732
45733         memchr, memchr2: add valgrind exception
45734         * lib/memchr.valgrind: New file.
45735         * lib/memchr2.valgrind: New file.
45736         * modules/memchr (Files): Distribute valgrind file.
45737         * modules/memchr2 (Files): Likewise.
45738
45739         docs: memchr is no longer obsolete
45740         * MODULES.html.sh: Move memchr from obsolete to string.h section.
45741         * lib/string.in.h (memchr): Simplify logic.
45742
45743 2009-06-14  Jim Meyering  <meyering@redhat.com>
45744
45745         link-follow: fix the "checking..." message to not mention trailing slash
45746         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
45747         never considered trailing slashes.
45748
45749 2009-06-14  Bruno Haible  <bruno@clisp.org>
45750
45751         * m4/memchr.m4: Mention also the bug on IA-64.
45752         * doc/posix-functions/memchr.texi: Likewise.
45753
45754 2009-06-12  Eric Blake  <ebb9@byu.net>
45755
45756         memchr: detect broken x86_64 and alpha implementations
45757         * modules/memchr-tests (Depends-on): Move mmap detection...
45758         * modules/memchr (Depends-on): ...here.
45759         (configure.ac): Set indicator.
45760         * lib/string.in.h (memchr): Declare replacement.
45761         * modules/string (Makefile.am): Trigger replacement.
45762         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
45763         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
45764         bugs.
45765         * doc/posix-functions/memchr.texi (memchr): Document the bug.
45766         * modules/getpagesize (License): Relax license.
45767
45768 2009-06-11  Bruno Haible  <bruno@clisp.org>
45769
45770         * lib/idpriv.h: Add more references.
45771
45772 2009-06-08  Bruno Haible  <bruno@clisp.org>
45773
45774         Tests for module 'idpriv-droptemp'.
45775         * modules/idpriv-droptemp-tests: New file.
45776         * tests/test-idpriv-droptemp.sh: New file.
45777         * tests/test-idpriv-droptemp.su.sh: New file.
45778         * tests/test-idpriv-droptemp.c: New file.
45779
45780         New module 'idpriv-droptemp'.
45781         * lib/idpriv-droptemp.c: New file.
45782         * modules/idpriv-droptemp: New file.
45783
45784 2009-06-08  Bruno Haible  <bruno@clisp.org>
45785
45786         Tests for module 'idpriv-drop'.
45787         * modules/idpriv-drop-tests: New file.
45788         * tests/test-idpriv-drop.sh: New file.
45789         * tests/test-idpriv-drop.su.sh: New file.
45790         * tests/test-idpriv-drop.c: New file.
45791
45792         New module 'idpriv-drop'.
45793         * lib/idpriv.h: New file.
45794         * lib-idpriv-drop.c: New file.
45795         * m4/idpriv.m4: New file.
45796         * modules/idpriv-drop: New file.
45797
45798 2009-06-08  Bruno Haible  <bruno@clisp.org>
45799
45800         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
45801         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
45802         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
45803         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
45804         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
45805         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
45806         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
45807
45808 2009-06-08  Eric Blake  <ebb9@byu.net>
45809
45810         test-strstr: use memory fence, when possible
45811         * tests/test-strstr.c (main): Use memory fence, in order to be
45812         more likely to trigger Debian bug 521737.
45813         * modules/strstr-tests (Files): Pull in additional files.
45814
45815         memchr: no longer obsolete, for wider field testing
45816         * modules/memchr (Status, Notice): Delete, this module is no
45817         longer obsolete.
45818         * modules/vasnprintf (Depends-on): Add memchr.
45819
45820 2009-06-07  Jim Meyering  <meyering@redhat.com>
45821
45822         hash: declare some functions with the warn_unused_result attribute
45823         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
45824
45825 2009-06-07  Bruno Haible  <bruno@clisp.org>
45826
45827         * tests/test-alignof.c: Don't test int64_t if it does not exist.
45828         Reported by Eric Blake.
45829
45830 2009-06-06  Eric Blake  <ebb9@byu.net>
45831
45832         test-alignof: fix typo with long double
45833         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
45834         compiler error.
45835
45836 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
45837
45838         Escape non-texinfo { and }s.
45839         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
45840         markup error.
45841
45842 2009-06-04  Jim Meyering  <meyering@redhat.com>
45843
45844         gitlog-to-changelog: don't infloop on an empty commit log
45845         * build-aux/gitlog-to-changelog: Warn about an empty log message.
45846         Reported by Boris Petersen <transacid@centerim.org>.
45847
45848 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
45849
45850         version-etc: extend for packagers
45851         Add three new configure options, intended for packagers:
45852           --with-packager="packager name"
45853           --with-packager-version="packager-specific version"
45854           --with-packager-bug-reports="packager bug reporting"
45855         An example with coreutils:
45856           $ ./configure \
45857             --with-packager=Gentoo \
45858             --with-packager-bug-report=http://bugs.gentoo.org/ \
45859             --with-packager-version="patchset 1.6"
45860           $ ./src/ls --version | head -n2
45861           ls (GNU coreutils) 7.1-dirty
45862           Packaged by Gentoo (patchset 1.6)
45863         Note that the bug reporting info via --help doesn't show up because
45864         coreutils uses its own custom emit_bug_reporting_address() implementation
45865         in src/system.h.  If it didn't, it'd look like:
45866           $ ./src/ls --help | tail -n4
45867           Report bugs to <bug-coreutils@gnu.org>.
45868           Report Gentoo bugs to <http://bugs.gentoo.org/>.
45869           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
45870           General help using GNU software: <http://www.gnu.org/gethelp/>.
45871         * lib/version-etc.c: Print new information, if provided.
45872         * m4/version-etc.m4: New file.
45873         * modules/version-etc (Files): Add m4/version-etc.m4.
45874         (configure.ac): Add gl_VERSION_ETC.
45875
45876 2009-05-31  Bruno Haible  <bruno@clisp.org>
45877
45878         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
45879         and 'int64_t'.
45880         * modules/alignof-tests (Dependencies): Add stdint.
45881         Reported by Eric Blake.
45882
45883 2009-05-31  Bruno Haible  <bruno@clisp.org>
45884
45885         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
45886         restriction due to compiler bugs.
45887         Reported by Eric Blake.
45888
45889 2009-05-31  Simon Josefsson  <simon@josefsson.org>
45890             Bruno Haible  <bruno@clisp.org>
45891
45892         Fix test-alignof failure.
45893         * lib/alignof.h (alignof_slot): New macro.
45894         (alignof_type): New macro, with the same semantics as the previous
45895         'alignof'.
45896         (alignof): Alias to alignof_slot.
45897         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
45898         check that the results are usable as constant expressions.
45899
45900 2009-05-31  Bruno Haible  <bruno@clisp.org>
45901
45902         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
45903         * tests/test-memchr.c (main): Check that memchr does not read past the
45904         first occurrence of the byte.
45905         * tests/test-strstr.c (main): Update comment.
45906         Suggested by Eric Blake.
45907
45908 2009-05-30  Bruno Haible  <bruno@clisp.org>
45909
45910         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
45911         detail how to use dumpbin.
45912         Reported by David Byron <dbyron@dbyron.com>.
45913
45914 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45915
45916         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
45917
45918 2009-06-02  Simon Josefsson  <simon@josefsson.org>
45919
45920         * m4/manywarnings.m4: Add GCC 4.4 warnings.
45921
45922 2009-05-28  Bruno Haible  <bruno@clisp.org>
45923
45924         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
45925         build-aux/ files.
45926
45927 2009-05-28  Simon Josefsson  <simon@josefsson.org>
45928
45929         * gnulib-tool (func_import): Transform license on build-aux/ files too.
45930
45931 2009-05-27  Simon Josefsson  <simon@josefsson.org>
45932
45933         * gnulib-tool (sed_transform_main_lib_file)
45934         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
45935         regexps.
45936
45937 2009-05-26  Simon Josefsson  <simon@josefsson.org>
45938
45939         * tests/test-strstr.c: Add another self-test.
45940         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
45941         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
45942
45943 2009-05-23  Bruno Haible  <bruno@clisp.org>
45944
45945         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
45946         change.
45947
45948 2009-05-21  Bruno Haible  <bruno@clisp.org>
45949
45950         Simplify use of mode_t varargs.
45951         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
45952         uses 'mode_t' or 'int'.
45953         * lib/openat.c (openat): Likewise.
45954         * lib/open-safer.c (open_safer): Likewise.
45955         * m4/mode_t.m4: New file.
45956         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
45957         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
45958         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
45959         * modules/open (Files): Add m4/mode_t.m4.
45960         * modules/openat (Files): Likewise.
45961         * modules/fcntl-safer (Files): Likewise.
45962         Suggested by Eric Blake.
45963
45964 2009-05-21  Pádraig Brady  <P@draigbrady.com>
45965
45966         * doc/glibc-functions/fallocate.texi: New file.
45967         * doc/gnulib.texi: Include it.
45968
45969 2009-05-21  Eric Blake  <ebb9@byu.net>
45970             Bruno Haible  <bruno@clisp.org>
45971
45972         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
45973         invocations.
45974         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
45975
45976 2009-05-21  Eric Blake  <ebb9@byu.net>
45977             Bruno Haible  <bruno@clisp.org>
45978
45979         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
45980         include_next. Fix of 2008-11-20 commit.
45981         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
45982         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
45983         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
45984         NEXT_MATH_H.
45985         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
45986         instead of NEXT_MATH_H.
45987
45988 2009-05-21  Bruno Haible  <bruno@clisp.org>
45989
45990         Avoid redefinition warnings for SIZE_MAX.
45991         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
45992         Reported by Simon Josefsson.
45993
45994 2009-05-21  Bruno Haible  <bruno@clisp.org>
45995
45996         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
45997         AC_CACHE_VAL.
45998
45999 2009-05-20  Bruno Haible  <bruno@clisp.org>
46000
46001         Make zeroptr.h work on mingw.
46002         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
46003         mprotect.
46004         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
46005         * modules/memchr2-tests (configure.ac): Likewise.
46006         * modules/memcmp-tests (configure.ac): Likewise.
46007         * modules/memmem-tests (configure.ac): Likewise.
46008         * modules/memrchr-tests (configure.ac): Likewise.
46009         Reported by Simon Josefsson.
46010
46011 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46012
46013         * tests/test-glob.c: Include string.h for strcmp prototype.
46014
46015 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46016
46017         * modules/getdelim (Depends-on): Add explicit stdint, although it
46018         was implicitly already pulled in via realloc-posix.
46019         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
46020
46021 2009-05-20  Simon Josefsson  <simon@josefsson.org>
46022
46023         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
46024         G. Christensen" <tgc@jupiterrise.com>.
46025         * m4/sys_socket_h.m4: Check for sa_family_t.
46026         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
46027         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
46028         * tests/test-sys_socket.c: Check that sa_family_t works.
46029
46030 2009-05-18  Eric Blake  <ebb9@byu.net>
46031
46032         maint.mk: allow gnulib_dir in VPATH build
46033         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
46034
46035 2009-05-15  Jim Meyering  <meyering@redhat.com>
46036
46037         maint.mk: Give gnulib_dir a default definition.
46038         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
46039         Thus, most packages no longer need to specify this variable in cfg.mk
46040
46041 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
46042
46043         rename.m4: fix typos that would make non-mingw cross-configure fail
46044         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
46045
46046 2009-05-13  Eric Blake  <ebb9@byu.net>
46047
46048         mmap-anon: avoid out-of-order autoconf expansion
46049         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
46050         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
46051         * modules/memchr-tests (Depends-on): Add extensions.
46052         * modules/memchr2-tests (Depends-on): Add extensions.
46053         * modules/memcmp-tests (Depends-on): Add extensions.
46054         * modules/memmem-tests (Depends-on): Add extensions.
46055         * modules/memrchr-tests (Depends-on): Add extensions.
46056
46057 2009-05-13  Bruno Haible  <bruno@clisp.org>
46058
46059         Make some tests ISO C 99 compliant.
46060         * tests/zerosize-ptr.h: New file.
46061         * tests/test-memchr.c: Include zerosize-ptr.h.
46062         (main): Use a zero-size object pointer instead of NULL.
46063         * tests/test-memchr2.c: Include zerosize-ptr.h.
46064         (main): Use a zero-size object pointer instead of NULL.
46065         * tests/test-memcmp.c: Include zerosize-ptr.h.
46066         (main): Use a zero-size object pointer instead of NULL.
46067         * tests/test-memmem.c: Include zerosize-ptr.h.
46068         (main): Use a zero-size object pointer instead of NULL.
46069         * tests/test-memrchr.c: Include zerosize-ptr.h.
46070         (main): Use a zero-size object pointer instead of NULL.
46071         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
46072         m4/mmap-anon.m4.
46073         (Depends-on): Add getpagesize.
46074         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46075         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
46076         m4/mmap-anon.m4.
46077         (Depends-on): Add getpagesize.
46078         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46079         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
46080         m4/mmap-anon.m4.
46081         (Depends-on): Add getpagesize.
46082         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46083         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
46084         m4/mmap-anon.m4.
46085         (Depends-on): Add getpagesize.
46086         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46087         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
46088         m4/mmap-anon.m4.
46089         (Depends-on): Add getpagesize.
46090         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
46091
46092 2009-05-12  Bruno Haible  <bruno@clisp.org>
46093
46094         Tests for module 'alignof'.
46095         * modules/alignof-tests: New file.
46096         * tests/test-alignof.c: New file.
46097
46098 2009-05-12  Bruno Haible  <bruno@clisp.org>
46099
46100         Fix alignof macro.
46101         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
46102         vendor compilers that are always correct.
46103
46104 2009-05-12  Bruno Haible  <bruno@clisp.org>
46105
46106         Make the MAP_ANONYMOUS detection work on HP-UX 11.
46107         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
46108         not whether its fully works.
46109
46110 2009-05-12  Bruno Haible  <bruno@clisp.org>
46111
46112         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
46113
46114 2009-05-12  Jim Meyering  <meyering@redhat.com>
46115
46116         * top/maint.mk: Adjust backslash alignment.
46117
46118 2009-05-11  Simon Josefsson  <simon@josefsson.org>
46119
46120         * top/maint.mk: Make $(srcdir)/build-aux configurable.
46121
46122 2009-05-11  Eric Blake  <ebb9@byu.net>
46123
46124         argp: avoid undefined behavior
46125         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
46126         macros.
46127
46128 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46129
46130         * tests/test-vc-list-files-git.sh: Do git config of user.email and
46131         user.name to prevent git commit from complaining.
46132
46133 2009-05-10  Bruno Haible  <bruno@clisp.org>
46134
46135         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
46136         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
46137         it rewrites every file name only once.
46138         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
46139
46140 2009-05-08  Bruno Haible  <bruno@clisp.org>
46141
46142         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
46143         instead of 'max'.
46144
46145 2009-05-08  Simon Josefsson  <simon@josefsson.org>
46146
46147         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
46148         sockaddr_storage test.
46149
46150 2009-05-07  Simon Josefsson  <simon@josefsson.org>
46151
46152         * modules/sys_socket (Makefile.am): Substitute
46153         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
46154         * m4/sys_socket_h.m4: Check for sockaddr_storage.
46155         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
46156         * tests/test-sys_socket.c: Check sockaddr_storage.
46157
46158 2009-05-08  Bruno Haible  <bruno@clisp.org>
46159
46160         New module 'alignof'.
46161         * lib/alignof.h: New file.
46162         * modules/alignof: New file.
46163
46164 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46165             Bruno Haible  <bruno@clisp.org>
46166
46167         Fix test-file-has-acl on FreeBSD.
46168         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
46169         mask is implicitly added.
46170         * tests/test-file-has-acl.c: Include <signal.h>.
46171         (main): Terminate the test after 5 seconds.
46172         * modules/acl-tests (configure.ac): Check for alarm function.
46173
46174 2009-05-04  Bruno Haible  <bruno@clisp.org>
46175
46176         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
46177         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
46178         * modules/errno (configure.ac): Drop AC_REQUIRE.
46179         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
46180         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
46181
46182 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46183
46184         * modules/glob-tests: New module.
46185         * tests/test-glob.c: Add.
46186
46187 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46188
46189         * modules/fnmatch-tests: New module.
46190         * tests/test-fnmatch.c: Add.
46191
46192 2009-05-04  Eric Blake  <ebb9@byu.net>
46193
46194         maint: make the new no-submodule-changes rule VPATH-safe
46195         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
46196
46197 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46198             Bruno Haible  <bruno@clisp.org>
46199
46200         acl: Fix infinite loop on FreeBSD.
46201         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
46202         of return value from acl_get_entry.
46203         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
46204         Likewise.
46205
46206 2009-05-03  Bruno Haible  <bruno@clisp.org>
46207
46208         * lib/acl-internal.h (acl_entries): Clarify return value.
46209         * lib/acl_entries.c (acl_entries): Likewise.
46210
46211 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46212
46213         Bug fix in acl module.
46214         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
46215
46216 2009-05-03  Bruno Haible  <bruno@clisp.org>
46217
46218         Create gperf-generated file in the source dir, not in the build dir.
46219         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
46220         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
46221         * modules/unicase/locale-language (unicase/locale-languages.h):
46222         Likewise.
46223         * modules/unicase/special-casing (unicase/special-casing-table.h):
46224         Likewise.
46225         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
46226         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
46227         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
46228         Reported by Ralf Wildenhues.
46229
46230 2009-05-03  Bruno Haible  <bruno@clisp.org>
46231
46232         * modules/fnmatch (Description, configure.ac): Taken from
46233         fnmatch-posix.
46234         * modules/fnmatch-posix: Turn into a symbolic reference to the
46235         'fnmatch' module, and deprecate.
46236         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
46237
46238 2009-05-03  Bruno Haible  <bruno@clisp.org>
46239
46240         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
46241         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
46242         Reported by Ralf Wildenhues.
46243
46244 2009-05-04  Simon Josefsson  <simon@josefsson.org>
46245
46246         * m4/fnmatch.m4: Fix fnmatch re-define.
46247
46248 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
46249
46250         priv-set: new module and tests; adapt write-any-file
46251         * lib/priv-set.c: New file.
46252         * lib/priv-set.h: New file.
46253         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
46254         * lib/write-any-file.c: Simplify by using priv-set module.
46255         * m4/priv-set.m4: New file.
46256         * modules/priv-set: New file.
46257         * modules/unlinkdir: Add dependency on priv-set module.
46258         * modules/write-any-file: Likewise.
46259
46260         Tests for module 'priv-set'.
46261         * modules/priv-set-tests: New file.
46262         * tests/test-priv-set.c: New file.
46263
46264 2009-05-03  Jim Meyering  <meyering@redhat.com>
46265             Bruno Haible  <bruno@clisp.org>
46266
46267         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
46268         use the converted UTF-8 variant of the name instead.
46269
46270 2009-05-03  Jim Meyering  <meyering@redhat.com>
46271
46272         tests: tighten some getdate tests
46273         * tests/test-getdate.c (main): Tighten tests: require equality,
46274         not just greater than.  Set TZ envvar to UTC0.
46275
46276 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
46277
46278         getdate: correctly interpret "next monday" when run on a Monday
46279         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
46280         that e.g., "next tues" (when run on a tuesday) results in a date
46281         that is one week in the future, and not today's date.
46282         I.e., add a week when the wday is the same as the current one.
46283         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
46284         and earlier by Martin Bernreuther and Jan Minář.
46285         * tests/test-getdate.c (main): Check that "next DAY" is always in
46286         the future and that "last DAY" is always in the past.
46287
46288 2009-05-02  Jim Meyering  <meyering@redhat.com>
46289
46290         build: ensure that a release build fails when a submodule is unclean
46291         * top/maint.mk (no-submodule-changes): New rule.
46292         (alpha beta major): Depend on it.
46293
46294 2009-05-02  Bruno Haible  <bruno@clisp.org>
46295
46296         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
46297         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
46298         shell variable gl_fnmatch_required to detect which variant is
46299         requested.
46300         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
46301         gl_FUNC_FNMATCH_POSIX.
46302         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
46303         exclude fnmatch-posix.
46304
46305 2009-05-02  Bruno Haible  <bruno@clisp.org>
46306
46307         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
46308         * modules/mbsrtowcs (License): Change to LGPLv2+.
46309         * modules/strnlen1 (License): Likewise.
46310         Reported by Simon Josefsson.
46311
46312 2009-05-02  Bruno Haible  <bruno@clisp.org>
46313
46314         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
46315         "cross".
46316         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
46317         gnulib-tool was called with option --source-base=lib.
46318
46319 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46320
46321         Use automake *-local hooks without commands, for extensibility.
46322         * modules/localcharset (Makefile.am): Rename install-exec-local
46323         rule to install-exec-localcharset, and make it a prerequisite of
46324         install-exec-local.  Likewise, rename the uninstall-local rule to
46325         uninstall-localcharset, and make it a prerequisite of the former.
46326
46327 2009-05-01  Bruno Haible  <bruno@clisp.org>
46328
46329         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
46330         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46331         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
46332         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
46333         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
46334         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46335         m4/locale-zh.m4, m4/codeset.m4.
46336
46337         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
46338         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
46339         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
46340         m4/locale-zh.m4.
46341
46342         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
46343         REPLACE_WCRTOMB if mbstate_t must be replaced.
46344         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
46345         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
46346
46347 2009-05-01  Bruno Haible  <bruno@clisp.org>
46348
46349         Avoid compiler warnings when redefining macros defined by <libintl.h>.
46350         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
46351         dngettext, dcngettext, textdomain, bindtextdomain,
46352         bind_textdomain_codeset): Undefine before redefining.
46353
46354 2009-04-30  Bruno Haible  <bruno@clisp.org>
46355
46356         Fix bug introduced on 2009-04-25.
46357         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
46358         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
46359         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
46360         is defined.
46361         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
46362         is defined.
46363         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
46364         is defined.
46365         Reported by Elbert_Pol <elbert.pol@gmail.com>.
46366
46367 2009-04-28  Bruno Haible  <bruno@clisp.org>
46368
46369         Comment tweaks.
46370         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
46371         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
46372         * lib/unicase.h (u*_casexfrm): Likewise.
46373         Reported by Paolo Bonzini.
46374
46375 2009-04-28  Bruno Haible  <bruno@clisp.org>
46376
46377         Fix a compilation error.
46378         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
46379         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
46380         Reported by Jim Meyering.
46381
46382 2009-04-27  Bruno Haible  <bruno@clisp.org>
46383
46384         New module 'libunistring'.
46385         * modules/libunistring: New file.
46386         * m4/libunistring.m4: New file.
46387         * MODULES.html.sh (Unicode string functions): Add it.
46388
46389 2009-04-27  Eric Blake  <ebb9@byu.net>
46390
46391         maint.mk: allow package-specific header to provide <config.h>
46392         * top/maint.mk (sc_require_config_h): New variable.
46393         (sc_require_config_h, sc_require_config_h_first): Use it.
46394
46395 2009-04-27  Simon Josefsson  <simon@josefsson.org>
46396
46397         * top/maint.mk (sc_avoid_if_before_free): Except
46398         useless-if-before-free script.
46399
46400 2009-04-27  Eric Blake  <ebb9@byu.net>
46401
46402         maintainer-makefile: depend on all required helper scripts
46403         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
46404         useless-if-before-free.
46405         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
46406         version, rather than assuming gnulib checkout is available.
46407         Reported by Simen Josefsson.
46408
46409 2009-04-26  Bruno Haible  <bruno@clisp.org>
46410
46411         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
46412         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
46413         "../" or "..".
46414
46415 2009-04-26  Bruno Haible  <bruno@clisp.org>
46416
46417         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
46418         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
46419         AC_LIB_HAVE_LINKFLAGS.
46420
46421 2009-04-26  Bruno Haible  <bruno@clisp.org>
46422
46423         Simplify calling convention of u*_conv_from_encoding.
46424         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
46425         u32_conv_from_encoding): Expect a resultbuf argument and return the
46426         result directly as a pointer.
46427         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
46428         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
46429         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
46430         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
46431         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
46432         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46433         Update.
46434         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
46435         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
46436         * lib/vasnprintf.c (VASNPRINTF): Update.
46437         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
46438         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
46439         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
46440         * NEWS: Mention the change.
46441
46442 2009-04-26  Bruno Haible  <bruno@clisp.org>
46443
46444         Simplify calling convention of u*_conv_to_encoding.
46445         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
46446         u32_conv_to_encoding): Expect a resultbuf argument and return the
46447         result directly as a pointer.
46448         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46449         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
46450         freeing scaled_offsets if mem_iconveha failed.
46451         * lib/unicase/u-casexfrm.h (FUNC): Update.
46452         * lib/uninorm/u-normxfrm.h (FUNC): Update.
46453         * lib/vasnprintf.c (VASNPRINTF): Update.
46454         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
46455         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
46456         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
46457         * NEWS: Mention the change.
46458
46459 2009-04-26  Bruno Haible  <bruno@clisp.org>
46460
46461         Avoid test failures on AIX and OSF/1.
46462         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
46463         malloc(0).
46464         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
46465         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
46466         Likewise.
46467         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
46468         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
46469         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
46470         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
46471         * doc/posix-functions/malloc.texi: Document the portability problem
46472         related to malloc(0).
46473
46474 2009-04-26  Bruno Haible  <bruno@clisp.org>
46475
46476         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
46477         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
46478         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
46479
46480 2009-04-25  Bruno Haible  <bruno@clisp.org>
46481
46482         Avoid link error when creating a namespace clean library.
46483         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
46484         as macro with arguments if already defined as an alias.
46485         * lib/signbitf.c (gl_signbitf): Don't undefine.
46486         * lib/signbitd.c (gl_signbitd): Don't undefine.
46487         * lib/signbitl.c (gl_signbitl): Don't undefine.
46488
46489 2009-04-25  Jim Meyering  <meyering@redhat.com>
46490
46491         vc-list-files: fix another quoting bug
46492         * build-aux/vc-list-files: Avoid sed backslash expansion
46493         of pathological directory names.
46494
46495 2009-04-25  Eric Blake  <ebb9@byu.net>
46496
46497         vc-list-files: fix shell quoting error
46498         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
46499         timestamp.
46500
46501 2009-04-25  Jim Meyering  <meyering@redhat.com>
46502
46503         vc-list-files: restore lost functionality with subdir argument
46504         * build-aux/vc-list-files: When given a non-"." sub-directory
46505         argument, substitute the $dir/ prefix back onto each resulting name.
46506         Otherwise, coreutils' root_tests check would fail.
46507
46508 2009-04-24  Eric Blake  <ebb9@byu.net>
46509
46510         vc-list-files: ignore git symlinks
46511         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
46512         than ls-files, to ignore git symlinks.
46513
46514         maint.mk: import improvements from m4
46515         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
46516         (move_if_change): Delete unused macro.
46517         (news-date-check, vc-diff-check): Support VPATH builds.
46518         (announcement): Likewise.  Split --bootstrap-tools list...
46519         (boostrap-tools): ...into separate list, which can be overridden
46520         in cfg.mk.
46521         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
46522         requiring dependency on useless-if-before-free module.
46523         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
46524         Support VPATH builds.
46525
46526 2009-04-24  Jim Meyering  <meyering@redhat.com>
46527
46528         maint.mk: remove coreutils-specific rules and variables
46529         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
46530         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
46531         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
46532
46533         maint.mk: remove obsolete rule
46534         * top/maint.mk (rel-check): Remove rule.
46535         (WGET, WGETFLAGS): Remove now-unused variables.
46536
46537 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46538
46539         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
46540         consistency.
46541
46542         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
46543         '$(PATH_SEPARATOR)' instead of ':'.
46544
46545 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46546
46547         * lib/getopt1.c (main): Use 'const' for static array.
46548
46549 2009-04-24  Simon Josefsson  <simon@josefsson.org>
46550
46551         * top/maint.mk: Sync with coreutils.
46552         * NEWS: Explain incompatibilities.
46553
46554 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46555             Bruno Haible  <bruno@clisp.org>
46556
46557         Fix cross-compilation results.
46558         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
46559         statement, as third argument of AC_TRY_RUN.
46560         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
46561         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
46562         Likewise.
46563         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
46564         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
46565         Likewise.
46566         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
46567         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
46568         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
46569
46570 2009-04-20  Bruno Haible  <bruno@clisp.org>
46571
46572         Avoid test failure on mingw.
46573         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
46574
46575 2009-04-20  Bruno Haible  <bruno@clisp.org>
46576
46577         Avoid compilation error on mingw.
46578         * modules/localename-tests (Depends-on): Add locale.
46579
46580 2009-04-19  Bruno Haible  <bruno@clisp.org>
46581
46582         Support for building a shared library on Windows platforms.
46583         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
46584         (main): Test the presence of UNINORM_NFC here.
46585         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
46586         (main): Test the presence of UNINORM_NFD here.
46587         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
46588         (main): Test the presence of UNINORM_NFKC here.
46589         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
46590         (main): Test the presence of UNINORM_NFKD here.
46591
46592 2009-04-19  Bruno Haible  <bruno@clisp.org>
46593
46594         Avoid a compiler warning.
46595         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
46596         Change type of variable 'sequence'.
46597
46598 2009-04-19  Bruno Haible  <bruno@clisp.org>
46599
46600         * modules/configmake (Makefile.am): When the contents of configmake.h
46601         does not change, arrange to preserve its modification time.
46602
46603 2009-04-17  Simon Josefsson  <simon@josefsson.org>
46604
46605         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
46606         gettext domain.
46607
46608 2009-04-16  Jim Meyering  <meyering@redhat.com>
46609
46610         useless-if-before-free: improve conversion code
46611         * build-aux/useless-if-before-free: Adjust code-in-comment to match
46612         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
46613
46614 2009-04-14  Bruno Haible  <bruno@clisp.org>
46615
46616         * modules/fcntl (Depends-on): Add extensions.
46617         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
46618
46619 2009-04-12  Ben Pfaff  <blp@gnu.org>
46620
46621         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
46622         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
46623
46624 2009-03-20  Ben Pfaff  <blp@gnu.org>
46625
46626         Make rename replace existing destinations on Windows.
46627         * m4/rename.m4: Add test for Mingw.
46628         * lib/rename.c: Add rename replacement that uses MoveFileEx with
46629         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
46630         * doc/posix-functions/rename.texi: Document.
46631
46632 2009-04-10  Bruno Haible  <bruno@clisp.org>
46633
46634         New include file "iconveh.h".
46635         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
46636         * lib/striconveh.h: Include it.
46637         (enum iconv_ilseq_handler): Remove definition.
46638         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
46639         striconveh.h.
46640         * lib/striconveha.c: Include striconveh.h.
46641         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
46642         * modules/striconveh (Files): Add lib/iconveh.h.
46643         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
46644         lib/striconveh.h.
46645
46646 2009-04-10  Bruno Haible  <bruno@clisp.org>
46647
46648         * lib/uniconv.h: Update comment.
46649
46650 2009-04-10  Bruno Haible  <bruno@clisp.org>
46651
46652         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
46653         always.
46654         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46655         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46656         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46657         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
46658         "unistring-notinline.h", so that the function gets defined always.
46659         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46660         * lib/unistr/u8-uctomb.c: Likewise.
46661         * lib/unistr/u16-mbtouc.c: Likewise.
46662         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46663         * lib/unistr/u16-uctomb.c: Likewise.
46664         * lib/unistr/u32-mbtouc.c: Likewise.
46665         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46666         * lib/unistr/u32-uctomb.c: Likewise.
46667
46668 2009-04-10  Bruno Haible  <bruno@clisp.org>
46669
46670         Mark 'utime' obsolete.
46671         * modules/utime (Status, Notice): New sections.
46672         Suggested by Jim Meyering.
46673
46674         Fix cross-compile guess for utime test.
46675         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
46676         autoconf.
46677         * doc/posix-functions/utime.texi: Give more precisions.
46678         Reported by Jan <ipif@ymail.com>.
46679
46680 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
46681
46682         filevercmp: correct today's change
46683         * lib/filevercmp.c: Also handle coreutils' test inputs.
46684         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
46685
46686         Fix regression in 'filevercmp' module. Thanks Sven Joachim
46687         for reporting it.
46688         * lib/filevercmp.c: Special handle for "", "." and "..".
46689         * tests/test-filevercmp.c: Enlarge the set suite.
46690
46691 2009-04-07  Jim Meyering  <meyering@redhat.com>
46692
46693         useless-if-before-free: show how to remove braced useless free, too
46694         * build-aux/useless-if-before-free: still only in a comment, though.
46695
46696 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
46697
46698         maint.mk: import changes to syntax-check macros from coreutils
46699         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
46700         Use them in the relevant macros.
46701
46702 2009-04-06  Bruno Haible  <bruno@clisp.org>
46703
46704         Fix unportable use of bit-fields.
46705         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
46706         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
46707         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
46708
46709 2009-04-06  Bruno Haible  <bruno@clisp.org>
46710
46711         Avoid test failures on AIX and OSF/1.
46712         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
46713         that malloc(0) = NULL.
46714         * tests/unicase/test-u8-tolower.c (check): Likewise.
46715         * tests/unicase/test-u8-totitle.c (check): Likewise.
46716         * tests/unicase/test-u8-toupper.c (check): Likewise.
46717         * tests/unicase/test-u16-casefold.c (check): Likewise.
46718         * tests/unicase/test-u16-tolower.c (check): Likewise.
46719         * tests/unicase/test-u16-totitle.c (check): Likewise.
46720         * tests/unicase/test-u16-toupper.c (check): Likewise.
46721         * tests/unicase/test-u32-casefold.c (check): Likewise.
46722         * tests/unicase/test-u32-tolower.c (check): Likewise.
46723         * tests/unicase/test-u32-totitle.c (check): Likewise.
46724         * tests/unicase/test-u32-toupper.c (check): Likewise.
46725         * tests/uninorm/test-u8-nfc.c (check): Likewise.
46726         * tests/uninorm/test-u8-nfd.c (check): Likewise.
46727         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
46728         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
46729         * tests/uninorm/test-u16-nfc.c (check): Likewise.
46730         * tests/uninorm/test-u16-nfd.c (check): Likewise.
46731         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
46732         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
46733         * tests/uninorm/test-u32-nfc.c (check): Likewise.
46734         * tests/uninorm/test-u32-nfd.c (check): Likewise.
46735         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
46736         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
46737
46738 2009-04-05  Bruno Haible  <bruno@clisp.org>
46739
46740         Work around an autoconf limitation.
46741         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
46742         comment line if it would be longer than 3 KB.
46743
46744 2009-04-05  Bruno Haible  <bruno@clisp.org>
46745
46746         Avoid test failure with libiconv-1.13.
46747         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
46748         of the expected test results.
46749
46750 2009-04-05  Bruno Haible  <bruno@clisp.org>
46751
46752         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
46753         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
46754         that it should be installed.
46755
46756 2009-04-05  Bruno Haible  <bruno@clisp.org>
46757
46758         * gnulib-tool: New option --copy-file.
46759         (func_usage): Document it.
46760         (func_dest_tmpfilename): Moved out of func_import.
46761         (func_add_file, func_update_file): New functions, extracted from
46762         func_import.
46763         (func_import): Update.
46764
46765 2009-04-05  Karl Berry  <karl@gnu.org>
46766
46767         * README: prominently mention gnulib-tool.
46768         Rearrange sections so getting the code is near the top.
46769
46770 2009-04-05  Bruno Haible  <bruno@clisp.org>
46771
46772         * lib/unicase.h: Mention u*_cmp2.
46773         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46774         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
46775         * lib/unicase/ulc-casecmp.c: Likewise.
46776         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
46777         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
46778         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
46779         unistr/u8-cmp.
46780         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
46781         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
46782         unistr/u16-cmp.
46783         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
46784         unistr/u32-cmp.
46785
46786         * lib/uninorm.h: Mention u*_cmp2.
46787         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
46788         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
46789         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
46790         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
46791         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
46792         unistr/u8-cmp.
46793         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
46794         unistr/u16-cmp.
46795         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
46796         unistr/u32-cmp.
46797
46798         New module 'unistr/u32-cmp2'.
46799         * lib/unistr/u32-cmp2.c: New file.
46800         * modules/unistr/u32-cmp2: New file.
46801
46802         New module 'unistr/u16-cmp2'.
46803         * lib/unistr/u16-cmp2.c: New file.
46804         * modules/unistr/u16-cmp2: New file.
46805
46806         New module 'unistr/u8-cmp2'.
46807         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
46808         * lib/unistr/u8-cmp2.c: New file.
46809         * lib/unistr/u-cmp2.h: New file.
46810         * modules/unistr/u8-cmp2: New file.
46811
46812 2009-04-05  Bruno Haible  <bruno@clisp.org>
46813
46814         * lib/unictype.h (uc_property_is_valid): New macro.
46815         * tests/unictype/test-pr_byname.c (main): Use it.
46816
46817         * lib/unistr.h: Doc fixes.
46818         * lib/uniconv.h: Doc fixes.
46819         * lib/unictype.h: Doc fixes.
46820
46821 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
46822
46823         Port coreutils 7.2 to Solaris 8.
46824
46825         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
46826         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
46827         for Solaris 8.  This is a bit of a hack, as it means it's the
46828         caller's responsibility to add -lnsl if needed, but most likely it
46829         won't be needed since only getaddrinfo uses this and getaddrinfo
46830         isn't needed on Solaris 8.
46831
46832         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
46833         problem to Solaris 8 encountered with coreutils 7.2, which
46834         resulted in a message "fnmatch.c:292: warning: passing argument 4
46835         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
46836         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
46837
46838 2009-04-03  Simon Josefsson  <simon@josefsson.org>
46839
46840         * m4/ld-version-script.m4: Add FIXME comment.
46841
46842 2009-04-02  Simon Josefsson  <simon@josefsson.org>
46843
46844         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
46845         SOVERSION variable.
46846
46847 2009-04-02  Bruno Haible  <bruno@clisp.org>
46848
46849         * Makefile (info, html, dvi, pdf): Combine the rules.
46850         Suggested by Jim Meyering.
46851
46852 2009-04-01  Bruno Haible  <bruno@clisp.org>
46853
46854         * Makefile (info, html, dvi, pdf): New targets.
46855         Reported by Reuben Thomas <rrt@sc3d.org>.
46856
46857 2009-04-01  Bruno Haible  <bruno@clisp.org>
46858
46859         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
46860         can be put into PATH.
46861         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
46862
46863 2009-04-01  Bruno Haible  <bruno@clisp.org>
46864
46865         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
46866
46867 2009-04-01  Bruno Haible  <bruno@clisp.org>
46868
46869         Rename module 'visibility'.
46870         * modules/lib-symbol-visibility: Renamed from modules/visibility.
46871         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
46872         * doc/gnulib.texi: Update.
46873         * MODULES.html.sh (Misc): Update.
46874         * NEWS: Mention the change.
46875
46876 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46877
46878         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
46879         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
46880         Eric Blake <ebb9@byu.net> for review.
46881         * MODULES.html.sh: Add lib-msvc-compat.
46882         * doc/gnulib.texi: Link to new section.
46883         * m4/ld-output-def.m4: New file.
46884         * doc/ld-output-def.texi: New file.
46885
46886 2009-04-01  Simon Josefsson  <simon@josefsson.org>
46887
46888         Rename ld-version-script to lib-symbol-versions.  Suggested by
46889         Bruno Haible <bruno@clisp.org>.
46890         * modules/ld-version-script: Renamed to lib-symbol-versions.
46891         * doc/ld-version-script.texi: Fix module name.
46892         * MODULES.html.sh: Add lib-symbol-versions.
46893
46894 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46895
46896         * modules/u64-tests: New file.
46897         * tests/test-u64.c: New file.
46898
46899 2009-03-04  Simon Josefsson  <simon@josefsson.org>
46900
46901         * MODULES.html.sh: Mention u64.
46902         * modules/u64: New module.
46903         * modules/crypto/sha512: Depend on u64 module instead of providing
46904         u64.h.
46905
46906 2009-03-27  Eric Blake  <ebb9@byu.net>
46907
46908         test-strerror: make debugging EAI_SYSTEM easier
46909         * modules/getaddrinfo-tests (Depends-on): Add strerror.
46910         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
46911         failure was EAI_SYSTEM.
46912
46913 2009-03-25  Bruno Haible  <bruno@clisp.org>
46914
46915         Fix a problem with --enable-relocatable on Solaris 7.
46916         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
46917         since 2008-02-24.
46918
46919 2009-03-25  Eric Blake  <ebb9@byu.net>
46920
46921         test-sockets: avoid gcc warning
46922         * tests/test-sockets.c (main): Silence compiler warning.
46923
46924 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
46925
46926         New modules nproc, pthread, contributed by Glen Lenker.
46927
46928         * MODULES.html.sh: Add pthread, nproc.
46929         * lib/nproc.c: New file.
46930         * lib/nproc.h: New file.
46931         * lib/pthread.in.h: New file.
46932         * m4/pthread.m4: New file.
46933         * modules/nproc: New file.
46934         * modules/pthread: New file.
46935
46936 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46937
46938         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
46939         New variable.
46940
46941 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
46942
46943         filevercmp: handle simple~ and numbered.~3~ backup suffixes
46944         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
46945         * tests/test-filevercmp.c: Add tests for backup suffixes.
46946
46947 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46948
46949         * modules/stdlib (Depends-on): Add stdint, needed when defining
46950         struct random_data on, for example, HP-UX 10.20.  Reported by
46951         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46952
46953 2009-03-24  Simon Josefsson  <simon@josefsson.org>
46954
46955         * lib/readline.c (readline): Call fflush on stdout after printing
46956         prompt.
46957
46958 2009-03-20  Bruno Haible  <bruno@clisp.org>
46959
46960         Remove dependency from 'close' module to -lws2_32 on native Windows.
46961         * lib/close-hook.h: New file.
46962         * lib/close-hook.c: New file.
46963         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
46964         w32sock.h.
46965         (_gl_close_fd_maybe_socket): Remove function.
46966         (rpl_close): Invoke execute_all_close_hooks instead of
46967         _gl_close_fd_maybe_socket.
46968         * lib/sockets.c: Include close-hook.h, w32sock.h.
46969         (close_fd_maybe_socket): New function, essentially from lib/close.c.
46970         (close_sockets_hook): New variable.
46971         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
46972         (gl_sockets_cleanup): Unregister it.
46973         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
46974         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
46975         * modules/close-hook: New file.
46976         * modules/close (Files): Remove lib/w32sock.h.
46977         (Depends-on): Add close-hook.
46978         (Link): Remove section.
46979         * modules/sockets (Files): Add lib/w32sock.h.
46980         (Depends-on): Add close-hook.
46981         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
46982         invocation.
46983         * NEWS: Mention that LIB_CLOSE is gone.
46984
46985 2009-03-23  Eric Blake  <ebb9@byu.net>
46986
46987         signal-tests: test previous patch
46988         * tests/test-signal.c: New file.
46989         * modules/signal-tests: Likewise.
46990
46991         signal.h: always support 'volatile sig_atomic_t'
46992         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
46993         (gl_SIGNAL_H_DEFAULTS): Add a default.
46994         * modules/signal (Makefile.am): Substitute if needed.
46995         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
46996         users can blindly add volatile.
46997         * doc/posix-headers/signal.texi (signal.h): Document it.
46998         Reported by Matthew Woehlke.
46999
47000 2009-03-23  Jim Meyering  <meyering@redhat.com>
47001
47002         pathmax: PATH_MAX: use pathconf only when available
47003         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
47004         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
47005         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
47006         This avoids a link failure in a PSP cross-compilation environment
47007         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
47008
47009         * lib/vasnprintf.c (divide): Fix typo in comment.
47010
47011 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47012
47013         * gnulib-tool (func_filter_filelist): Fix comment.
47014
47015 2009-03-20  Bruno Haible  <bruno@clisp.org>
47016
47017         Make sockets.h self-contained.
47018         * lib/sockets.c: Include sockets.h first.
47019         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
47020
47021 2009-03-19  Eric Blake  <ebb9@byu.net>
47022
47023         doc: mention more functions added in cygwin 1.7.0
47024         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
47025         addition.
47026         * doc/posix-functions/log2f.texi: Likewise.
47027
47028 2009-03-19  Jim Meyering  <meyering@redhat.com>
47029
47030         fsusage: avoid syntax error due to statement-before-declaration
47031         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
47032         after all declarations.  Reported by Matthew Woehlke in
47033         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
47034
47035 2009-03-18  Eric Blake  <ebb9@byu.net>
47036
47037         build-aux/compile: sync from automake
47038         * build-aux/compile: New file, from automake.
47039         * config/srclist.txt: Mention build-aux/compile.
47040
47041 2009-03-17  Bruno Haible  <bruno@clisp.org>
47042
47043         * lib/git-merge-changelog.c: Fix typo in comment.
47044         Reported by Reuben Thomas <rrt@sc3d.org>.
47045
47046 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
47047
47048         * m4/regex.m4: update and improve help for
47049         --without-included-regex.
47050
47051 2009-03-17  Simon Josefsson  <simon@josefsson.org>
47052
47053         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
47054         failure on missing include files.
47055
47056 2009-03-17  Eric Blake  <ebb9@byu.net>
47057
47058         doc: mention more functions added in cygwin 1.7.0
47059         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
47060         addition.
47061         * doc/posix-functions/fwscanf.texi: Likewise.
47062         * doc/posix-functions/swprintf.texi: Likewise.
47063         * doc/posix-functions/swscanf.texi: Likewise.
47064         * doc/posix-functions/vfwprintf.texi: Likewise.
47065         * doc/posix-functions/vfwscanf.texi: Likewise.
47066         * doc/posix-functions/vswprintf.texi: Likewise.
47067         * doc/posix-functions/vswscanf.texi: Likewise.
47068         * doc/posix-functions/vwprintf.texi: Likewise.
47069         * doc/posix-functions/vwscanf.texi: Likewise.
47070         * doc/posix-functions/wcscasecmp.texi: Likewise.
47071         * doc/posix-functions/wcsdup.texi: Likewise.
47072         * doc/posix-functions/wcsftime.texi: Likewise.
47073         * doc/posix-functions/wcsncasecmp.texi: Likewise.
47074         * doc/posix-functions/wprintf.texi: Likewise.
47075         * doc/posix-functions/wscanf.texi: Likewise.
47076         * doc/glibc-functions/gethostbyname2.texi: Likewise.
47077
47078 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47079
47080         maint.mk: really add $(AM_MAKEFLAGS)
47081         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
47082         was inadvertently omitted in the last commit.
47083         Spotted by Bruno Haible.
47084
47085         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
47086         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
47087         $(AM_MAKEFLAGS)' rather than plain `make'.
47088
47089         gnulib-tool: execute $MAKE not make
47090         * gnulib-tool: Default $MAKE to 'make'.
47091         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
47092         than make.  Initialize $MAKE in the do-autobuild script.
47093
47094         gnulib-tool: use $MAKE not make in generated files
47095         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
47096         make, in generated files.  Initialize $MAKE in the do-autobuild
47097         script.
47098
47099         * top/GNUmakefile (_have-git-version-gen): Fix typo.
47100
47101         GNUmakefile: disable parallelism only for multiple, recursive targets
47102         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
47103         additions in the Makefile.
47104         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
47105         by Automake.
47106         (.NOTPARALLEL): Only disable parallel builds if multiple targets
47107         are listed on the command line and at least one of them is
47108         listed in $(ALL_RECURSIVE_TARGETS).
47109
47110 2009-03-14  Bruno Haible  <bruno@clisp.org>
47111
47112         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
47113         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
47114         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
47115         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
47116         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
47117         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
47118         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
47119         unistr/u8-uctomb.
47120         * modules/unistr/u8-strchr (Depends-on): Likewise.
47121         * modules/unistr/u8-strrchr (Depends-on): Likewise.
47122         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
47123         unistr/u16-uctomb.
47124         * modules/unistr/u16-strchr (Depends-on): Likewise.
47125         * modules/unistr/u16-strrchr (Depends-on): Likewise.
47126
47127 2009-03-12  Bruno Haible  <bruno@clisp.org>
47128
47129         Work around select() bug on Interix 3.5.
47130         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
47131         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
47132         * m4/select.m4: New file.
47133         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
47134         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
47135         * modules/select (Files): Add m4/select.m4.
47136         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
47137         * modules/nanosleep (Depends-on): Add select.
47138         * modules/poll (Depends-on): Likewise.
47139         * doc/posix-functions/select.texi: Mention the Interix bug.
47140         Reported by Markus Duft <mduft@gentoo.org>.
47141
47142         * lib/select.c: Renamed from lib/winsock-select.c.
47143         * modules/select (Files): Add lib/select.c, remove
47144         lib/winsock-select.c.
47145         (configure.ac): Update.
47146
47147 2009-03-12  Jim Meyering  <meyering@redhat.com>
47148
47149         avoid gcc warnings about unused macro definitions
47150         * lib/readtokens.c (STREQ): Remove unused definition.
47151         * lib/xmalloc.c (SIZE_MAX): Likewise.
47152         * lib/openat-die.c (N_): Likewise.
47153         * lib/mountlist.c (SIZE_MAX): Remove definition.
47154         Instead, include <stdint.h>.
47155         * lib/readutmp.c: Likewise.
47156         * modules/readutmp (Depends-on): Add stdint.
47157         * modules/mountlist (Depends-on): Add stdint.
47158         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
47159
47160 2009-03-10  Bruno Haible  <bruno@clisp.org>
47161
47162         Tests for module 'mbmemcasecoll'.
47163         * modules/mbmemcasecoll-tests: New file.
47164         * tests/test-mbmemcasecoll1.sh: New file.
47165         * tests/test-mbmemcasecoll2.sh: New file.
47166         * tests/test-mbmemcasecoll3.sh: New file.
47167         * tests/test-mbmemcasecoll.c: New file.
47168
47169         New module 'mbmemcasecoll'.
47170         * lib/mbmemcasecoll.h: New file.
47171         * lib/mbmemcasecoll.c: New file.
47172         * modules/mbmemcasecoll: New file.
47173
47174         * tests/test-mbmemcasecmp.h: New file, extracted from
47175         tests/test-mbmemcasecmp.c.
47176         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
47177         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
47178         (main): Update.
47179         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
47180
47181 2009-03-09  Bruno Haible  <bruno@clisp.org>
47182
47183         Tests for module 'mbmemcasecmp'.
47184         * modules/mbmemcasecmp-tests: New file.
47185         * tests/test-mbmemcasecmp1.sh: New file.
47186         * tests/test-mbmemcasecmp2.sh: New file.
47187         * tests/test-mbmemcasecmp3.sh: New file.
47188         * tests/test-mbmemcasecmp.c: New file.
47189
47190         New module 'mbmemcasecmp'.
47191         * lib/mbmemcasecmp.h: New file.
47192         * lib/mbmemcasecmp.c: New file.
47193         * modules/mbmemcasecmp: New file.
47194
47195 2009-03-09  Bruno Haible  <bruno@clisp.org>
47196
47197         Tests for module 'unicase/ulc-casecoll'.
47198         * modules/unicase/ulc-casecoll-tests: New file.
47199         * tests/unicase/test-ulc-casecoll1.sh: New file.
47200         * tests/unicase/test-ulc-casecoll2.sh: New file.
47201         * tests/unicase/test-ulc-casecoll.c: New file.
47202
47203         New module 'unicase/ulc-casecoll'.
47204         * lib/unicase.h (ulc_casecoll): New declaration.
47205         * lib/unicase/ulc-casecoll.c: New file.
47206         * modules/unicase/ulc-casecoll: New file.
47207
47208         New module 'unicase/ulc-casexfrm'.
47209         * lib/unicase.h (ulc_casexfrm): New declaration.
47210         * lib/unicase/ulc-casexfrm.c: New file.
47211         * modules/unicase/ulc-casexfrm: New file.
47212
47213 2009-03-09  Bruno Haible  <bruno@clisp.org>
47214
47215         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
47216         invocations.
47217
47218         * m4/mbscasecmp.m4: Remove file.
47219         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
47220         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
47221
47222         * m4/mbscasestr.m4: Remove file.
47223         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
47224         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
47225
47226         * m4/mbschr.m4: Remove file.
47227         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
47228         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
47229
47230         * m4/mbscspn.m4: Remove file.
47231         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
47232         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
47233
47234         * m4/mbslen.m4: Remove file.
47235         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
47236         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
47237
47238         * m4/mbsncasecmp.m4: Remove file.
47239         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
47240         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
47241
47242         * m4/mbsnlen.m4: Remove file.
47243         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
47244         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
47245
47246         * m4/mbspbrk.m4: Remove file.
47247         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
47248         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
47249
47250         * m4/mbspcasecmp.m4: Remove file.
47251         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
47252         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
47253
47254         * m4/mbsrchr.m4: Remove file.
47255         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
47256         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
47257
47258         * m4/mbssep.m4: Remove file.
47259         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
47260         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
47261
47262         * m4/mbsspn.m4: Remove file.
47263         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
47264         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
47265
47266         * m4/mbsstr.m4: Remove file.
47267         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
47268         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
47269
47270         * m4/mbstok_r.m4: Remove file.
47271         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
47272         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
47273
47274         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
47275
47276         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
47277         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
47278
47279         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
47280
47281 2009-03-08  Bruno Haible  <bruno@clisp.org>
47282
47283         Tests for module 'unicase/ulc-casecmp'.
47284         * modules/unicase/ulc-casecmp-tests: New file.
47285         * tests/unicase/test-ulc-casecmp1.sh: New file.
47286         * tests/unicase/test-ulc-casecmp2.sh: New file.
47287         * tests/unicase/test-ulc-casecmp.c: New file.
47288
47289         New module 'unicase/ulc-casecmp'.
47290         * lib/unicase.h (ulc_casecmp): New declaration.
47291         * lib/unicase/ulc-casecmp.c: New file.
47292         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
47293         'const SRC_UNIT *'.
47294         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
47295         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
47296         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
47297         * modules/unicase/ulc-casecmp: New file.
47298
47299         Tests for module 'unicase/u32-is-cased'.
47300         * modules/unicase/u32-is-cased-tests: New file.
47301         * tests/unicase/test-u32-is-cased.c: New file.
47302
47303         Tests for module 'unicase/u16-is-cased'.
47304         * modules/unicase/u16-is-cased-tests: New file.
47305         * tests/unicase/test-u16-is-cased.c: New file.
47306
47307         Tests for module 'unicase/u8-is-cased'.
47308         * modules/unicase/u8-is-cased-tests: New file.
47309         * tests/unicase/test-u8-is-cased.c: New file.
47310         * tests/unicase/test-is-cased.h: New file.
47311
47312         New module 'unicase/u32-is-cased'.
47313         * lib/unicase/u32-is-cased.c: New file.
47314         * modules/unicase/u32-is-cased: New file.
47315
47316         New module 'unicase/u16-is-cased'.
47317         * lib/unicase/u16-is-cased.c: New file.
47318         * modules/unicase/u16-is-cased: New file.
47319
47320         New module 'unicase/u8-is-cased'.
47321         * lib/unicase/u8-is-cased.c: New file.
47322         * lib/unicase/u-is-cased.h: New file.
47323         * modules/unicase/u8-is-cased: New file.
47324
47325         Tests for module 'unicase/u32-is-casefolded'.
47326         * modules/unicase/u32-is-casefolded-tests: New file.
47327         * tests/unicase/test-u32-is-casefolded.c: New file.
47328
47329         Tests for module 'unicase/u16-is-casefolded'.
47330         * modules/unicase/u16-is-casefolded-tests: New file.
47331         * tests/unicase/test-u16-is-casefolded.c: New file.
47332
47333         Tests for module 'unicase/u8-is-casefolded'.
47334         * modules/unicase/u8-is-casefolded-tests: New file.
47335         * tests/unicase/test-u8-is-casefolded.c: New file.
47336         * tests/unicase/test-is-casefolded.h: New file.
47337
47338         New module 'unicase/u32-is-casefolded'.
47339         * lib/unicase/u32-is-casefolded.c: New file.
47340         * modules/unicase/u32-is-casefolded: New file.
47341
47342         New module 'unicase/u16-is-casefolded'.
47343         * lib/unicase/u16-is-casefolded.c: New file.
47344         * modules/unicase/u16-is-casefolded: New file.
47345
47346         New module 'unicase/u8-is-casefolded'.
47347         * lib/unicase/u8-is-casefolded.c: New file.
47348         * modules/unicase/u8-is-casefolded: New file.
47349
47350         Tests for module 'unicase/u32-is-titlecase'.
47351         * modules/unicase/u32-is-titlecase-tests: New file.
47352         * tests/unicase/test-u32-is-titlecase.c: New file.
47353
47354         Tests for module 'unicase/u16-is-titlecase'.
47355         * modules/unicase/u16-is-titlecase-tests: New file.
47356         * tests/unicase/test-u16-is-titlecase.c: New file.
47357
47358         Tests for module 'unicase/u8-is-titlecase'.
47359         * modules/unicase/u8-is-titlecase-tests: New file.
47360         * tests/unicase/test-u8-is-titlecase.c: New file.
47361         * tests/unicase/test-is-titlecase.h: New file.
47362
47363         New module 'unicase/u32-is-titlecase'.
47364         * lib/unicase/u32-is-titlecase.c: New file.
47365         * modules/unicase/u32-is-titlecase: New file.
47366
47367         New module 'unicase/u16-is-titlecase'.
47368         * lib/unicase/u16-is-titlecase.c: New file.
47369         * modules/unicase/u16-is-titlecase: New file.
47370
47371         New module 'unicase/u8-is-titlecase'.
47372         * lib/unicase/u8-is-titlecase.c: New file.
47373         * modules/unicase/u8-is-titlecase: New file.
47374
47375         Tests for module 'unicase/u32-is-lowercase'.
47376         * modules/unicase/u32-is-lowercase-tests: New file.
47377         * tests/unicase/test-u32-is-lowercase.c: New file.
47378
47379         Tests for module 'unicase/u16-is-lowercase'.
47380         * modules/unicase/u16-is-lowercase-tests: New file.
47381         * tests/unicase/test-u16-is-lowercase.c: New file.
47382
47383         Tests for module 'unicase/u8-is-lowercase'.
47384         * modules/unicase/u8-is-lowercase-tests: New file.
47385         * tests/unicase/test-u8-is-lowercase.c: New file.
47386         * tests/unicase/test-is-lowercase.h: New file.
47387
47388         New module 'unicase/u32-is-lowercase'.
47389         * lib/unicase/u32-is-lowercase.c: New file.
47390         * modules/unicase/u32-is-lowercase: New file.
47391
47392         New module 'unicase/u16-is-lowercase'.
47393         * lib/unicase/u16-is-lowercase.c: New file.
47394         * modules/unicase/u16-is-lowercase: New file.
47395
47396         New module 'unicase/u8-is-lowercase'.
47397         * lib/unicase/u8-is-lowercase.c: New file.
47398         * modules/unicase/u8-is-lowercase: New file.
47399
47400         Tests for module 'unicase/u32-is-uppercase'.
47401         * modules/unicase/u32-is-uppercase-tests: New file.
47402         * tests/unicase/test-u32-is-uppercase.c: New file.
47403
47404         Tests for module 'unicase/u16-is-uppercase'.
47405         * modules/unicase/u16-is-uppercase-tests: New file.
47406         * tests/unicase/test-u16-is-uppercase.c: New file.
47407
47408         Tests for module 'unicase/u8-is-uppercase'.
47409         * modules/unicase/u8-is-uppercase-tests: New file.
47410         * tests/unicase/test-u8-is-uppercase.c: New file.
47411         * tests/unicase/test-is-uppercase.h: New file.
47412
47413         New module 'unicase/u32-is-uppercase'.
47414         * lib/unicase/u32-is-uppercase.c: New file.
47415         * modules/unicase/u32-is-uppercase: New file.
47416
47417         New module 'unicase/u16-is-uppercase'.
47418         * lib/unicase/u16-is-uppercase.c: New file.
47419         * modules/unicase/u16-is-uppercase: New file.
47420
47421         New module 'unicase/u8-is-uppercase'.
47422         * lib/unicase/u8-is-uppercase.c: New file.
47423         * modules/unicase/u8-is-uppercase: New file.
47424
47425         New module 'unicase/u32-is-invariant'.
47426         * lib/unicase/u32-is-invariant.c: New file.
47427         * modules/unicase/u32-is-invariant: New file.
47428
47429         New module 'unicase/u16-is-invariant'.
47430         * lib/unicase/u16-is-invariant.c: New file.
47431         * modules/unicase/u16-is-invariant: New file.
47432
47433         New module 'unicase/u8-is-invariant'.
47434         * lib/unicase/u8-is-invariant.c: New file.
47435         * lib/unicase/invariant.h: New file.
47436         * lib/unicase/u-is-invariant.h: New file.
47437         * modules/unicase/u8-is-invariant: New file.
47438
47439         Tests for module 'unicase/u32-casecoll'.
47440         * modules/unicase/u32-casecoll-tests: New file.
47441         * tests/unicase/test-u32-casecoll.c: New file.
47442
47443         Tests for module 'unicase/u16-casecoll'.
47444         * modules/unicase/u16-casecoll-tests: New file.
47445         * tests/unicase/test-u16-casecoll.c: New file.
47446
47447         Tests for module 'unicase/u8-casecoll'.
47448         * modules/unicase/u8-casecoll-tests: New file.
47449         * tests/unicase/test-u8-casecoll.c: New file.
47450
47451         New module 'unicase/u32-casecoll'.
47452         * lib/unicase/u32-casecoll.c: New file.
47453         * modules/unicase/u32-casecoll: New file.
47454
47455         New module 'unicase/u16-casecoll'.
47456         * lib/unicase/u16-casecoll.c: New file.
47457         * modules/unicase/u16-casecoll: New file.
47458
47459         New module 'unicase/u8-casecoll'.
47460         * lib/unicase/u8-casecoll.c: New file.
47461         * lib/unicase/u-casecoll.h: New file.
47462         * modules/unicase/u8-casecoll: New file.
47463
47464         New module 'unicase/u32-casexfrm'.
47465         * lib/unicase/u32-casexfrm.c: New file.
47466         * modules/unicase/u32-casexfrm: New file.
47467
47468         New module 'unicase/u16-casexfrm'.
47469         * lib/unicase/u16-casexfrm.c: New file.
47470         * modules/unicase/u16-casexfrm: New file.
47471
47472         New module 'unicase/u8-casexfrm'.
47473         * lib/unicase/u8-casexfrm.c: New file.
47474         * lib/unicase/u-casexfrm.h: New file.
47475         * modules/unicase/u8-casexfrm: New file.
47476
47477         Tests for module 'unicase/u32-casecmp'.
47478         * modules/unicase/u32-casecmp-tests: New file.
47479         * tests/unicase/test-u32-casecmp.c: New file.
47480
47481         Tests for module 'unicase/u16-casecmp'.
47482         * modules/unicase/u16-casecmp-tests: New file.
47483         * tests/unicase/test-u16-casecmp.c: New file.
47484
47485         Tests for module 'unicase/u8-casecmp'.
47486         * modules/unicase/u8-casecmp-tests: New file.
47487         * tests/unicase/test-u8-casecmp.c: New file.
47488         * tests/unicase/test-casecmp.h: New file.
47489
47490         New module 'unicase/u32-casecmp'.
47491         * lib/unicase/u32-casecmp.c: New file.
47492         * modules/unicase/u32-casecmp: New file.
47493
47494         New module 'unicase/u16-casecmp'.
47495         * lib/unicase/u16-casecmp.c: New file.
47496         * modules/unicase/u16-casecmp: New file.
47497
47498         New module 'unicase/u8-casecmp'.
47499         * lib/unicase/u8-casecmp.c: New file.
47500         * lib/unicase/u-casecmp.h: New file.
47501         * modules/unicase/u8-casecmp: New file.
47502
47503         Tests for module 'unicase/u32-casefold'.
47504         * modules/unicase/u32-casefold-tests: New file.
47505         * tests/unicase/test-u32-casefold.c: New file.
47506
47507         Tests for module 'unicase/u16-casefold'.
47508         * modules/unicase/u16-casefold-tests: New file.
47509         * tests/unicase/test-u16-casefold.c: New file.
47510
47511         Tests for module 'unicase/u8-casefold'.
47512         * modules/unicase/u8-casefold-tests: New file.
47513         * tests/unicase/test-u8-casefold.c: New file.
47514
47515         New module 'unicase/u32-casefold'.
47516         * lib/unicase/u32-casefold.c: New file.
47517         * modules/unicase/u32-casefold: New file.
47518
47519         New module 'unicase/u16-casefold'.
47520         * lib/unicase/u16-casefold.c: New file.
47521         * modules/unicase/u16-casefold: New file.
47522
47523         New module 'unicase/u8-casefold'.
47524         * lib/unicase/u8-casefold.c: New file.
47525         * lib/unicase/u-casefold.h: New file.
47526         * modules/unicase/u8-casefold: New file.
47527
47528         New module 'unicase/tocasefold'.
47529         * lib/unicase/casefold.h: New file.
47530         * lib/unicase/tocasefold.c: New file.
47531         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
47532         * modules/unicase/tocasefold: New file.
47533
47534         Tests for module 'unicase/u32-totitle'.
47535         * modules/unicase/u32-totitle-tests: New file.
47536         * tests/unicase/test-u32-totitle.c: New file.
47537
47538         Tests for module 'unicase/u16-totitle'.
47539         * modules/unicase/u16-totitle-tests: New file.
47540         * tests/unicase/test-u16-totitle.c: New file.
47541
47542         Tests for module 'unicase/u8-totitle'.
47543         * modules/unicase/u8-totitle-tests: New file.
47544         * tests/unicase/test-u8-totitle.c: New file.
47545
47546         New module 'unicase/u32-totitle'.
47547         * lib/unicase/u32-totitle.c: New file.
47548         * modules/unicase/u32-totitle: New file.
47549
47550         New module 'unicase/u16-totitle'.
47551         * lib/unicase/u16-totitle.c: New file.
47552         * modules/unicase/u16-totitle: New file.
47553
47554         New module 'unicase/u8-totitle'.
47555         * lib/unicase/u8-totitle.c: New file.
47556         * lib/unicase/u-totitle.h: New file.
47557         * modules/unicase/u8-totitle: New file.
47558
47559         Tests for module 'unicase/u32-tolower'.
47560         * modules/unicase/u32-tolower-tests: New file.
47561         * tests/unicase/test-u32-tolower.c: New file.
47562
47563         Tests for module 'unicase/u16-tolower'.
47564         * modules/unicase/u16-tolower-tests: New file.
47565         * tests/unicase/test-u16-tolower.c: New file.
47566
47567         Tests for module 'unicase/u8-tolower'.
47568         * modules/unicase/u8-tolower-tests: New file.
47569         * tests/unicase/test-u8-tolower.c: New file.
47570
47571         New module 'unicase/u32-tolower'.
47572         * lib/unicase/u32-tolower.c: New file.
47573         * modules/unicase/u32-tolower: New file.
47574
47575         New module 'unicase/u16-tolower'.
47576         * lib/unicase/u16-tolower.c: New file.
47577         * modules/unicase/u16-tolower: New file.
47578
47579         New module 'unicase/u8-tolower'.
47580         * lib/unicase/u8-tolower.c: New file.
47581         * modules/unicase/u8-tolower: New file.
47582
47583         Tests for module 'unicase/u32-toupper'.
47584         * modules/unicase/u32-toupper-tests: New file.
47585         * tests/unicase/test-u32-toupper.c: New file.
47586
47587         Tests for module 'unicase/u16-toupper'.
47588         * modules/unicase/u16-toupper-tests: New file.
47589         * tests/unicase/test-u16-toupper.c: New file.
47590
47591         Tests for module 'unicase/u8-toupper'.
47592         * modules/unicase/u8-toupper-tests: New file.
47593         * tests/unicase/test-u8-toupper.c: New file.
47594
47595         New module 'unicase/u32-toupper'.
47596         * lib/unicase/u32-toupper.c: New file.
47597         * modules/unicase/u32-toupper: New file.
47598
47599         New module 'unicase/u16-toupper'.
47600         * lib/unicase/u16-toupper.c: New file.
47601         * modules/unicase/u16-toupper: New file.
47602
47603         New module 'unicase/u8-toupper'.
47604         * lib/unicase/u8-toupper.c: New file.
47605         * modules/unicase/u8-toupper: New file.
47606
47607         New module 'unicase/u32-casemap'.
47608         * lib/unicase/u32-casemap.c: New file.
47609         * modules/unicase/u32-casemap: New file.
47610
47611         New module 'unicase/u16-casemap'.
47612         * lib/unicase/u16-casemap.c: New file.
47613         * modules/unicase/u16-casemap: New file.
47614
47615         New module 'unicase/u8-casemap'.
47616         * lib/unicase/unicasemap.h: New file.
47617         * lib/unicase/u8-casemap.c: New file.
47618         * lib/unicase/u-casemap.h: New file.
47619         * modules/unicase/u8-casemap: New file.
47620
47621         New module 'unicase/special-casing'.
47622         * lib/unicase/special-casing.h: New file.
47623         * lib/unicase/special-casing.c: New file.
47624         * lib/unicase/special-casing-table.gperf: New file, generated by
47625         gen-uni-tables.c.
47626         * modules/unicase/special-casing: New file.
47627
47628         Tests for module 'unicase/locale-language'.
47629         * modules/unicase/locale-language-tests: New file.
47630         * tests/unicase/test-locale-language.sh: New file.
47631         * tests/unicase/test-locale-language.c: New file.
47632
47633         New module 'unicase/locale-language'.
47634         * lib/unicase/locale-language.c: New file.
47635         * lib/unicase/locale-languages.gperf: New file.
47636         * modules/unicase/locale-language: New file.
47637
47638         Generate more tables for case conversion and case folding.
47639         * lib/gen-uni-tables.c (SCC_*): New enum items.
47640         (struct special_casing_rule): New type.
47641         (casing_rules, num_casing_rules, allocated_casing_rules): New
47642         variables.
47643         (add_casing_rule, fill_casing_rules): New functions.
47644         (struct casefold_rule): New type.
47645         (casefolding_rules, num_casefolding_rules,
47646         allocated_casefolding_rules): New variables.
47647         (fill_casefolding_rules): New function.
47648         (unicode_casefold): New variable.
47649         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
47650         sort_casing_rules, output_casing_rules): New functions.
47651         (main): Accept to more arguments: SpecialCasing.txt and
47652         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
47653         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
47654         Output mapping for casefolding.
47655
47656         * lib/unicase.h: Include stdbool.h, uninorm.h.
47657         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
47658         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
47659         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
47660         arguments.
47661         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
47662         resultp arguments.
47663         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
47664         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
47665         resultp arguments.
47666         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
47667         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
47668         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
47669         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
47670         declarations.
47671         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
47672
47673 2009-03-08  Bruno Haible  <bruno@clisp.org>
47674
47675         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47676         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
47677         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
47678         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47679
47680 2009-03-07  Bruno Haible  <bruno@clisp.org>
47681
47682         Adjust u*_normcmp, u*_normcoll API.
47683         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
47684         u16_normcoll, u32_normcoll): Change failure conventions.
47685         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
47686         errno and return -1.
47687         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
47688
47689 2009-03-07  Bruno Haible  <bruno@clisp.org>
47690
47691         Tests for module 'uninorm/u32-normcoll'.
47692         * modules/uninorm/u32-normcoll-tests: New file.
47693         * tests/uninorm/test-u32-normcoll.c: New file.
47694
47695         Tests for module 'uninorm/u16-normcoll'.
47696         * modules/uninorm/u16-normcoll-tests: New file.
47697         * tests/uninorm/test-u16-normcoll.c: New file.
47698
47699         Tests for module 'uninorm/u8-normcoll'.
47700         * modules/uninorm/u8-normcoll-tests: New file.
47701         * tests/uninorm/test-u8-normcoll.c: New file.
47702
47703 2009-03-07  Bruno Haible  <bruno@clisp.org>
47704
47705         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
47706         tests/uninorm/test-u32-normcmp.c.
47707         * tests/uninorm/test-u32-normcmp.c: Include it.
47708         (test_nonascii): New function, extracted from main. Add some more
47709         tests.
47710         (main): Invoke test_ascii and test_nonascii.
47711         * modules/uninorm/u32-normcmp-tests (Files): Add
47712         tests/uninorm/test-u32-normcmp.h.
47713         (Depends-on): Remove uninorm/u32-normcmp.
47714
47715         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
47716         tests/uninorm/test-u16-normcmp.c.
47717         * tests/uninorm/test-u16-normcmp.c: Include it.
47718         (test_nonascii): New function, extracted from main. Add some more
47719         tests.
47720         (main): Invoke test_ascii and test_nonascii.
47721         * modules/uninorm/u16-normcmp-tests (Files): Add
47722         tests/uninorm/test-u16-normcmp.h.
47723         (Depends-on): Remove uninorm/u16-normcmp.
47724
47725         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
47726         tests/uninorm/test-u8-normcmp.c.
47727         * tests/uninorm/test-u8-normcmp.c: Include it.
47728         (test_nonascii): New function, extracted from main. Add some more
47729         tests.
47730         (main): Invoke test_ascii and test_nonascii.
47731         * modules/uninorm/u8-normcmp-tests (Files): Add
47732         tests/uninorm/test-u8-normcmp.h.
47733         (Depends-on): Remove uninorm/u8-normcmp.
47734
47735 2009-03-07  Bruno Haible  <bruno@clisp.org>
47736
47737         New module 'uninorm/u32-normcoll'.
47738         * lib/uninorm/u32-normcoll.c: New file.
47739         * modules/uninorm/u32-normcoll: New file.
47740
47741         New module 'uninorm/u16-normcoll'.
47742         * lib/uninorm/u16-normcoll.c: New file.
47743         * modules/uninorm/u16-normcoll: New file.
47744
47745         New module 'uninorm/u8-normcoll'.
47746         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
47747         declarations.
47748         * lib/uninorm/u8-normcoll.c: New file.
47749         * lib/uninorm/u-normcoll.h: New file.
47750         * modules/uninorm/u8-normcoll: New file.
47751
47752         New module 'uninorm/u32-normxfrm'.
47753         * lib/uninorm/u32-normxfrm.c: New file.
47754         * modules/uninorm/u32-normxfrm: New file.
47755
47756         New module 'uninorm/u16-normxfrm'.
47757         * lib/uninorm/u16-normxfrm.c: New file.
47758         * modules/uninorm/u16-normxfrm: New file.
47759
47760         New module 'uninorm/u8-normxfrm'.
47761         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
47762         declarations.
47763         * lib/uninorm/u8-normxfrm.c: New file.
47764         * lib/uninorm/u-normxfrm.h: New file.
47765         * modules/uninorm/u8-normxfrm: New file.
47766
47767 2009-03-07  Bruno Haible  <bruno@clisp.org>
47768
47769         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
47770         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
47771         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
47772
47773 2009-03-07  Bruno Haible  <bruno@clisp.org>
47774
47775         New module 'memxfrm'.
47776         * lib/memxfrm.h: New file.
47777         * lib/memxfrm.c: New file.
47778         * modules/memxfrm: New file.
47779
47780 2009-03-07  Bruno Haible  <bruno@clisp.org>
47781
47782         New module 'memcmp2'.
47783         * lib/memcmp2.h: New file.
47784         * lib/memcmp2.c: New file.
47785         * modules/memcmp2: New file.
47786
47787 2009-03-07  Bruno Haible  <bruno@clisp.org>
47788
47789         Tests for module 'uninorm/decomposing-form'.
47790         * modules/uninorm/decomposing-form-tests: New file.
47791         * tests/uninorm/test-decomposing-form.c: New file.
47792
47793         New module 'uninorm/decomposing-form'.
47794         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
47795         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
47796         Add 'decomposing_variant' field.
47797         * lib/uninorm/decomposing-form.c: New file.
47798         * lib/uninorm/nfc.c (uninorm_nfc): Update.
47799         * lib/uninorm/nfd.c (uninorm_nfd): Update.
47800         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
47801         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
47802         * modules/uninorm/decomposing-form: New file.
47803         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
47804         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
47805
47806 2009-03-07  Bruno Haible  <bruno@clisp.org>
47807
47808         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
47809         strings.
47810
47811 2009-03-06  Bruno Haible  <bruno@clisp.org>
47812
47813         Tests for module 'uninorm/u32-normcmp'.
47814         * tests/uninorm/test-u32-normcmp.c: New file.
47815         * modules/uninorm/u32-normcmp-tests: New file.
47816
47817         Tests for module 'uninorm/u16-normcmp'.
47818         * tests/uninorm/test-u16-normcmp.c: New file.
47819         * modules/uninorm/u16-normcmp-tests: New file.
47820
47821         Tests for module 'uninorm/u8-normcmp'.
47822         * tests/uninorm/test-u8-normcmp.c: New file.
47823         * modules/uninorm/u8-normcmp-tests: New file.
47824
47825         New module 'uninorm/u32-normcmp'.
47826         * lib/uninorm/u32-normcmp.c: New file.
47827         * modules/uninorm/u32-normcmp: New file.
47828
47829         New module 'uninorm/u16-normcmp'.
47830         * lib/uninorm/u16-normcmp.c: New file.
47831         * modules/uninorm/u16-normcmp: New file.
47832
47833         New module 'uninorm/u8-normcmp'.
47834         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
47835         declarations.
47836         * lib/uninorm/u8-normcmp.c: New file.
47837         * lib/uninorm/u-normcmp.h: New file.
47838         * modules/uninorm/u8-normcmp: New file.
47839
47840 2009-03-06  Bruno Haible  <bruno@clisp.org>
47841
47842         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
47843         Reported by Eric Blake.
47844
47845 2009-03-06  Eric Blake  <ebb9@byu.net>
47846             Bruno Haible  <bruno@clisp.org>
47847
47848         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
47849         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
47850         condition.
47851         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47852         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
47853         condition.
47854         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
47855
47856 2009-03-06  Eric Blake  <ebb9@byu.net>
47857
47858         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
47859         to avoid compiler warnings.
47860         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
47861
47862 2009-03-05  Bruno Haible  <bruno@clisp.org>
47863
47864         * tests/test-ftell.c (main): Disable test beyond end of file on
47865         FreeMiNT.
47866         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
47867
47868 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
47869
47870         * lib/filevercmp.c: Move hidden files up in ordering.
47871         * tests/test-filevercmp.c: Add tests for hidden files.
47872
47873 2009-03-04  Bruno Haible  <bruno@clisp.org>
47874
47875         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
47876         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
47877         AM_CFLAGS.
47878         Reported by Simon Josefsson.
47879
47880 2009-03-03  Bruno Haible  <bruno@clisp.org>
47881
47882         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
47883         Reported by Simon Josefsson.
47884
47885         * doc/ld-version-script.texi: Update node reference.
47886
47887 2009-03-03  Bruno Haible  <bruno@clisp.org>
47888
47889         * modules/visibility (License): Change to 'unlimited'.
47890         Suggested by Simon Josefsson.
47891
47892 2009-03-03  Jim Meyering  <meyering@redhat.com>
47893
47894         unlinkdir: cannot_unlink_dir may modify process state
47895         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
47896         it's neither thread-safe nor appropriate for use in a library.
47897
47898 2009-03-03  Eric Blake  <ebb9@byu.net>
47899
47900         test-closein: silence test under Darwin
47901         * tests/test-closein.sh: Ignore stderr from cat, since we don't
47902         care if it dies from EPIPE or EBADF.
47903
47904 2009-03-03  Bruno Haible  <bruno@clisp.org>
47905
47906         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
47907         earlier.
47908         * doc/visibility.texi: Fix @node and @section.
47909
47910 2009-03-03  Simon Josefsson  <simon@josefsson.org>
47911
47912         * doc/gnulib.texi: Link to sections for ld version script and
47913         visibility.
47914         * doc/visibility.texi: Add @node and @section.
47915         * modules/ld-version-script: New module.
47916         * m4/ld-version-script.m4: New file.
47917         * doc/ld-version-script.texi: New file.
47918
47919 2009-03-02  David Lutterkort  <lutter@redhat.com>
47920
47921         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
47922         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47923
47924 2009-03-02  Bruno Haible  <bruno@clisp.org>
47925
47926         * doc/visibility.texi: Mention libtool's -export-symbols option.
47927
47928 2009-03-02  Jim Meyering  <meyering@redhat.com>
47929
47930         announce-gen: new option: --no-print-checksums
47931         * build-aux/announce-gen (usage): Describe it.
47932         (print_checksums): Print a newline here, not in the [*] footnote.
47933         (main): Honor it.
47934
47935 2009-03-01  Bruno Haible  <bruno@clisp.org>
47936
47937         Use socklen_t in the native Windows replacements prototypes.
47938         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
47939         instead of 'int'.
47940         * lib/getsockopt.c (rpl_getsockopt): Likewise.
47941         * lib/setsockopt.c (rpl_setsockopt): Likewise.
47942         * modules/getsockopt (Depends-on): Add socklen.
47943         * modules/setsockopt (Depends-on): Add socklen.
47944
47945 2009-03-01  Bruno Haible  <bruno@clisp.org>
47946
47947         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
47948         least 4.2.
47949
47950 2009-03-01  Eric Blake  <ebb9@byu.net>
47951             Bruno Haible  <bruno@clisp.org>
47952
47953         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
47954         error messages.
47955         * lib/wait-process.c (wait_subprocess): Omit error message about
47956         deadly signal sent to the child of termsigp != NULL.
47957
47958 2009-03-01  Eric Blake  <ebb9@byu.net>
47959
47960         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
47961
47962 2009-03-01  Bruno Haible  <bruno@clisp.org>
47963
47964         Avoid a gcc warning.
47965         * tests/test-sched.c (b): Make global.
47966         Reported by Eric Blake.
47967
47968 2009-01-19  Martin Lambers  <marlam@marlam.de>
47969
47970         Provide POSIX semantics for socket timeout options on W32.
47971         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
47972         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
47973         * modules/setsockopt: Depend on sys_time module for struct timeval.
47974         * modules/getsockopt: Depend on sys_time module for struct timeval.
47975
47976 2009-03-01  Simon Josefsson  <simon@josefsson.org>
47977
47978         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
47979         __USE_GNU, for consistency with netdb.in.h.
47980         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47981
47982 2009-03-01  Bruno Haible  <bruno@clisp.org>
47983
47984         More support for FreeMiNT.
47985         * lib/fseeko.c (rpl_fseeko): Complete last commit.
47986         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47987
47988 2009-03-01  Bruno Haible  <bruno@clisp.org>
47989
47990         More support for FreeMiNT.
47991         * lib/fpurge.c (fpurge): Correct last commit.
47992         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
47993
47994 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47995
47996         Fix unportable awk script in vc-list-files.
47997         * build-aux/vc-list-files: In the replacement awk script, use
47998         substr with a second argument of 1, not zero.
47999         Report by Simon Josefsson.
48000
48001 2009-02-28  Bruno Haible  <bruno@clisp.org>
48002
48003         More support for FreeMiNT.
48004         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
48005         to FreeMiNT today.
48006         * lib/fwriting.c (fwriting): Likewise.
48007         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
48008
48009 2009-02-28  Bruno Haible  <bruno@clisp.org>
48010
48011         * tests/test-freadseek.c (main): Disable test beyond end of file on
48012         FreeMiNT.
48013         * tests/test-ftello.c (main): Likewise.
48014         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
48015
48016 2009-02-28  Bruno Haible  <bruno@clisp.org>
48017
48018         Add tentative support for FreeMiNT.
48019         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
48020         * lib/fpurge.c (fpurge): Likewise.
48021         * lib/freadable.c (freadable): Likewise.
48022         * lib/freading.c (freading): Likewise.
48023         * lib/freadptr.c (freadptr): Likewise.
48024         * lib/freadseek.c (freadptrinc): Likewise.
48025         * lib/fseeko.c (rpl_fseeko): Likewise.
48026         * lib/fseterr.c (fseterr): Likewise.
48027         * lib/fwritable.c (fwritable): Likewise.
48028         * lib/fwriting.c (fwriting): Likewise.
48029         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
48030         Hourihane.
48031         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
48032
48033 2009-02-28  Bruno Haible  <bruno@clisp.org>
48034
48035         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
48036         SIGCHLD.
48037         Reported by Jim Meyering.
48038
48039 2009-02-28  Bruno Haible  <bruno@clisp.org>
48040
48041         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
48042         Mention the results of these tests on various platforms.
48043         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
48044         order.
48045         * doc/posix-functions/printf.texi: Likewise.
48046         * doc/posix-functions/snprintf.texi: Likewise.
48047         * doc/posix-functions/sprintf.texi: Likewise.
48048         * doc/posix-functions/vfprintf.texi: Likewise.
48049         * doc/posix-functions/vprintf.texi: Likewise.
48050         * doc/posix-functions/vsnprintf.texi: Likewise.
48051         * doc/posix-functions/vsprintf.texi: Likewise.
48052         * doc/glibc-functions/obstack_printf.texi: Likewise.
48053         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
48054
48055 2009-02-28  Bruno Haible  <bruno@clisp.org>
48056
48057         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
48058         Reported by Loïc Minier <lool@dooz.org>.
48059
48060 2009-02-27  Bruno Haible  <bruno@clisp.org>
48061
48062         * gnulib-tool (func_import): Make the sed expression used to create the
48063         sed script for updating the .gitignore file POSIX compliant.
48064         Reported by Eric Blake.
48065
48066 2009-02-27  Bruno Haible  <bruno@clisp.org>
48067
48068         * gnulib-tool (sed): Don't alias as "sed --posix".
48069         Reported by Eric Blake.
48070
48071 2009-02-27  Bruno Haible  <bruno@clisp.org>
48072
48073         Avoid test link errors.
48074         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
48075         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
48076         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
48077         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
48078         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48079
48080 2009-02-27  Bruno Haible  <bruno@clisp.org>
48081
48082         Avoid spurious "(cached)" in configure output.
48083         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
48084         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
48085         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
48086         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
48087         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
48088         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
48089         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
48090         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
48091         Reported by Eric Blake.
48092
48093 2009-02-27  Eric Blake  <ebb9@byu.net>
48094
48095         printf: fix regression in previous patch
48096         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
48097
48098 2009-02-27  Bruno Haible  <bruno@clisp.org>
48099
48100         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
48101         value.
48102         * lib/stdint.in.h: Likewise.
48103         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
48104
48105 2009-02-27  Eric Blake  <ebb9@byu.net>
48106
48107         doc: mention more functions added in cygwin 1.7.0
48108         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
48109         addition.
48110         * doc/posix-functions/open_wmemstream.texi: Likewise.
48111         * doc/posix-functions/wcsnlen.texi: Likewise.
48112         * doc/posix-functions/wcsnrtombs.texi: Likewise.
48113         * doc/posix-functions/wcstod.texi: Likewise.
48114         * doc/posix-functions/wcstof.texi: Likewise.
48115         * doc/posix-functions/wcstoimax.texi: Likewise.
48116         * doc/posix-functions/wcstok.texi: Likewise.
48117         * doc/posix-functions/wcstoumax.texi: Likewise.
48118
48119         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
48120         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
48121         * doc/posix-functions/fprintf.texi: Update.
48122         * doc/posix-functions/printf.texi: Update.
48123         * doc/posix-functions/snprintf.texi: Update.
48124         * doc/posix-functions/sprintf.texi: Update.
48125         * doc/posix-functions/vfprintf.texi: Update.
48126         * doc/posix-functions/vprintf.texi: Update.
48127         * doc/posix-functions/vsnprintf.texi: Update.
48128         * doc/posix-functions/vsprintf.texi: Update.
48129         * doc/glibc-functions/obstack_printf.texi: Update.
48130         * doc/glibc-functions/obstack_vprintf.texi: Update.
48131
48132 2009-02-26  Eric Blake  <ebb9@byu.net>
48133
48134         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
48135         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
48136         compilation bug by using runtime conversion.
48137         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48138         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
48139         * modules/ceill-tests (Files): Use nan.h.
48140         * modules/floorl-tests (Files): Likewise.
48141         * modules/frexpl-tests (Files): Likewise.
48142         * modules/isnanl-tests (Files): Likewise.
48143         * modules/ldexpl-tests (Files): Likewise.
48144         * modules/roundl-tests (Files): Likewise.
48145         * modules/truncl-tests (Files): Likewise.
48146         * tests/test-ceill.c (main): Use a working NaN.
48147         * tests/test-floorl.c (main): Likewise.
48148         * tests/test-frexpl.c (main): Likewise.
48149         * tests/test-isnan.c (test_long_double): Likewise.
48150         * tests/test-isnanl.h (main): Likewise.
48151         * tests/test-ldexpl.h (main): Likewise.
48152         * tests/test-roundl.h (main): Likewise.
48153         * tests/test-truncl.h (main): Likewise.
48154         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
48155
48156 2009-02-26  Eric Blake  <ebb9@byu.net>
48157             Bruno Haible  <bruno@clisp.org>
48158
48159         Work around a *printf bug with %ls on Solaris.
48160         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
48161         precision is specified, sprintf stops converting the wide string
48162         argument when the number of bytes that have been produced by this
48163         conversion equals or exceeds the precision.
48164         * doc/posix-functions/fprintf.texi: Update.
48165         * doc/posix-functions/printf.texi: Update.
48166         * doc/posix-functions/snprintf.texi: Update.
48167         * doc/posix-functions/sprintf.texi: Update.
48168         * doc/posix-functions/vfprintf.texi: Update.
48169         * doc/posix-functions/vprintf.texi: Update.
48170         * doc/posix-functions/vsnprintf.texi: Update.
48171         * doc/posix-functions/vsprintf.texi: Update.
48172         * doc/glibc-functions/obstack_printf.texi: Update.
48173         * doc/glibc-functions/obstack_vprintf.texi: Update.
48174
48175 2009-02-26  Eric Blake  <ebb9@byu.net>
48176
48177         stdlib: favor compiler check of random.h
48178         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
48179         to avoid an ObjC random.h installed by Swarm.
48180
48181 2009-02-26  Bruno Haible  <bruno@clisp.org>
48182
48183         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
48184         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
48185         Reported by Gary V. Vaughan <gary@gnu.org>.
48186
48187 2009-02-26  Bruno Haible  <bruno@clisp.org>
48188
48189         Fix *printf behaviour regarding the %ls directive.
48190         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
48191         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
48192         NEED_PRINTF_DIRECTIVE_LS.
48193         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
48194         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
48195         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
48196         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
48197         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
48198         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
48199         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
48200         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
48201         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
48202         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
48203         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
48204         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
48205         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
48206         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
48207         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
48208         * doc/posix-functions/fprintf.texi: Update.
48209         * doc/posix-functions/printf.texi: Update.
48210         * doc/posix-functions/snprintf.texi: Update.
48211         * doc/posix-functions/sprintf.texi: Update.
48212         * doc/posix-functions/vfprintf.texi: Update.
48213         * doc/posix-functions/vprintf.texi: Update.
48214         * doc/posix-functions/vsnprintf.texi: Update.
48215         * doc/posix-functions/vsprintf.texi: Update.
48216         * doc/glibc-functions/obstack_printf.texi: Update.
48217         * doc/glibc-functions/obstack_vprintf.texi: Update.
48218         Reported by Eric Blake.
48219
48220 2009-02-25  Bruno Haible  <bruno@clisp.org>
48221
48222         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
48223         with known value.
48224         Reported by Gary V. Vaughan <gary@gnu.org>.
48225
48226 2009-02-25  Bruno Haible  <bruno@clisp.org>
48227
48228         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
48229         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
48230         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
48231         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
48232         Reported by Gary V. Vaughan <gary@gnu.org>.
48233
48234 2009-02-25  Bruno Haible  <bruno@clisp.org>
48235
48236         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
48237         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
48238         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
48239         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
48240         Reported by Gary V. Vaughan <gary@gnu.org>.
48241
48242 2009-02-25  Eric Blake  <ebb9@byu.net>
48243
48244         tests: skip fseek/ftell tests if ungetc is broken
48245         * m4/ungetc.m4: New file.
48246         * modules/fseek-tests: Split test, so ungetc dependency is
48247         separate from rest of test.
48248         * modules/fseeko-tests: Likewise.
48249         * modules/ftell-tests: Likewise.
48250         * modules/ftello-tests: Likewise.
48251         * tests/test-fseek.c (main): Isolate ungetc dependency.
48252         * tests/test-fseeko.c (main): Likewise.
48253         * tests/test-ftell.c (main): Likewise.
48254         * tests/test-ftello.c (main): Likewise.
48255         * tests/test-fseek2.sh: New file.
48256         * tests/test-fseeko2.sh: Likewise.
48257         * tests/test-ftell2.sh: Likewise.
48258         * tests/test-ftello2.sh: Likewise.
48259
48260 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
48261
48262         test-getaddrinfo: fix usage of skip return code 77
48263         * tests/test-gettaddrinfo.c: Return skip code 77 only
48264         for first occurrence of skip (4x77 is not 77)
48265
48266 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
48267
48268         strtod: avoid C99 decl-after-statement
48269         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
48270
48271 2009-02-24  Eric Blake  <ebb9@byu.net>
48272
48273         strtod: detect HP-UX 11.31 bug
48274         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
48275         Reported by Gary V. Vaughan.
48276
48277 2009-02-23  Bruno Haible  <bruno@clisp.org>
48278
48279         Fix invalid read past end of memory block.
48280         * lib/vasnprintf.c (DCHAR_SET): Define.
48281         (local_wcslen): Define only when needed.
48282         (local_strnlen, local_wcsnlen): New functions.
48283         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
48284         directives that involve a conversion ourselves.
48285         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
48286         wcsnlen, mbrtowc, wcrtomb.
48287         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
48288         * tests/test-vasprintf-posix.c (test_function): Likewise.
48289         * tests/test-snprintf-posix.h (test_function): Likewise.
48290         * tests/test-sprintf-posix.h (test_function): Likewise.
48291         Reported by Ben Pfaff <blp@cs.stanford.edu>.
48292
48293 2009-02-22  Bruno Haible  <bruno@clisp.org>
48294
48295         Implement new clarified decomposition of Hangul syllables.
48296         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
48297         of type LTV, return only a pairwise decomposition.
48298         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
48299         Likewise.
48300         * tests/uninorm/test-decomposition.c (main): Updated expected result.
48301         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
48302         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
48303
48304 2009-02-22  Bruno Haible  <bruno@clisp.org>
48305
48306         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
48307         zero-length results and shrink excess allocated memory.
48308         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
48309         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
48310         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
48311         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
48312         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
48313         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
48314         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
48315         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
48316         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
48317         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
48318         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
48319         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
48320
48321 2009-02-21  Bruno Haible  <bruno@clisp.org>
48322
48323         * doc/gnulib.texi: Include safe-alloc.texi earlier.
48324         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
48325         spaces after a period. Put a space between a macro name and its
48326         argument list. Trivial rewordings.
48327         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
48328         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
48329         (main): Return 0 explicitly.
48330
48331 2009-02-21  Bruno Haible  <bruno@clisp.org>
48332
48333         Tests for module 'uninorm/filter'.
48334         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
48335         * modules/uninorm/filter-tests: New file.
48336
48337         New module 'uninorm/filter'.
48338         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
48339         uninorm_filter_flush, uninorm_filter_free): New declarations.
48340         * lib/uninorm/uninorm-filter.c: New file.
48341         * modules/uninorm/filter: New file.
48342
48343 2009-02-21  Bruno Haible  <bruno@clisp.org>
48344
48345         Tests for module 'uninorm/nfkc'.
48346         * tests/uninorm/test-nfkc.c: New file.
48347         * tests/uninorm/test-u8-nfkc.c: New file.
48348         * tests/uninorm/test-u16-nfkc.c: New file.
48349         * tests/uninorm/test-u32-nfkc.c: New file.
48350         * tests/uninorm/test-u32-nfkc-big.sh: New file.
48351         * tests/uninorm/test-u32-nfkc-big.c: New file.
48352         * modules/uninorm/nfkc-tests: New file.
48353
48354         New module 'uninorm/nfkc'.
48355         * lib/uninorm/nfkc.c: New file.
48356         * modules/uninorm/nfkc: New file.
48357
48358         Tests for module 'uninorm/nfkd'.
48359         * tests/uninorm/test-nfkd.c: New file.
48360         * tests/uninorm/test-u8-nfkd.c: New file.
48361         * tests/uninorm/test-u16-nfkd.c: New file.
48362         * tests/uninorm/test-u32-nfkd.c: New file.
48363         * tests/uninorm/test-u32-nfkd-big.sh: New file.
48364         * tests/uninorm/test-u32-nfkd-big.c: New file.
48365         * modules/uninorm/nfkd-tests: New file.
48366
48367         New module 'uninorm/nfkd'.
48368         * lib/uninorm/nfkd.c: New file.
48369         * modules/uninorm/nfkd: New file.
48370
48371         Tests for module 'uninorm/nfc'.
48372         * tests/uninorm/test-nfc.c: New file.
48373         * tests/uninorm/test-u8-nfc.c: New file.
48374         * tests/uninorm/test-u16-nfc.c: New file.
48375         * tests/uninorm/test-u32-nfc.c: New file.
48376         * tests/uninorm/test-u32-nfc-big.sh: New file.
48377         * tests/uninorm/test-u32-nfc-big.c: New file.
48378         * modules/uninorm/nfc-tests: New file.
48379
48380         New module 'uninorm/nfc'.
48381         * lib/uninorm/nfc.c: New file.
48382         * modules/uninorm/nfc: New file.
48383
48384         Tests for module 'uninorm/nfd'.
48385         * tests/uninorm/test-nfd.c: New file.
48386         * tests/uninorm/test-u8-nfd.c: New file.
48387         * tests/uninorm/test-u16-nfd.c: New file.
48388         * tests/uninorm/test-u32-nfd.c: New file.
48389         * tests/uninorm/test-u32-nfd-big.sh: New file.
48390         * tests/uninorm/test-u32-nfd-big.c: New file.
48391         * tests/uninorm/test-u32-normalize-big.h: New file.
48392         * tests/uninorm/test-u32-normalize-big.c: New file.
48393         * tests/uninorm/NormalizationTest.txt: New file, created from
48394         Unicode 5.1.0 NormalizationTest.txt.
48395         * modules/uninorm/nfd-tests: New file.
48396
48397         New module 'uninorm/nfd'.
48398         * lib/uninorm/nfd.c: New file.
48399         * modules/uninorm/nfd: New file.
48400
48401         New module 'uninorm/u32-normalize'.
48402         * lib/uninorm/u32-normalize.c: New file.
48403         * modules/uninorm/u32-normalize: New file.
48404
48405         New module 'uninorm/u16-normalize'.
48406         * lib/uninorm/u16-normalize.c: New file.
48407         * modules/uninorm/u16-normalize: New file.
48408
48409         New module 'uninorm/u8-normalize'.
48410         * lib/uninorm/u8-normalize.c: New file.
48411         * lib/uninorm/normalize-internal.h: New file.
48412         * lib/uninorm/u-normalize-internal.h: New file.
48413         * modules/uninorm/u8-normalize: New file.
48414
48415         New module 'uninorm/decompose-internal'.
48416         * lib/uninorm/decompose-internal.c: New file.
48417         * modules/uninorm/decompose-internal: New file.
48418
48419         Tests for module 'uninorm/composition'.
48420         * tests/uninorm/test-composition.c: New file.
48421         * modules/uninorm/composition-tests: New file.
48422
48423         New module 'uninorm/composition'.
48424         * lib/uninorm/composition.c: New file.
48425         * lib/uninorm/composition-table.gperf: New file, generated by
48426         gen-uni-tables.
48427         * modules/uninorm/composition: New file.
48428
48429         Tests for module 'uninorm/compat-decomposition'.
48430         * tests/uninorm/test-compat-decomposition.c: New file.
48431         * modules/uninorm/compat-decomposition-tests: New file.
48432
48433         New module 'uninorm/compat-decomposition'.
48434         * lib/uninorm/decompose-internal.h: New file.
48435         * lib/uninorm/compat-decomposition.c: New file.
48436         * modules/uninorm/compat-decomposition: New file.
48437
48438         Tests for module 'uninorm/canonical-decomposition'.
48439         * tests/uninorm/test-canonical-decomposition.c: New file.
48440         * modules/uninorm/canonical-decomposition-tests: New file.
48441
48442         New module 'uninorm/canonical-decomposition'.
48443         * lib/uninorm/canonical-decomposition.c: New file.
48444         * modules/uninorm/canonical-decomposition: New file.
48445
48446         Tests for module 'uninorm/decomposition'.
48447         * tests/uninorm/test-decomposition.c: New file.
48448         * modules/uninorm/decomposition-tests: New file.
48449
48450         New module 'uninorm/decomposition'.
48451         * lib/uninorm/decomposition.c: New file.
48452         * modules/uninorm/decomposition: New file.
48453
48454         New module 'uninorm/decomposition-table'.
48455         * lib/uninorm/decomposition-table.h: New file.
48456         * lib/uninorm/decomposition-table.c: New file.
48457         * lib/uninorm/decomposition-table1.h: New file, generated by
48458         gen-uni-tables.
48459         * lib/uninorm/decomposition-table2.h: New file, generated by
48460         gen-uni-tables.
48461         * modules/uninorm/decomposition-table: New file.
48462
48463         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
48464         (UC_DECOMP_*): New enumeration items.
48465         (get_decomposition): New function.
48466         (struct decomp_table): New type.
48467         (output_decomposition, output_decomposition_tables): New functions.
48468         (unicode_composition_exclusions): New variable.
48469         (fill_composition_exclusions, debug_output_composition_tables): New
48470         functions.
48471         (main): Accept one more argument. Invoke fill_composition_exclusions.
48472         Output decomposition and composition tables.
48473
48474         New module 'uninorm/base'.
48475         * lib/uninorm.h: New file.
48476         * lib/unictype.h: Update comment.
48477         * modules/uninorm/base: New file.
48478
48479 2009-02-21  David Lutterkort  <lutter@redhat.com>
48480
48481         Tests for module 'safe-alloc'.
48482         * tests/test-safe-alloc.c: New file.
48483         * modules/safe-alloc-tests: New file.
48484
48485         New module 'safe-alloc'.
48486         * lib/safe-alloc.h: New file.
48487         * lib/safe-alloc.c: New file.
48488         * m4/safe-alloc.m4: New file.
48489         * modules/safe-alloc: New file.
48490         * doc/safe-alloc.texi: New file.
48491         * doc/gnulib.texi: Include it.
48492         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
48493         safe-alloc.
48494
48495 2009-02-18  Bruno Haible  <bruno@clisp.org>
48496
48497         Fix link error on non-glibc systems.
48498         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
48499         variable.
48500         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48501
48502 2009-02-18  Jim Meyering  <meyering@redhat.com>
48503
48504         fts: avoid used-uninitialized error due to recent change
48505         * lib/fts.c (fts_read): Guard uses of the new member,
48506         parent->fts_n_dirs_remaining, since it's not relevant for
48507         the parent of a directory specified on the command-line.
48508
48509 2009-02-17  James Youngman  <jay@gnu.org>
48510             Bruno Haible  <bruno@clisp.org>
48511
48512         * m4/include_next.m4: Reformulate comment.
48513
48514 2009-02-16  Jim Meyering  <meyering@redhat.com>
48515
48516         fts: add #if guards so that the fts_lgpl module still builds
48517         * lib/fts.c: Guard just-added hash-table-using parts with
48518         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
48519         Reported by Simon Josefsson.
48520
48521 2009-02-15  Bruno Haible  <bruno@clisp.org>
48522
48523         * modules/array-mergesort-tests: New file.
48524         * tests/test-array-mergesort.c: New file.
48525
48526         New module 'array-mergesort'.
48527         * modules/array-mergesort: New file.
48528         * lib/array-mergesort.h: New file.
48529
48530 2009-02-15  Bruno Haible  <bruno@clisp.org>
48531
48532         Fix 2009-02-07 commit.
48533         * lib/gen-uni-tables.c (output_predicate, output_category,
48534         output_combclass, output_bidi_category, output_decimal_digit,
48535         output_digit, output_numeric, output_mirror, output_scripts,
48536         output_ident_category, output_simple_mapping): Fix format directives.
48537         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
48538
48539 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
48540
48541         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
48542         fixes are available from IBM.
48543
48544 2009-02-13  Jim Meyering  <meyering@redhat.com>
48545
48546         fts: arrange not to stat non-directories in more cases
48547         This makes GNU find (when it doesn't need to stat each file)
48548         *much* more efficient at traversing reiserfs file systems.
48549         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
48550         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
48551         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
48552         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
48553         (leaf_optimization_applies): New function.
48554         (LCO_hash, LCO_compare): New helper functions.
48555         (link_count_optimize_ok): New function.
48556         (fts_stat): Initialize new member (if dir).
48557         (fts_read): Decrement parent's fts_n_dirs_remaining count if
48558         we've just stat'ed a directory.  Skip the stat call when possible.
48559         ---
48560         Note this AFS-related exchange:
48561         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
48562         and note find's pioctl call in find/fstype.c.
48563         But that is necessary only if you want to enable the
48564         optimization for AFS, and for now, I don't.
48565
48566         fts: move a function definition "up" (no semantic change)
48567         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
48568         "up" to precede upcoming use of a related function.
48569
48570 2009-02-11  Jim Meyering  <meyering@redhat.com>
48571
48572         fts: correct internal computation of nlinks (optimization-related)
48573         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
48574         whether the current entry is a directory, so don't test it.
48575
48576 2009-02-10  Bruno Haible  <bruno@clisp.org>
48577
48578         Tests for module 'uniwbrk/ulc-wordbreaks'.
48579         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
48580         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
48581         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
48582
48583         Tests for module 'uniwbrk/u32-wordbreaks'.
48584         * modules/uniwbrk/u32-wordbreaks-tests: New file.
48585         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
48586
48587         Tests for module 'uniwbrk/u16-wordbreaks'.
48588         * modules/uniwbrk/u16-wordbreaks-tests: New file.
48589         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
48590
48591         Tests for module 'uniwbrk/u8-wordbreaks'.
48592         * modules/uniwbrk/u8-wordbreaks-tests: New file.
48593         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
48594
48595 2009-02-10  Bruno Haible  <bruno@clisp.org>
48596
48597         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
48598         property.
48599         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
48600         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
48601         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
48602
48603 2009-02-10  Simon Josefsson  <simon@josefsson.org>
48604
48605         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
48606         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
48607
48608 2009-02-10  Bruno Haible  <bruno@clisp.org>
48609
48610         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
48611         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
48612         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
48613         * lib/unilbrk/u8-possible-linebreaks.c: Update.
48614         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
48615         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
48616
48617 2009-02-09  Simon Josefsson  <simon@josefsson.org>
48618
48619         * lib/sockets.h (gl_fd_to_handle): New function.
48620
48621         * tests/test-sockets.c: Call gl_fd_to_handle.
48622
48623 2009-02-09  Bruno Haible  <bruno@clisp.org>
48624
48625         * doc/havelib.texi: Document the conventions on bi-arch systems.
48626
48627 2009-02-08  Bruno Haible  <bruno@clisp.org>
48628
48629         Document the AC_LIB_LINKFLAGS macro.
48630         * doc/havelib.texi: New file, mostly written on 2005-05-24.
48631         * doc/gnulib.texi: Include it.
48632
48633 2009-02-08  Bruno Haible  <bruno@clisp.org>
48634
48635         Fix wrong order of sections, compared to TOC.
48636         * doc/gnulib.texi: Include relocatable-maint.texi after the
48637         "Regular expressions" node, not before.
48638
48639 2009-02-08  Bruno Haible  <bruno@clisp.org>
48640
48641         Tests for module 'unicase/totitle'.
48642         * modules/unicase/totitle-tests: New file.
48643
48644         Tests for module 'unicase/tolower'.
48645         * modules/unicase/tolower-tests: New file.
48646
48647         Tests for module 'unicase/toupper'.
48648         * modules/unicase/toupper-tests: New file.
48649         * tests/unicase/test-mapping-part1.h: New file.
48650         * tests/unicase/test-mapping-part2.h: New file.
48651
48652         New module 'unicase/totitle'.
48653         * modules/unicase/totitle: New file.
48654         * lib/unicase/totitle.c: New file.
48655
48656         New module 'unicase/tolower'.
48657         * modules/unicase/tolower: New file.
48658         * lib/unicase/tolower.c: New file.
48659
48660         New module 'unicase/toupper'.
48661         * modules/unicase/toupper: New file.
48662         * lib/unicase/toupper.c: New file.
48663         * lib/unicase/simple-mapping.h: New file.
48664
48665         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
48666         (mapping_table): New structure.
48667         (output_simple_mapping): New function.
48668         (main): Invoke output_simple_mapping_test and output_simple_mapping.
48669         * modules/gen-uni-tables (Description): Update.
48670         * lib/unicase/toupper.h: New file, automatically generated by
48671         gen-uni-tables.
48672         * lib/unicase/tolower.h: New file, automatically generated by
48673         gen-uni-tables.
48674         * lib/unicase/totitle.h: New file, automatically generated by
48675         gen-uni-tables.
48676         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
48677         gen-uni-tables.
48678         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
48679         gen-uni-tables.
48680         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
48681         gen-uni-tables.
48682
48683         New module 'unicase/base'.
48684         * modules/unicase/base: New file.
48685         * lib/unicase.h: New file.
48686
48687 2009-02-08  Bruno Haible  <bruno@clisp.org>
48688
48689         New module 'uniwbrk/ulc-wordbreaks'.
48690         * modules/uniwbrk/ulc-wordbreaks: New file.
48691         * lib/uniwbrk/ulc-wordbreaks.c: New file.
48692
48693         New module 'uniwbrk/u32-wordbreaks'.
48694         * modules/uniwbrk/u32-wordbreaks: New file.
48695         * lib/uniwbrk/u32-wordbreaks.c: New file.
48696
48697         New module 'uniwbrk/u16-wordbreaks'.
48698         * modules/uniwbrk/u16-wordbreaks: New file.
48699         * lib/uniwbrk/u16-wordbreaks.c: New file.
48700
48701         New module 'uniwbrk/u8-wordbreaks'.
48702         * modules/uniwbrk/u8-wordbreaks: New file.
48703         * lib/uniwbrk/u8-wordbreaks.c: New file.
48704         * lib/uniwbrk/u-wordbreaks.h: New file.
48705
48706         New module 'uniwbrk/table'.
48707         * modules/uniwbrk/table: New file.
48708         * lib/uniwbrk/wbrktable.h: New file.
48709         * lib/uniwbrk/wbrktable.c: New file.
48710
48711         New module 'uniwbrk/wordbreak-property'.
48712         * modules/uniwbrk/wordbreak-property: New file.
48713         * lib/uniwbrk/wordbreak-property.c: New file.
48714
48715         * lib/gen-uni-tables.c (WBP_*): New enum items.
48716         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
48717         (unicode_org_wbp): New variable.
48718         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
48719         New functions.
48720         (wbp_table): New structure.
48721         (output_wbp, output_wbrk_tables): New functions.
48722         (main): Accept additional argument. Invoke fill_org_wbp,
48723         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
48724         output_wbrk_tables.
48725         * modules/gen-uni-tables (Description): Update.
48726         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
48727         gen-uni-tables.
48728
48729         New module 'uniwbrk/base'.
48730         * modules/uniwbrk/base: New file.
48731         * lib/uniwbrk.h: New file.
48732
48733 2009-02-08  Bruno Haible  <bruno@clisp.org>
48734
48735         Update to Unicode 5.1.0.
48736         * lib/gen-uni-tables.c (is_property_alphabetic): Include
48737         U+2185..U+2188.
48738         (is_property_default_ignorable_code_point): Don't include characters
48739         of category Cc or Cs and not-a-characters.
48740         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
48741         U+0D79, U+109E, U+109F, U+A60C.
48742         * lib/unictype/bidi_of.h: Regenerated.
48743         * lib/unictype/blocks.h: Regenerated.
48744         * lib/unictype/categ_C.h: Regenerated.
48745         * lib/unictype/categ_Cf.h: Regenerated.
48746         * lib/unictype/categ_Cn.h: Regenerated.
48747         * lib/unictype/categ_L.h: Regenerated.
48748         * lib/unictype/categ_Ll.h: Regenerated.
48749         * lib/unictype/categ_Lm.h: Regenerated.
48750         * lib/unictype/categ_Lo.h: Regenerated.
48751         * lib/unictype/categ_Lu.h: Regenerated.
48752         * lib/unictype/categ_M.h: Regenerated.
48753         * lib/unictype/categ_Mc.h: Regenerated.
48754         * lib/unictype/categ_Me.h: Regenerated.
48755         * lib/unictype/categ_Mn.h: Regenerated.
48756         * lib/unictype/categ_N.h: Regenerated.
48757         * lib/unictype/categ_Nd.h: Regenerated.
48758         * lib/unictype/categ_Nl.h: Regenerated.
48759         * lib/unictype/categ_No.h: Regenerated.
48760         * lib/unictype/categ_P.h: Regenerated.
48761         * lib/unictype/categ_Pd.h: Regenerated.
48762         * lib/unictype/categ_Pe.h: Regenerated.
48763         * lib/unictype/categ_Pf.h: Regenerated.
48764         * lib/unictype/categ_Pi.h: Regenerated.
48765         * lib/unictype/categ_Po.h: Regenerated.
48766         * lib/unictype/categ_Ps.h: Regenerated.
48767         * lib/unictype/categ_S.h: Regenerated.
48768         * lib/unictype/categ_Sk.h: Regenerated.
48769         * lib/unictype/categ_Sm.h: Regenerated.
48770         * lib/unictype/categ_So.h: Regenerated.
48771         * lib/unictype/categ_of.h: Regenerated.
48772         * lib/unictype/combining.h: Regenerated.
48773         * lib/unictype/ctype_alnum.h: Regenerated.
48774         * lib/unictype/ctype_alpha.h: Regenerated.
48775         * lib/unictype/ctype_graph.h: Regenerated.
48776         * lib/unictype/ctype_lower.h: Regenerated.
48777         * lib/unictype/ctype_print.h: Regenerated.
48778         * lib/unictype/ctype_punct.h: Regenerated.
48779         * lib/unictype/ctype_upper.h: Regenerated.
48780         * lib/unictype/decdigit.h: Regenerated.
48781         * lib/unictype/digit.h: Regenerated.
48782         * lib/unictype/mirror.h: Regenerated.
48783         * lib/unictype/numeric.h: Regenerated.
48784         * lib/unictype/pr_alphabetic.h: Regenerated.
48785         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
48786         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
48787         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
48788         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
48789         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
48790         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
48791         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
48792         * lib/unictype/pr_combining.h: Regenerated.
48793         * lib/unictype/pr_dash.h: Regenerated.
48794         * lib/unictype/pr_decimal_digit.h: Regenerated.
48795         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
48796         * lib/unictype/pr_deprecated.h: Regenerated.
48797         * lib/unictype/pr_diacritic.h: Regenerated.
48798         * lib/unictype/pr_extender.h: Regenerated.
48799         * lib/unictype/pr_format_control.h: Regenerated.
48800         * lib/unictype/pr_grapheme_base.h: Regenerated.
48801         * lib/unictype/pr_grapheme_extend.h: Regenerated.
48802         * lib/unictype/pr_grapheme_link.h: Regenerated.
48803         * lib/unictype/pr_id_continue.h: Regenerated.
48804         * lib/unictype/pr_id_start.h: Regenerated.
48805         * lib/unictype/pr_ideographic.h: Regenerated.
48806         * lib/unictype/pr_ignorable_control.h: Regenerated.
48807         * lib/unictype/pr_lowercase.h: Regenerated.
48808         * lib/unictype/pr_math.h: Regenerated.
48809         * lib/unictype/pr_numeric.h: Regenerated.
48810         * lib/unictype/pr_other_alphabetic.h: Regenerated.
48811         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
48812         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
48813         * lib/unictype/pr_other_id_continue.h: Regenerated.
48814         * lib/unictype/pr_other_lowercase.h: Regenerated.
48815         * lib/unictype/pr_other_math.h: Regenerated.
48816         * lib/unictype/pr_punctuation.h: Regenerated.
48817         * lib/unictype/pr_sentence_terminal.h: Regenerated.
48818         * lib/unictype/pr_soft_dotted.h: Regenerated.
48819         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
48820         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
48821         * lib/unictype/pr_unified_ideograph.h: Regenerated.
48822         * lib/unictype/pr_uppercase.h: Regenerated.
48823         * lib/unictype/pr_xid_continue.h: Regenerated.
48824         * lib/unictype/pr_xid_start.h: Regenerated.
48825         * lib/unictype/pr_zero_width.h: Regenerated.
48826         * lib/unictype/scripts.h: Regenerated.
48827         * lib/unictype/scripts_byname.gperf: Regenerated.
48828         * lib/unictype/sy_java_ident.h: Regenerated.
48829         * lib/unilbrk/lbrkprop1.h: Regenerated.
48830         * lib/unilbrk/lbrkprop2.h: Regenerated.
48831         * tests/unictype/test-categ_C.c: Regenerated.
48832         * tests/unictype/test-categ_Cf.c: Regenerated.
48833         * tests/unictype/test-categ_Cn.c: Regenerated.
48834         * tests/unictype/test-categ_L.c: Regenerated.
48835         * tests/unictype/test-categ_Ll.c: Regenerated.
48836         * tests/unictype/test-categ_Lm.c: Regenerated.
48837         * tests/unictype/test-categ_Lo.c: Regenerated.
48838         * tests/unictype/test-categ_Lu.c: Regenerated.
48839         * tests/unictype/test-categ_M.c: Regenerated.
48840         * tests/unictype/test-categ_Mc.c: Regenerated.
48841         * tests/unictype/test-categ_Me.c: Regenerated.
48842         * tests/unictype/test-categ_Mn.c: Regenerated.
48843         * tests/unictype/test-categ_N.c: Regenerated.
48844         * tests/unictype/test-categ_Nd.c: Regenerated.
48845         * tests/unictype/test-categ_Nl.c: Regenerated.
48846         * tests/unictype/test-categ_No.c: Regenerated.
48847         * tests/unictype/test-categ_P.c: Regenerated.
48848         * tests/unictype/test-categ_Pd.c: Regenerated.
48849         * tests/unictype/test-categ_Pe.c: Regenerated.
48850         * tests/unictype/test-categ_Pf.c: Regenerated.
48851         * tests/unictype/test-categ_Pi.c: Regenerated.
48852         * tests/unictype/test-categ_Po.c: Regenerated.
48853         * tests/unictype/test-categ_Ps.c: Regenerated.
48854         * tests/unictype/test-categ_S.c: Regenerated.
48855         * tests/unictype/test-categ_Sk.c: Regenerated.
48856         * tests/unictype/test-categ_Sm.c: Regenerated.
48857         * tests/unictype/test-categ_So.c: Regenerated.
48858         * tests/unictype/test-ctype_alnum.c: Regenerated.
48859         * tests/unictype/test-ctype_alpha.c: Regenerated.
48860         * tests/unictype/test-ctype_graph.c: Regenerated.
48861         * tests/unictype/test-ctype_lower.c: Regenerated.
48862         * tests/unictype/test-ctype_print.c: Regenerated.
48863         * tests/unictype/test-ctype_punct.c: Regenerated.
48864         * tests/unictype/test-ctype_upper.c: Regenerated.
48865         * tests/unictype/test-decdigit.h: Regenerated.
48866         * tests/unictype/test-digit.h: Regenerated.
48867         * tests/unictype/test-numeric.h: Regenerated.
48868         * tests/unictype/test-pr_alphabetic.c: Regenerated.
48869         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
48870         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
48871         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
48872         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
48873         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
48874         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
48875         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
48876         * tests/unictype/test-pr_combining.c: Regenerated.
48877         * tests/unictype/test-pr_dash.c: Regenerated.
48878         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
48879         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
48880         * tests/unictype/test-pr_deprecated.c: Regenerated.
48881         * tests/unictype/test-pr_diacritic.c: Regenerated.
48882         * tests/unictype/test-pr_extender.c: Regenerated.
48883         * tests/unictype/test-pr_format_control.c: Regenerated.
48884         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
48885         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
48886         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
48887         * tests/unictype/test-pr_id_continue.c: Regenerated.
48888         * tests/unictype/test-pr_id_start.c: Regenerated.
48889         * tests/unictype/test-pr_ideographic.c: Regenerated.
48890         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
48891         * tests/unictype/test-pr_lowercase.c: Regenerated.
48892         * tests/unictype/test-pr_math.c: Regenerated.
48893         * tests/unictype/test-pr_numeric.c: Regenerated.
48894         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
48895         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
48896         Regenerated.
48897         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
48898         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
48899         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
48900         * tests/unictype/test-pr_other_math.c: Regenerated.
48901         * tests/unictype/test-pr_punctuation.c: Regenerated.
48902         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
48903         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
48904         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
48905         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
48906         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
48907         * tests/unictype/test-pr_uppercase.c: Regenerated.
48908         * tests/unictype/test-pr_xid_continue.c: Regenerated.
48909         * tests/unictype/test-pr_xid_start.c: Regenerated.
48910         * tests/unictype/test-pr_zero_width.c: Regenerated.
48911
48912         Update to Unicode 5.1.0.
48913         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
48914         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
48915         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
48916         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
48917         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
48918         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
48919         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
48920         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
48921         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
48922         (nonspacing_table_ind): Update.
48923         * tests/uniwidth/test-uc_width2.sh: Update expected result.
48924
48925         Update to Unicode 5.1.0.
48926         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
48927         code transform.
48928         * lib/uniname/uniname.c (unicode_character_name,
48929         unicode_name_character): Add the range 0x1Fxxx to the code transform.
48930         * lib/uniname/uninames.h: Regenerated.
48931         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
48932
48933 2009-02-07  Bruno Haible  <bruno@clisp.org>
48934
48935         Merge gen-ctype and gen-lbrk into a single program.
48936         * lib/gen-uni-tables.c: New file, incorporating
48937         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
48938         Add directory prefixes to the names of the generated files.
48939         * lib/unictype/gen-ctype.c: Remove file.
48940         * lib/unilbrk/gen-lbrk.c: Remove file.
48941         * modules/gen-uni-tables: New file.
48942         * modules/unictype/gen-ctype: Remove file.
48943         * modules/unilbrk/gen-lbrk: Remove file.
48944
48945 2009-02-07  Bruno Haible  <bruno@clisp.org>
48946
48947         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
48948
48949         New module 'unistr/u32-strcoll'.
48950         * modules/unistr/u32-strcoll: New file.
48951         * lib/unistr/u32-strcoll.c: New file.
48952
48953         New module 'unistr/u16-strcoll'.
48954         * modules/unistr/u16-strcoll: New file.
48955         * lib/unistr/u16-strcoll.c: New file.
48956
48957         New module 'unistr/u8-strcoll'.
48958         * modules/unistr/u8-strcoll: New file.
48959         * lib/unistr/u8-strcoll.c: New file.
48960         * lib/unistr/u-strcoll.h: New file.
48961
48962 2009-02-07  Bruno Haible  <bruno@clisp.org>
48963
48964         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
48965         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48966         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
48967         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
48968         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
48969         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
48970
48971 2009-02-07  Bruno Haible  <bruno@clisp.org>
48972
48973         Make 64-bit clean.
48974         * lib/unictype/gen-ctype.c (output_predicate, output_category,
48975         output_combclass, output_bidi_category, output_decimal_digit,
48976         output_digit, output_numeric, output_mirror, output_scripts,
48977         output_ident_category): Use proper width specifier in format strings.
48978
48979 2009-02-07  Bruno Haible  <bruno@clisp.org>
48980
48981         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
48982         failure behaviour.
48983
48984 2009-02-07  Jim Meyering  <meyering@redhat.com>
48985
48986         regex: avoid compilation failure with upcoming gcc-4.4
48987         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
48988         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
48989         "... error: integer overflow in preprocessor expression".
48990
48991 2009-02-05  Ben Pfaff  <blp@gnu.org>
48992
48993         Fix link errors on Windows when close module is used.
48994         * modules/close: Add $(LIB_CLOSE) to Link section.
48995         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
48996         $(LIB_CLOSE) on Windows.
48997
48998 2009-02-05  Jim Meyering  <meyering@redhat.com>
48999
49000         still avoid unused-parameter warnings, but do it cleanly
49001         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
49002         (get_fs_usage): Cast to void instead.
49003         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
49004         (dev_from_mount_options, read_file_system_list): Cast to void.
49005         Prompted by Bruno Haible.
49006
49007 2009-02-04  Jim Meyering  <meyering@redhat.com>
49008
49009         fsusage.c: correct copyright year
49010         * lib/fsusage.c: Reflect year in which the change is pushed into
49011
49012         avoid misc. warnings
49013         * lib/fsusage.c (UNUSED_PARAM): Define.
49014         (get_fs_usage): Mark parameter "disk" as unused.
49015         * lib/getugroups.c (getgrent): Use "void" in prototype.
49016         * lib/mountlist.c: Mark unused parameters.
49017         (read_file_system_list): Declare a local with "const".
49018         * lib/nanosleep.c (getnow): Declare static.
49019         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
49020
49021         dirfd: set errno upon failure
49022         * lib/dirfd.c: Include <errno.h>.
49023         Set errno to ENOTSUP when returning -1.
49024         * modules/dirfd (Depends-on): Add errno.
49025         Suggested by John Kodis <kodis@comcast.net>.
49026
49027 2009-02-01  Bruno Haible  <bruno@clisp.org>
49028
49029         Don't assume sizeof (long) >= sizeof (void *).
49030         * lib/memcmp.c: Include stdint.h.
49031         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
49032         srcp2 to 'const byte *'.
49033         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
49034         types to uintptr_t.
49035         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
49036         * modules/memcmp (Depends-on): Add stdint.
49037         Reported by Ozkan Sezer <sezeroz@gmail.com>.
49038
49039 2009-01-30  Eric Blake  <ebb9@byu.net>
49040
49041         fix more require-before-expand issues
49042         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
49043         expand, AC_PROG_AWK.
49044         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
49045
49046 2009-01-28  Eric Blake  <ebb9@byu.net>
49047
49048         version-etc: use consistent URL formatting
49049         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
49050         Improve formatting.  Use fputs for string without %.
49051
49052 2009-01-28  Jim Meyering  <meyering@redhat.com>
49053
49054         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
49055         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
49056         "underquoted definition of NAME" from autoconf-2.59.
49057
49058 2009-01-28  Bruno Haible  <bruno@clisp.org>
49059
49060         * doc/gnulib.texi: Add "Obsolete modules" to index.
49061
49062 2009-01-28  Jim Meyering  <meyering@redhat.com>
49063
49064         useless-if-before-free: recognize more variants
49065         * build-aux/useless-if-before-free: Also recognize e.g.,
49066         if (NULL != p) free (p);
49067
49068 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
49069
49070         test-getaddrinfo: skip (don't fail) this test when there's no network
49071         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
49072         on the presumption that it means you lack network access.
49073
49074 2009-01-26  Jim Meyering  <meyering@redhat.com>
49075
49076         fflush: avoid warnings on modern systems
49077         * lib/fflush.c (rpl_fflush): Move declarations of locals,
49078         pos and result, into scopes where they're used.
49079
49080 2009-01-26  Eric Blake  <ebb9@byu.net>
49081
49082         Silence warning reintroduced by recent extensions patch.
49083         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
49084         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
49085         autoconf.
49086
49087         Backport improved autoconf semantics of AC_DEFUN_ONCE.
49088         * m4/00gnulib.m4: New file.
49089         * gnulib-tool (func_get_filelist): Always use it.
49090         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
49091         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
49092
49093 2009-01-25  Bruno Haible  <bruno@clisp.org>
49094
49095         Make test-quotearg work on MacOS X and AIX.
49096         * tests/test-quotearg.sh: New file.
49097         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
49098         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
49099         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
49100         include <libintl.h>.
49101         (fake_locale): Remove variable.
49102         (gettext, dgettext, dcgettext): Remove functions.
49103         (main): Instead of setting a fake locale, set a real locale. Call
49104         textdomain and bindtextdomain.
49105         * modules/quotearg-tests (Files): Add the new files.
49106         (Depends-on): Add gettext, setenv, unsetenv.
49107         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
49108         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
49109         Augment TESTS_ENVIRONMENT.
49110
49111 2009-01-25  Bruno Haible  <bruno@clisp.org>
49112
49113         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
49114         fr_FR.ISO8859-1 locale on MacOS X.
49115         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
49116         ja_JP.eucJP locale on MacOS X.
49117         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
49118         zh_CN.GB18030 locale on MacOS X.
49119
49120 2009-01-25  Bruno Haible  <bruno@clisp.org>
49121
49122         Avoid link errors on MacOS X 10.3.
49123         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
49124         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49125
49126 2009-01-25  Bruno Haible  <bruno@clisp.org>
49127
49128         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49129         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
49130         * modules/pipe (Files): Remove m4/posix_spawn.m4.
49131         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49132         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
49133         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49134         posix_spawnattr_init, posix_spawnattr_setsigmask,
49135         posix_spawnattr_setflags, posix_spawnattr_destroy.
49136
49137         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
49138         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
49139         * modules/execute (Files): Remove m4/posix_spawn.m4.
49140         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
49141         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
49142         posix_spawnattr_init, posix_spawnattr_setsigmask,
49143         posix_spawnattr_setflags, posix_spawnattr_destroy.
49144
49145 2009-01-25  Bruno Haible  <bruno@clisp.org>
49146
49147         * lib/glthread/threadlib.c: Include <stdlib.h>.
49148
49149 2009-01-25  Bruno Haible  <bruno@clisp.org>
49150
49151         * lib/glthread/threadlib.c (dummy): New declaration.
49152
49153 2009-01-25  Bruno Haible  <bruno@clisp.org>
49154
49155         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
49156         multibyte characters also for the GB18030 encoding. Don't crash when
49157         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
49158
49159 2009-01-25  Bruno Haible  <bruno@clisp.org>
49160
49161         Avoid redefining 'struct random_data' on OSF/1 5.1.
49162         * lib/stdlib.in.h: Include <random.h> if it exists.
49163         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
49164         HAVE_RANDOM_H. Include <random.h> when testing whether
49165         'struct random_data' exists.
49166         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
49167
49168 2009-01-25  Bruno Haible  <bruno@clisp.org>
49169
49170         Don't install charset.alias on MacOS X >= 10.3.
49171         * lib/localcharset.c (DARWIN7): New macro.
49172         (get_charset_aliases): Hardcode the result for Darwin7.
49173         * modules/localcharset (install-exec-local): Don't install
49174         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
49175
49176 2009-01-25  Bruno Haible  <bruno@clisp.org>
49177
49178         Don't install charset.alias on mingw and Cygwin.
49179         * modules/localcharset (install-exec-local): Don't install
49180         charset.alias on mingw and Cygwin, if the file does not yet exist.
49181         The result for these platforms is hardcoded in localcharset.c.
49182
49183 2009-01-25  Bruno Haible  <bruno@clisp.org>
49184
49185         Make it possible again to use AC_GNU_SOURCE together with gnulib.
49186         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
49187         before requiring AC_USE_SYSTEM_EXTENSIONS.
49188
49189 2009-01-25  Jim Meyering  <meyering@redhat.com>
49190
49191         c-strtod: avoid warnings
49192         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
49193         "assignment discards qualifiers from pointer target type" warnings.
49194
49195 2009-01-24  Bruno Haible  <bruno@clisp.org>
49196
49197         Add support for non-UTF-8 locales on MacOS X.
49198         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
49199         canonical encodings. For Darwin 7 and newer, don't map traditional
49200         encodings to UTF-8.
49201         Reported by Vincent Lefevre <vincent@vinc17.org>
49202         at <http://savannah.gnu.org/bugs/?25235>.
49203
49204 2009-01-24  Bruno Haible  <bruno@clisp.org>
49205
49206         * doc/gnulib.texi (Obsolete modules): New section.
49207         Reported by Mike Frysinger <vapier@gentoo.org>.
49208
49209 2009-01-24  Bruno Haible  <bruno@clisp.org>
49210
49211         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
49212         (%.dvi): New rule.
49213
49214 2009-01-24  Bruno Haible  <bruno@clisp.org>
49215
49216         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
49217         Reported by Eric Blake.
49218
49219 2009-01-24  Bruno Haible  <bruno@clisp.org>
49220
49221         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
49222         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
49223         Reported by Gary V. Vaughan <gary@gnu.org>.
49224
49225 2009-01-24  Bruno Haible  <bruno@clisp.org>
49226
49227         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
49228
49229 2009-01-23  Bruno Haible  <bruno@clisp.org>
49230
49231         Make c-strtod, c-strtold usable in libraries.
49232         * lib/c-strtod.c: Include string.h instead of xalloc.h.
49233         (C_STRTOD): Call strdup instead of xstrdup.
49234         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
49235         * modules/c-strtold (Depends-on): Likewise.
49236         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
49237         * NEWS: Mention the change.
49238         Reported by Michael Gold <mgold@ncf.ca>.
49239
49240 2009-01-23  Jim Meyering  <meyering@redhat.com>
49241
49242         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
49243         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
49244         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
49245
49246 2009-01-23  Simon Josefsson  <simon@josefsson.org>
49247
49248         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
49249         GNU CoreUtils.
49250         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
49251         * modules/version-etc (Description): Update.
49252
49253 2009-01-22  Bruno Haible  <bruno@clisp.org>
49254
49255         Cache the C locale object.
49256         * lib/c-strtod.c (c_locale_cache): New variable.
49257         (c_locale): New function.
49258         (C_STRTOD): Use it, and don't call freelocale.
49259         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
49260         Suggested by Paolo Bonzini.
49261
49262 2009-01-21  Bruno Haible  <bruno@clisp.org>
49263
49264         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
49265         conditions other than overflow.
49266
49267 2009-01-21  Bruno Haible  <bruno@clisp.org>
49268
49269         * lib/c-strtod.c: Include errno.h.
49270         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
49271         value from STRTOD_L and STRTOD.
49272
49273 2009-01-21  Bruno Haible  <bruno@clisp.org>
49274         and Jim Meyering  <meyering@redhat.com>
49275
49276         nanosleep: skip configure test (fail it) for apple universal builds
49277         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
49278         universal builds, assume that nanosleep does not work.
49279         * modules/nanosleep (Depends-on): Add multiarch.
49280
49281         mktime: skip configure test (fail it) for apple universal builds
49282         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
49283         universal builds, assume that mktime does not work.
49284         * modules/mktime (Depends-on): Add multiarch.
49285
49286 2009-01-21  Eric Blake  <ebb9@byu.net>
49287
49288         multiarch: avoid expand-before-require warning
49289         * modules/multiarch (configure.ac): Require, rather than expand,
49290         gl_MULTIARCH.
49291         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
49292         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
49293         enforce that all clients require it.  Partial reversion of
49294         2008-12-29 patch.
49295
49296         error: avoid expand-before-require warning
49297         * modules/errno (configure.ac): Require, rather than expand,
49298         gl_HEADER_ERRNO_H.
49299         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
49300         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
49301         enforce that all clients require it.
49302
49303         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
49304         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
49305         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
49306         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
49307
49308 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
49309
49310         Revert:
49311         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49312
49313         regex: do not depend on obsolete modules.
49314         * modules/regex: Remove memcmp and memmove.
49315
49316 2009-01-20  Bruno Haible  <bruno@clisp.org>
49317
49318         Make the 'link' module link on Windows NT 4.
49319         * lib/link.c (_WIN32_WINNT): Don't define.
49320         (CreateHardLinkFuncType): New type.
49321         (CreateHardLinkFunc, initialized): New variables.
49322         (initialize): New function.
49323         (link): Invoke CreateHardLink indirectly through the function pointer.
49324
49325 2009-01-20  Bruno Haible  <bruno@clisp.org>
49326
49327         Fix compilation failure on mingw.
49328         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
49329
49330 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
49331
49332         * doc/c-strtod.texi: Mention a couple of restrictions.
49333
49334 2009-01-20  Jim Meyering  <meyering@redhat.com>
49335
49336         gettimeofday: move more declarations out of functions
49337         * lib/gettimeofday.c: Move extern declarations of tzset and
49338         gmtime out of containing functions.  Prompted by Bruno Haible.
49339
49340 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
49341
49342         regex: do not depend on obsolete modules.
49343         * modules/regex: Remove memcmp and memmove.
49344
49345 2009-01-19  Bruno Haible  <bruno@clisp.org>
49346
49347         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49348         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
49349         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49350         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
49351         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
49352
49353 2009-01-19  Bruno Haible  <bruno@clisp.org>
49354
49355         * tests/test-link.c: Include <errno.h>.
49356         (main): Exit with code 77 when a hard link cannot be created due to
49357         the file system.
49358         * tests/test-link.sh: Skip test when a hard link cannot be created due
49359         to the file system.
49360         Suggested by Eric Blake.
49361
49362 2009-01-19  Martin Lambers  <marlam@marlam.de>
49363
49364         * modules/link-tests: New file.
49365         * tests/test-link.sh: New file.
49366         * tests/test-link.c: New file.
49367
49368 2009-01-19  Eric Blake  <ebb9@byu.net>
49369
49370         doc: mention another function added in cygwin 1.7.0
49371         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
49372         Another new function in cygwin 1.7.
49373
49374 2009-01-19  Bruno Haible  <bruno@clisp.org>
49375
49376         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
49377         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
49378         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
49379         gl_BIGENDIAN, not AC_C_BIGENDIAN.
49380         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
49381         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
49382         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
49383         * m4/md4.m4 (gl_MD4): Likewise.
49384         * m4/md5.m4 (gl_MD5): Likewise.
49385         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
49386         * m4/sha1.m4 (gl_SHA1): Likewise.
49387         * m4/sha256.m4 (gl_SHA256): Likewise.
49388         * m4/sha512.m4 (gl_SHA512): Likewise.
49389
49390 2009-01-19  Bruno Haible  <bruno@clisp.org>
49391
49392         * modules/uniname/uniname-tests (Depends-on): Add progname.
49393         * tests/uniname/test-uninames.c: Include progname.h.
49394         (main): Call set_program_name.
49395
49396         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
49397         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
49398         (main): Call set_program_name.
49399
49400         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
49401         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
49402         (main): Call set_program_name.
49403
49404         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
49405         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
49406         (main): Call set_program_name.
49407
49408         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
49409         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
49410         (main): Call set_program_name.
49411
49412         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
49413         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
49414         (main): Call set_program_name.
49415
49416         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
49417         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
49418         (main): Call set_program_name.
49419
49420         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
49421         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
49422         (main): Call set_program_name.
49423
49424         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
49425         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
49426         (main): Call set_program_name.
49427
49428 2009-01-19  Eric Blake  <ebb9@byu.net>
49429
49430         test-unistd: test previous patch
49431         * tests/test-unistd.c: Test *_FILENO macros.
49432
49433         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
49434         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49435         Guarantee a definition.
49436         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
49437         * modules/unistd-safer (Depends-on): Add dependency on unistd.
49438         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
49439         * lib/dup-safer.c (STDERR_FILENO): Likewise.
49440         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49441         Likewise.
49442         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
49443         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
49444         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
49445         Likewise.
49446         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
49447         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
49448         (STDERR_FILENO): Likewise.
49449         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
49450         (STDERR_FILENO): Likewise.
49451         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
49452         (STDERR_FILENO): Likewise.
49453         Reported by Elbert Pol.
49454
49455 2009-01-19  Eric Blake  <ebb9@byu.net>
49456
49457         doc: mention more functions added in cygwin 1.7.0
49458         * doc/posix-functions/abort.texi (abort): Update wording related
49459         to cygwin.
49460         * doc/posix-functions/daylight.texi (daylight): Likewise.
49461         * doc/posix-functions/optarg.texi (optarg): Likewise.
49462         * doc/posix-functions/optarg.texi (opterr): Likewise.
49463         * doc/posix-functions/optarg.texi (optind): Likewise.
49464         * doc/posix-functions/optarg.texi (optopt): Likewise.
49465         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
49466         worked in 1.5.x, and was withdrawn in 1.7.
49467         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
49468         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
49469         cygwin versions.
49470         * doc/posix-functions/perror.texi (perror): Likewise.
49471         * doc/posix-functions/printf.texi (printf): Likewise.
49472         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
49473         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
49474         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
49475         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
49476         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
49477         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
49478         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
49479         Likewise.
49480         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
49481         Likewise.
49482         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
49483         this function.
49484         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
49485         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
49486         Likewise.
49487         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
49488         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
49489         * doc/posix-functions/confstr.texi (confstr): Likewise.
49490         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
49491         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
49492         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
49493         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
49494         * doc/posix-functions/fputws.texi (fputws): Likewise.
49495         * doc/posix-functions/fwide.texi (fwide): Likewise.
49496         * doc/posix-functions/getwc.texi (getwc): Likewise.
49497         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
49498         * doc/posix-functions/putwc.texi (putwc): Likewise.
49499         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
49500         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
49501         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
49502         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
49503         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
49504         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
49505         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
49506         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
49507         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
49508         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
49509         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
49510
49511 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49512
49513         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
49514         * lib/ioctl.c: Include <sys/ioctl.h>.
49515
49516 2009-01-19  Simon Josefsson  <simon@josefsson.org>
49517
49518         * modules/getdate-tests (Depends-on): Add progname.
49519         * tests/test-getdate.c: Use progname module, to avoid link errors
49520         on non-glibc systems.
49521
49522 2009-01-18  Simon Josefsson  <simon@josefsson.org>
49523
49524         * modules/filenamecat-tests (Depends-on): Add progname.
49525         * modules/fstrcmp-tests (Depends-on): Likewise.
49526
49527         * tests/test-filenamecat.c: Use progname module, to avoid link
49528         errors on non-glibc systems.
49529         * tests/test-fstrcmp.c: Likewise.
49530
49531 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
49532
49533         gettimeofday: avoid warning: nested extern declaration of 'localtime'
49534         * lib/gettimeofday.c: Move extern declaration out of function.
49535
49536 2009-01-18  Bruno Haible  <bruno@clisp.org>
49537
49538         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
49539         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
49540         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
49541
49542 2009-01-18  Bruno Haible  <bruno@clisp.org>
49543
49544         * lib/strftime.c (MEMPCPY): Remove unused macro.
49545         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
49546
49547 2009-01-18  Martin Lambers  <marlam@marlam.de>
49548
49549         New module 'link'.
49550         * lib/unistd.in.h (link): New declaration.
49551         * lib/link.c: New file.
49552         * m4/link.m4: New file.
49553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
49554         HAVE_LINK.
49555         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
49556         * modules/link: New file.
49557         * doc/posix-functions/link.texi: Mention the new module.
49558
49559 2009-01-18  Bruno Haible  <bruno@clisp.org>
49560
49561         * tests/test-avltree_list.c (main): Call set_program_name.
49562         * tests/test-avltree_oset.c (main): Likewise.
49563         * tests/test-obstack-printf.c: Include progname.h.
49564         (main): Call set_program_name.
49565         * tests/test-quotearg.c: Include progname.h.
49566         (main): Call set_program_name.
49567         * tests/test-xmemdup0.c: Include progname.h.
49568         (main): Call set_program_name.
49569
49570 2009-01-18  Bruno Haible  <bruno@clisp.org>
49571
49572         New module 'alphasort'.
49573         * lib/dirent.in.h (alphasort): New declaration.
49574         * lib/alphasort.c: New file, from glibc with modifications.
49575         * m4/alphasort.m4: New file.
49576         * modules/alphasort: New file.
49577         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
49578         HAVE_ALPHASORT.
49579         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
49580         HAVE_ALPHASORT.
49581         * doc/posix-functions/alphasort.texi: Mention the new module and the
49582         portability problems.
49583
49584 2009-01-18  Bruno Haible  <bruno@clisp.org>
49585
49586         New module 'scandir'.
49587         * lib/dirent.in.h (scandir): New declaration.
49588         * lib/scandir.c: New file, from glibc with modifications.
49589         * m4/scandir.m4: New file.
49590         * modules/scandir: New file.
49591         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
49592         HAVE_SCANDIR.
49593         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
49594         HAVE_SCANDIR.
49595         * doc/posix-functions/scandir.texi: Mention the new module and the
49596         portability problems.
49597
49598 2009-01-17  Bruno Haible  <bruno@clisp.org>
49599
49600         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
49601         Update documentation.
49602         (func_remove_suffix): Escape all dots in the suffix. Update
49603         documentation.
49604         (func_filter_filelist): Update documentation.
49605         Reported by Ralf Wildenhues.
49606
49607 2009-01-17  Bruno Haible  <bruno@clisp.org>
49608
49609         * modules/dprintf-posix-tests: New file.
49610         * tests/test-dprintf-posix.sh: New file.
49611         * tests/test-dprintf-posix.c: New file.
49612
49613         New modules 'dprintf', 'dprintf-posix'.
49614         * lib/stdio.in.h (dprintf): New declaration.
49615         * lib/dprintf.c: New file.
49616         * m4/dprintf.m4: New file.
49617         * m4/dprintf-posix.m4: New file.
49618         * modules/dprintf: New file.
49619         * modules/dprintf-posix: New file.
49620         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
49621         HAVE_DPRINTF, REPLACE_DPRINTF.
49622         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
49623         HAVE_DPRINTF, REPLACE_DPRINTF.
49624         * doc/posix-functions/dprintf.texi: Mention the new modules.
49625
49626 2009-01-17  Bruno Haible  <bruno@clisp.org>
49627
49628         * modules/vdprintf-posix-tests: New file.
49629         * tests/test-vdprintf-posix.sh: New file.
49630         * tests/test-vdprintf-posix.c: New file.
49631
49632         New modules 'vdprintf', 'vdprintf-posix'.
49633         * lib/stdio.in.h (vdprintf): New declaration.
49634         * lib/vdprintf.c: New file.
49635         * m4/vdprintf.m4: New file.
49636         * m4/vdprintf-posix.m4: New file.
49637         * modules/vdprintf: New file.
49638         * modules/vdprintf-posix: New file.
49639         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
49640         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49641         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
49642         HAVE_VDPRINTF, REPLACE_VDPRINTF.
49643         * doc/posix-functions/vdprintf.texi: Mention the new modules.
49644
49645 2009-01-17  Bruno Haible  <bruno@clisp.org>
49646
49647         Fix replacement of fopen on mingw.
49648         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
49649         mingw.
49650
49651 2009-01-17  Bruno Haible  <bruno@clisp.org>
49652
49653         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
49654         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
49655
49656 2009-01-17  Bruno Haible  <bruno@clisp.org>
49657
49658         Avoid test-fflush2.sh failure on mingw.
49659         * tests/test-fflush2.c: Include binary-io.h.
49660         (main): Put standard input into binary mode.
49661         * modules/fflush-tests (Depends-on): Add binary-io.
49662
49663 2009-01-17  Bruno Haible  <bruno@clisp.org>
49664
49665         * lib/wchar.in.h: In another particular situation, include only the
49666         system's <wchar.h> file.
49667         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
49668         Reported by Albert Chin-A-Young <china@thewrittenword.com>
49669         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
49670
49671 2009-01-17  Bruno Haible  <bruno@clisp.org>
49672
49673         Support for stripping executables in --enable-relocatable.
49674         * build-aux/install-reloc: Expect one more argument, or an environment
49675         variable RELOC_STRIP_PROG. If set, strip the destination program and
49676         its wrapper.
49677         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
49678         RELOC_STRIP_PROG.
49679         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
49680         to set RELOCATABLE_STRIP.
49681         * NEWS: Mention the new Makefile requirement.
49682
49683 2009-01-17  Bruno Haible  <bruno@clisp.org>
49684
49685         * build-aux/install-reloc: Remove debugging information left over by
49686         C compiler on MacOS X.
49687
49688 2009-01-17  Bruno Haible  <bruno@clisp.org>
49689
49690         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
49691         * lib/progreloc.c (find_executable): Fix type of pointer passed to
49692         _NSGetExecutablePath.
49693
49694 2009-01-16  Jim Meyering  <meyering@redhat.com>
49695
49696         strerror: avoid warnings about discarding "const"
49697         * lib/strerror.c (rpl_strerror): Instead of returning a const
49698         string from each and every "case", use a variable, and add a single
49699         cast after the switch.
49700
49701 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
49702
49703         * lib/arpa_inet.in.h: Add extern "C" block for C++.
49704
49705 2009-01-16  Bruno Haible  <bruno@clisp.org>
49706
49707         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
49708         array initializer syntax that also works in C++ mode.
49709         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49710
49711 2009-01-16  Jim Meyering  <meyering@redhat.com>
49712
49713         poll: suppress a warning
49714         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
49715         to ignore "...unsigned expression < 0 is always false" warnings.
49716
49717 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
49718
49719         poll: remove declarations of unused variables
49720         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
49721         sockbuf and optlen.
49722
49723 2009-01-15  Bruno Haible  <bruno@clisp.org>
49724
49725         Make fflush-after-ungetc POSIX compliant on BSD systems.
49726         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
49727         (clear_ungetc_buffer): Implement also for other systems.
49728         (rpl_fflush): On glibc systems, invoke
49729         clear_ungetc_buffer_preserving_position. Otherwise, invoke
49730         clear_ungetc_buffer after fetching the stream's position, not before.
49731
49732 2009-01-15  Bruno Haible  <bruno@clisp.org>
49733
49734         Make fflush-after-ungetc POSIX compliant on glibc systems.
49735         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
49736         after ungetc.
49737         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
49738         (rpl_fflush): On glibc systems, simply call the system's fflush
49739         function after clearing the ungetc buffer.
49740         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
49741         Instead, lseek only to the end of file, then use the system's fseeko
49742         for the rest. On glibc systems, reset the EOF indicator bit.
49743
49744 2009-01-15  Jim Meyering  <meyering@redhat.com>
49745
49746         openmp.m4: revert quote-adding change, for portability to older autoconf
49747         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
49748         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
49749         Simon Josefsson noticed the problem when using autoconf-2.61.
49750
49751 2009-01-15  Bruno Haible  <bruno@clisp.org>
49752
49753         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
49754         * tests/test-fflush2.c (ASSERT): Always fail.
49755         (main): Add two tests for fflush() after ungetc(), taking into account
49756         the Austin Group's clarification.
49757         Suggested by Eric Blake.
49758
49759 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
49760
49761         mktime.m4: remove K&R-style function prototypes
49762         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
49763         for the Sun C++ compiler.
49764
49765 2009-01-14  Bruno Haible  <bruno@clisp.org>
49766
49767         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
49768         while including <wchar.h>.
49769         * lib/wchar.in.h: In two particular situations on HP-UX, include only
49770         the system's <wchar.h> file.
49771         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49772
49773 2009-01-14  Bruno Haible  <bruno@clisp.org>
49774
49775         * m4/csharp.m4: Don't mention gettext on the serial number line.
49776         * m4/csharpexec.m4: Likewise.
49777         * m4/eaccess.m4: Likewise.
49778         * m4/javaexec.m4: Likewise.
49779         * m4/sig_atomic_t.m4: Likewise.
49780         * m4/tmpdir.m4: Likewise.
49781         * m4/intldir.m4: Bump gettext version.
49782         * m4/lib-ld.m4: Likewise.
49783
49784 2009-01-14  Bruno Haible  <bruno@clisp.org>
49785
49786         * lib/progname.c (set_program_name): Add more comments.
49787         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
49788
49789 2009-01-14  Simon Josefsson  <simon@josefsson.org>
49790
49791         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
49792         were sys/stat.h does not define it.
49793
49794 2009-01-14  Jim Meyering  <meyering@redhat.com>
49795
49796         many *.m4 files: improve m4 quoting
49797         99% of this change was performed by running the following commands:
49798         git ls-files | grep '\.m4$' | xargs perl -pi \
49799           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
49800           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49801           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
49802           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
49803         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
49804         The remainder were to add Copyright dates, increment serial numbers,
49805         undo some changes in comments, exclude m4/intl.m4, and add quotes
49806         around the "1" in ",1" where the unusual spacing prohibited the
49807         above regexps from doing the job.  For more details, see
49808         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
49809         * m4/acl.m4: Modified.
49810         * m4/afs.m4: Likewise.
49811         * m4/alloca.m4: Likewise.
49812         * m4/argp.m4: Likewise.
49813         * m4/argz.m4: Likewise.
49814         * m4/atexit.m4: Likewise.
49815         * m4/bison-i18n.m4: Likewise.
49816         * m4/bison.m4: Likewise.
49817         * m4/byteswap.m4: Likewise.
49818         * m4/c-stack.m4: Likewise.
49819         * m4/c-strtod.m4: Likewise.
49820         * m4/calloc.m4: Likewise.
49821         * m4/canonicalize-lgpl.m4: Likewise.
49822         * m4/chown.m4: Likewise.
49823         * m4/clock_time.m4: Likewise.
49824         * m4/codeset.m4: Likewise.
49825         * m4/copy-file.m4: Likewise.
49826         * m4/csharp.m4: Likewise.
49827         * m4/csharpcomp.m4: Likewise.
49828         * m4/csharpexec.m4: Likewise.
49829         * m4/d-ino.m4: Likewise.
49830         * m4/d-type.m4: Likewise.
49831         * m4/dirfd.m4: Likewise.
49832         * m4/double-slash-root.m4: Likewise.
49833         * m4/eaccess.m4: Likewise.
49834         * m4/eealloc.m4: Likewise.
49835         * m4/environ.m4: Likewise.
49836         * m4/errno_h.m4: Likewise.
49837         * m4/euidaccess.m4: Likewise.
49838         * m4/execute.m4: Likewise.
49839         * m4/fatal-signal.m4: Likewise.
49840         * m4/fchdir.m4: Likewise.
49841         * m4/fcntl_h.m4: Likewise.
49842         * m4/fileblocks.m4: Likewise.
49843         * m4/filenamecat.m4: Likewise.
49844         * m4/findprog.m4: Likewise.
49845         * m4/flexmember.m4: Likewise.
49846         * m4/fnmatch.m4: Likewise.
49847         * m4/fopen.m4: Likewise.
49848         * m4/fpending.m4: Likewise.
49849         * m4/fprintf-posix.m4: Likewise.
49850         * m4/free.m4: Likewise.
49851         * m4/frexp.m4: Likewise.
49852         * m4/frexpl.m4: Likewise.
49853         * m4/fsusage.m4: Likewise.
49854         * m4/ftruncate.m4: Likewise.
49855         * m4/gc-camellia.m4: Likewise.
49856         * m4/gc-random.m4: Likewise.
49857         * m4/gc.m4: Likewise.
49858         * m4/getaddrinfo.m4: Likewise.
49859         * m4/getcwd-abort-bug.m4: Likewise.
49860         * m4/getcwd-path-max.m4: Likewise.
49861         * m4/getdate.m4: Likewise.
49862         * m4/getdomainname.m4: Likewise.
49863         * m4/getgroups.m4: Likewise.
49864         * m4/gethostname.m4: Likewise.
49865         * m4/gethrxtime.m4: Likewise.
49866         * m4/getline.m4: Likewise.
49867         * m4/getloadavg.m4: Likewise.
49868         * m4/getndelim2.m4: Likewise.
49869         * m4/getpass.m4: Likewise.
49870         * m4/gettext.m4: Likewise.
49871         * m4/gettime.m4: Likewise.
49872         * m4/gettimeofday.m4: Likewise.
49873         * m4/gnulib-common.m4: Likewise.
49874         * m4/group-member.m4: Likewise.
49875         * m4/host-os.m4: Likewise.
49876         * m4/iconv.m4: Likewise.
49877         * m4/iconv_open.m4: Likewise.
49878         * m4/inet_ntop.m4: Likewise.
49879         * m4/inet_pton.m4: Likewise.
49880         * m4/inline.m4: Likewise.
49881         * m4/intldir.m4: Likewise.
49882         * m4/intlmacosx.m4: Likewise.
49883         * m4/intmax.m4: Likewise.
49884         * m4/intmax_t.m4: Likewise.
49885         * m4/inttypes.m4: Likewise.
49886         * m4/inttypes_h.m4: Likewise.
49887         * m4/inttypes-pri.m4: Likewise.
49888         * m4/isapipe.m4: Likewise.
49889         * m4/isnand.m4: Likewise.
49890         * m4/isnanf.m4: Likewise.
49891         * m4/isnanl.m4: Likewise.
49892         * m4/javacomp.m4: Likewise.
49893         * m4/javaexec.m4: Likewise.
49894         * m4/jm-winsz1.m4: Likewise.
49895         * m4/jm-winsz2.m4: Likewise.
49896         * m4/lchown.m4: Likewise.
49897         * m4/lcmessage.m4: Likewise.
49898         * m4/ldexpl.m4: Likewise.
49899         * m4/lib-ld.m4: Likewise.
49900         * m4/lib-link.m4: Likewise.
49901         * m4/libsigsegv.m4: Likewise.
49902         * m4/link-follow.m4: Likewise.
49903         * m4/localcharset.m4: Likewise.
49904         * m4/locale-fr.m4: Likewise.
49905         * m4/locale-ja.m4: Likewise.
49906         * m4/locale-tr.m4: Likewise.
49907         * m4/locale-zh.m4: Likewise.
49908         * m4/lock.m4: Likewise.
49909         * m4/longlong.m4: Likewise.
49910         * m4/ls-mntd-fs.m4: Likewise.
49911         * m4/lstat.m4: Likewise.
49912         * m4/malloc.m4: Likewise.
49913         * m4/mathl.m4: Likewise.
49914         * m4/mbrtowc.m4: Likewise.
49915         * m4/mbstate_t.m4: Likewise.
49916         * m4/mbswidth.m4: Likewise.
49917         * m4/memchr.m4: Likewise.
49918         * m4/memcmp.m4: Likewise.
49919         * m4/memcpy.m4: Likewise.
49920         * m4/memmem.m4: Likewise.
49921         * m4/memmove.m4: Likewise.
49922         * m4/mempcpy.m4: Likewise.
49923         * m4/memrchr.m4: Likewise.
49924         * m4/memset.m4: Likewise.
49925         * m4/minmax.m4: Likewise.
49926         * m4/mkdir-slash.m4: Likewise.
49927         * m4/mkdtemp.m4: Likewise.
49928         * m4/mktime.m4: Likewise.
49929         * m4/mmap-anon.m4: Likewise.
49930         * m4/mountlist.m4: Likewise.
49931         * m4/nanosleep.m4: Likewise.
49932         * m4/nls.m4: Likewise.
49933         * m4/nocrash.m4: Likewise.
49934         * m4/open.m4: Likewise.
49935         * m4/openat.m4: Likewise.
49936         * m4/openmp.m4: Likewise.
49937         * m4/pathmax.m4: Likewise.
49938         * m4/perl.m4: Likewise.
49939         * m4/physmem.m4: Likewise.
49940         * m4/pipe.m4: Likewise.
49941         * m4/po.m4: Likewise.
49942         * m4/poll.m4: Likewise.
49943         * m4/posixtm.m4: Likewise.
49944         * m4/posixver.m4: Likewise.
49945         * m4/printf-frexp.m4: Likewise.
49946         * m4/printf-frexpl.m4: Likewise.
49947         * m4/printf-posix.m4: Likewise.
49948         * m4/printf-posix-rpl.m4: Likewise.
49949         * m4/printf.m4: Likewise.
49950         * m4/progtest.m4: Likewise.
49951         * m4/putenv.m4: Likewise.
49952         * m4/readline.m4: Likewise.
49953         * m4/readlink.m4: Likewise.
49954         * m4/readutmp.m4: Likewise.
49955         * m4/realloc.m4: Likewise.
49956         * m4/regex.m4: Likewise.
49957         * m4/relocatable.m4: Likewise.
49958         * m4/relocatable-lib.m4: Likewise.
49959         * m4/rename-dest-slash.m4: Likewise.
49960         * m4/rename.m4: Likewise.
49961         * m4/rmdir-errno.m4: Likewise.
49962         * m4/rmdir.m4: Likewise.
49963         * m4/roundf.m4: Likewise.
49964         * m4/roundl.m4: Likewise.
49965         * m4/rpmatch.m4: Likewise.
49966         * m4/save-cwd.m4: Likewise.
49967         * m4/selinux-selinux-h.m4: Likewise.
49968         * m4/setenv.m4: Likewise.
49969         * m4/settime.m4: Likewise.
49970         * m4/sig2str.m4: Likewise.
49971         * m4/sig_atomic_t.m4: Likewise.
49972         * m4/signalblocking.m4: Likewise.
49973         * m4/signbit.m4: Likewise.
49974         * m4/sigpipe.m4: Likewise.
49975         * m4/sockets.m4: Likewise.
49976         * m4/sockpfaf.m4: Likewise.
49977         * m4/st_dm_mode.m4: Likewise.
49978         * m4/stat-time.m4: Likewise.
49979         * m4/stdbool.m4: Likewise.
49980         * m4/stdint.m4: Likewise.
49981         * m4/stdint_h.m4: Likewise.
49982         * m4/stpcpy.m4: Likewise.
49983         * m4/stpncpy.m4: Likewise.
49984         * m4/strcase.m4: Likewise.
49985         * m4/strchrnul.m4: Likewise.
49986         * m4/strcspn.m4: Likewise.
49987         * m4/strdup.m4: Likewise.
49988         * m4/strftime.m4: Likewise.
49989         * m4/strndup.m4: Likewise.
49990         * m4/strnlen.m4: Likewise.
49991         * m4/strpbrk.m4: Likewise.
49992         * m4/strptime.m4: Likewise.
49993         * m4/strsep.m4: Likewise.
49994         * m4/strtod.m4: Likewise.
49995         * m4/strtoimax.m4: Likewise.
49996         * m4/strtok_r.m4: Likewise.
49997         * m4/strtol.m4: Likewise.
49998         * m4/strtoll.m4: Likewise.
49999         * m4/strtoul.m4: Likewise.
50000         * m4/strtoull.m4: Likewise.
50001         * m4/strtoumax.m4: Likewise.
50002         * m4/strverscmp.m4: Likewise.
50003         * m4/threadlib.m4: Likewise.
50004         * m4/timegm.m4: Likewise.
50005         * m4/tm_gmtoff.m4: Likewise.
50006         * m4/tmpdir.m4: Likewise.
50007         * m4/tmpfile.m4: Likewise.
50008         * m4/tzset.m4: Likewise.
50009         * m4/uintmax_t.m4: Likewise.
50010         * m4/unlinkdir.m4: Likewise.
50011         * m4/unlocked-io.m4: Likewise.
50012         * m4/uptime.m4: Likewise.
50013         * m4/userspec.m4: Likewise.
50014         * m4/utimbuf.m4: Likewise.
50015         * m4/utime.m4: Likewise.
50016         * m4/utimes-null.m4: Likewise.
50017         * m4/utimes.m4: Likewise.
50018         * m4/vararrays.m4: Likewise.
50019         * m4/vasnprintf.m4: Likewise.
50020         * m4/vfprintf-posix.m4: Likewise.
50021         * m4/vprintf-posix.m4: Likewise.
50022         * m4/wait-process.m4: Likewise.
50023         * m4/wchar_t.m4: Likewise.
50024         * m4/wint_t.m4: Likewise.
50025         * m4/write-any-file.m4: Likewise.
50026         * m4/yield.m4: Likewise.
50027
50028 2009-01-13  Bruno Haible  <bruno@clisp.org>
50029
50030         Avoid test-copy-file.sh failures when ACL support insufficient.
50031         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
50032         TESTS_ENVIRONMENT.
50033         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
50034         Reported by Jim Meyering.
50035
50036 2009-01-13  Bruno Haible  <bruno@clisp.org>
50037
50038         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
50039         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
50040         * modules/unistdio/u8-printf-parse (Files): Likewise.
50041         * modules/unistdio/u32-printf-parse (Files): Likewise.
50042         * modules/unistdio/ulc-printf-parse (Files): Likewise.
50043
50044 2009-01-13  Simon Josefsson  <simon@josefsson.org>
50045
50046         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
50047         and m4/inttypes_h.m4 too.
50048
50049 2009-01-12  Eric Blake  <ebb9@byu.net>
50050
50051         tests: IRIX 6.2 cc can't compile -0.0 into .data
50052         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
50053         rather than at compile-time.
50054         * tests/test-floorl.c (minus_zero): Likewise.
50055         * tests/test-frexpl.c (minus_zero): Likewise.
50056         * tests/test-isnan.c (minus_zerol): Likewise.
50057         * tests/test-isnanl.h (minus_zero): Likewise.
50058         * tests/test-ldexpl.c (minus_zero): Likewise.
50059         * tests/test-roundl.c (minus_zero): Likewise.
50060         * tests/test-signbit.c (minus_zerol): Likewise.
50061         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
50062         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
50063         * tests/test-truncl.c (minus_zero): Likewise.
50064         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
50065         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
50066         Reported by Tom G. Christensen and Nelson H. F. Beebe.
50067
50068 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50069
50070         regex: fix glibc bug 9697
50071         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
50072         handling.
50073
50074 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50075
50076         regex: fix glibc bug 697
50077         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
50078         being NULL also if there are no backreferences.
50079
50080 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
50081
50082         regex: merge glibc changes
50083         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
50084         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
50085         re_string_skip_chars, re_string_reconstruct): Likewise.
50086         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
50087
50088 2009-01-07  Jim Meyering  <meyering@redhat.com>
50089
50090         poll: filter through cppi
50091         * lib/poll.c: Indent cpp directives to reflect nesting.
50092
50093 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
50094
50095         poll: don't return uninitialized
50096         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
50097
50098 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
50099
50100         avoid compile failure on AIX 6.1
50101         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
50102         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
50103
50104 2009-01-04  Jim Meyering  <meyering@redhat.com>
50105
50106         remove duplicate inclusion of <stdio.h>
50107         * tests/test-fprintf-posix.c: Likewise.
50108         * tests/test-printf-posix.c: Likewise.
50109         * tests/test-snprintf-posix.c: Likewise.
50110         * tests/test-sprintf-posix.c: Likewise.
50111         * tests/test-vasprintf-posix.c: Likewise.
50112         * tests/test-vfprintf-posix.c: Likewise.
50113         * tests/test-vprintf-posix.c: Likewise.
50114         * tests/test-vsnprintf-posix.c: Likewise.
50115         * tests/test-vsprintf-posix.c: Likewise.
50116
50117 2009-01-03  Jim Meyering  <meyering@redhat.com>
50118
50119         gnulib-tool: fix sed-based filtering
50120         * gnulib-tool (func_filter_filelist): Remove extra backslash
50121         in sed_fff_filter definition.
50122
50123 2009-01-02  Jim Meyering  <meyering@redhat.com>
50124
50125         strftime: avoid compilation failure on Solaris 2.6
50126         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
50127         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
50128         Don't #define mbrlen or mbsinit, since now they're guaranteed to
50129         be available.  Reported by Tom G. Christensen.  Details in
50130         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
50131
50132 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50133             Bruno Haible  <bruno@clisp.org>
50134
50135         Speed up gnulib-tool by doing more string processing through shell
50136         built-ins.
50137         * gnulib-tool (fast_func_append): New variable.
50138         (func_remove_prefix, func_remove_suffix): New functions.
50139         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
50140         (func_filter_filelist): New function.
50141         (func_get_dependencies): Use func_remove_suffix instead of sed.
50142         (func_get_automake_snippet): Use func_filter_filelist instead of a
50143         subshell and sed invocation.
50144
50145 2009-01-01  Bruno Haible  <bruno@clisp.org>
50146
50147         Fix a security bug.
50148         * gnulib-tool (func_import, import, update): Don't allow the characters
50149         '"', '$', '`', '\' in macro arguments that become part of commands that
50150         are evaluated.
50151
50152 2009-01-01  Bruno Haible  <bruno@clisp.org>
50153
50154         * gnulib-tool (func_reset_sigpipe): Add more comments.
50155
50156 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50157
50158         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
50159         func_emit_tests_Makefile_am, func_import): Abort loops early if we
50160         already know the answer.
50161
50162 2009-01-01  Jim Meyering  <meyering@redhat.com>
50163
50164         * lib/version-etc.c (version_etc_va): Update copyright year.
50165
50166 2008-12-30  Bruno Haible  <bruno@clisp.org>
50167
50168         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
50169         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
50170         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
50171
50172 2008-12-29  Eric Blake  <ebb9@byu.net>
50173
50174         multiarch: avoid autoconf AC_REQUIRE bug
50175         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
50176         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
50177         2.63 and older.
50178         Reported by Bruno Haible, and analyzed in
50179         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
50180
50181 2008-12-29  Bruno Haible  <bruno@clisp.org>
50182
50183         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
50184         files in subdirectories correctly.
50185         Reported by Ralf Wildenhues.
50186
50187 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50188
50189         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
50190         rather than 'join FILE -', for Solaris join.
50191
50192 2008-12-29  Bruno Haible  <bruno@clisp.org>
50193
50194         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
50195         quoting.
50196         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
50197         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
50198         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
50199         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
50200         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
50201         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
50202         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
50203         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
50204         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50205         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
50206         * m4/nls.m4 (AM_NLS): Likewise.
50207         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
50208         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
50209         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
50210         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
50211         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
50212         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
50213         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
50214         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
50215         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
50216         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
50217         * m4/xsize.m4 (gl_XSIZE): Likewise.
50218         Suggested by Jim Meyering.
50219
50220 2008-11-17  Bruce Korb  <bkorb@gnu.org>
50221
50222         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
50223         * lib/parse-duration.c: use a switch instead of cascading if's.
50224
50225 2008-12-29  Eric Blake  <ebb9@byu.net>
50226
50227         wchar.h: supply WEOF on Irix 5.3
50228         * lib/wchar.in.h (wint_t): Also supply WEOF.
50229         * lib/wctype.in.h (wint_t): Likewise.
50230         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
50231         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
50232         Reported by Tom G. Christensen.
50233
50234 2008-12-26  Bruno Haible  <bruno@clisp.org>
50235
50236         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
50237         i486, i586, i686.
50238
50239 2008-12-26  Bruno Haible  <bruno@clisp.org>
50240
50241         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
50242
50243 2008-12-26  Bruno Haible  <bruno@clisp.org>
50244
50245         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
50246         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
50247         not __STDC_CONSTANT_MACROS.
50248         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
50249
50250 2008-12-25  Bruno Haible  <bruno@clisp.org>
50251
50252         Add support for universal builds to vasnprintf.
50253         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
50254         universal builds, guess no.
50255         * modules/vasnprintf-posix (Depends-on): Add multiarch.
50256         * modules/vasprintf-posix (Depends-on): Likewise.
50257         * modules/fprintf-posix (Depends-on): Likewise.
50258         * modules/vfprintf-posix (Depends-on): Likewise.
50259         * modules/snprintf-posix (Depends-on): Likewise.
50260         * modules/vsnprintf-posix (Depends-on): Likewise.
50261         * modules/sprintf-posix (Depends-on): Likewise.
50262         * modules/vsprintf-posix (Depends-on): Likewise.
50263         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
50264         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
50265         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
50266         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
50267         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
50268         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
50269         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
50270
50271         Add support for universal builds to <inttypes.h>.
50272         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
50273         _SCNu64_PREFIX): In Apple
50274         universal builds, define directly, using _LP64.
50275         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
50276         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
50277         * modules/inttypes (Depends-on): Add multiarch.
50278         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50279
50280         Add support for universal builds to <stdint.h>.
50281         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
50282         universal builds, define directly, using _LP64.
50283         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
50284         Apple universal builds, don't test for the size and suffix of ptrdiff_t
50285         and size_t.
50286         * modules/stdint (Depends-on): Add multiarch.
50287         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
50288
50289         New module 'multiarch'.
50290         * modules/multiarch: New file.
50291         * m4/multiarch.m4: New file.
50292
50293 2008-12-25  Bruno Haible  <bruno@clisp.org>
50294
50295         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
50296
50297 2008-12-25  Bruno Haible  <bruno@clisp.org>
50298
50299         * modules/btowc (License): Relicense under LGPLv2+.
50300         * modules/mbsinit (License): Likewise.
50301         * modules/mbrtowc (License): Likewise.
50302         * modules/wcrtomb (License): Likewise.
50303         * modules/streq (License): Likewise.
50304         Reported by David Lutterkort <lutter@redhat.com>.
50305
50306 2008-12-23  Bruno Haible  <bruno@clisp.org>
50307
50308         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
50309
50310 2008-12-23  Bruno Haible  <bruno@clisp.org>
50311
50312         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
50313         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
50314         GETADDRINFO_LIB, not in LIBS.
50315         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
50316         * modules/canon-host (Link): Likewise.
50317         * NEWS: Mention the change.
50318         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
50319         GETADDRINFO_LIB.
50320
50321 2008-12-22  Bruno Haible  <bruno@clisp.org>
50322
50323         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
50324         * doc/posix-functions/iswalpha_l.texi: Likewise.
50325         * doc/posix-functions/iswblank_l.texi: Likewise.
50326         * doc/posix-functions/iswcntrl_l.texi: Likewise.
50327         * doc/posix-functions/iswctype_l.texi: Likewise.
50328         * doc/posix-functions/iswdigit_l.texi: Likewise.
50329         * doc/posix-functions/iswgraph_l.texi: Likewise.
50330         * doc/posix-functions/iswlower_l.texi: Likewise.
50331         * doc/posix-functions/iswprint_l.texi: Likewise.
50332         * doc/posix-functions/iswpunct_l.texi: Likewise.
50333         * doc/posix-functions/iswspace_l.texi: Likewise.
50334         * doc/posix-functions/iswupper_l.texi: Likewise.
50335         * doc/posix-functions/iswxdigit_l.texi: Likewise.
50336         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
50337         * doc/posix-functions/open_wmemstream.texi: Likewise.
50338         * doc/posix-functions/swscanf.texi: Likewise.
50339         * doc/posix-functions/towctrans_l.texi: Likewise.
50340         * doc/posix-functions/towlower.texi: Likewise.
50341         * doc/posix-functions/towlower_l.texi: Likewise.
50342         * doc/posix-functions/towupper.texi: Likewise.
50343         * doc/posix-functions/towupper_l.texi: Likewise.
50344         * doc/posix-functions/vfwprintf.texi: Likewise.
50345         * doc/posix-functions/vfwscanf.texi: Likewise.
50346         * doc/posix-functions/vswscanf.texi: Likewise.
50347         * doc/posix-functions/vwprintf.texi: Likewise.
50348         * doc/posix-functions/vwscanf.texi: Likewise.
50349         * doc/posix-functions/wcpcpy.texi: Likewise.
50350         * doc/posix-functions/wcpncpy.texi: Likewise.
50351         * doc/posix-functions/wcscasecmp.texi: Likewise.
50352         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
50353         * doc/posix-functions/wcscoll_l.texi: Likewise.
50354         * doc/posix-functions/wcsdup.texi: Likewise.
50355         * doc/posix-functions/wcsncasecmp.texi: Likewise.
50356         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
50357         * doc/posix-functions/wcsnlen.texi: Likewise.
50358         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50359         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
50360         * doc/posix-functions/wctrans_l.texi: Likewise.
50361         * doc/posix-functions/wctype_l.texi: Likewise.
50362         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
50363         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
50364         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
50365         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
50366         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
50367         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
50368         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
50369         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
50370         * doc/glibc-functions/wcschrnul.texi: Likewise.
50371         * doc/glibc-functions/wcsftime_l.texi: Likewise.
50372         * doc/glibc-functions/wcstod_l.texi: Likewise.
50373         * doc/glibc-functions/wcstof_l.texi: Likewise.
50374         * doc/glibc-functions/wcstol_l.texi: Likewise.
50375         * doc/glibc-functions/wcstold_l.texi: Likewise.
50376         * doc/glibc-functions/wcstoll_l.texi: Likewise.
50377         * doc/glibc-functions/wcstoq.texi: Likewise.
50378         * doc/glibc-functions/wcstoul_l.texi: Likewise.
50379         * doc/glibc-functions/wcstoull_l.texi: Likewise.
50380         * doc/glibc-functions/wcstouq.texi: Likewise.
50381         * doc/glibc-functions/wmempcpy.texi: Likewise.
50382
50383 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
50384             Eric Blake  <ebb9@byu.net>
50385             Paolo Bonzini  <bonzini@gnu.org>
50386             Bruno Haible  <bruno@clisp.org>
50387
50388         Make c-stack work on Haiku.
50389         * lib/c-stack.c (SA_ONSTACK): Define fallback.
50390         (c_stack_action): Use SA_ONSTACK flag.
50391
50392 2008-12-22  Bruno Haible  <bruno@clisp.org>
50393
50394         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
50395
50396 2008-12-22  Bruno Haible  <bruno@clisp.org>
50397
50398         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
50399         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
50400         being overridden.
50401         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
50402         New macros.
50403         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
50404         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
50405         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
50406         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
50407
50408 2008-12-22  Bruno Haible  <bruno@clisp.org>
50409
50410         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
50411         from test code.
50412
50413 2008-12-22  Eric Blake  <ebb9@byu.net>
50414
50415         Avoid gcc warnings on cygwin.
50416         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
50417         Avoid unused variable.
50418         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
50419         Likewise.
50420
50421 2008-12-22  Bruno Haible  <bruno@clisp.org>
50422
50423         Remove HAVE_MBRTOWC conditionals.
50424         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
50425         (mbscasecmp): Assume mbrtowc function.
50426         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
50427         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
50428         * lib/mbschr.c: Include mbuiter.h unconditionally.
50429         (mbschr): Assume mbrtowc function.
50430         * lib/mbscspn.c: Include mbuiter.h unconditionally.
50431         (mbscspn): Assume mbrtowc function.
50432         * lib/mbslen.c: Include mbuiter.h unconditionally.
50433         (mbslen): Assume mbrtowc function.
50434         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
50435         (mbsncasecmp): Assume mbrtowc function.
50436         * lib/mbsnlen.c: Include mbiter.h unconditionally.
50437         (mbsnlen): Assume mbrtowc function.
50438         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
50439         (mbspbrk): Assume mbrtowc function.
50440         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
50441         (mbspcasecmp): Assume mbrtowc function.
50442         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
50443         (mbsrchr): Assume mbrtowc function.
50444         * lib/mbssep.c: Include mbuiter.h unconditionally.
50445         (mbssep): Assume mbrtowc function.
50446         * lib/mbsspn.c: Include mbuiter.h unconditionally.
50447         (mbsspn): Assume mbrtowc function.
50448         * lib/mbsstr.c: Include mbuiter.h unconditionally.
50449         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
50450         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
50451         (mbstok_r): Assume mbrtowc function.
50452         * lib/propername.c: Include mbuiter.h unconditionally.
50453         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
50454         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
50455         (trim2): Assume mbrtowc function.
50456         * lib/mbswidth.c (mbsinit): Remove fallback definition.
50457         (mbsnwidth): Assume mbrtowc function.
50458         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
50459         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
50460         fallback definitions.
50461         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
50462
50463 2008-12-22  Bruno Haible  <bruno@clisp.org>
50464
50465         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
50466
50467 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
50468
50469         * modules/regex: Request emulations for the mb*/wc* functions we need.
50470         * m4/regex.m4: Don't look for those functions here.
50471         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
50472
50473 2008-12-22  Bruno Haible  <bruno@clisp.org>
50474
50475         * modules/fnmatch (Depends-on): Remove duplicated dependency.
50476
50477 2008-12-21  Bruno Haible  <bruno@clisp.org>
50478
50479         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
50480         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
50481         (Include): Remove conditionalization.
50482         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
50483         (Include): Remove conditionalization.
50484         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
50485         (Include): Remove conditionalization.
50486         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
50487         * m4/mbfile.m4 (gl_MBFILE): Likewise.
50488         * NEWS: Mention the change.
50489         Reported by Alan Hourihane <alanh@fairlite.co.uk>
50490         via Sergey Poznyakoff <gray@gnu.org.ua>.
50491
50492 2008-12-21  Bruno Haible  <bruno@clisp.org>
50493
50494         * MODULES.html.sh (Extended multibyte and wide character utilities
50495         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
50496         wcrtomb, wcsrtombs.
50497         (Support for systems lacking POSIX:2008): Add accept, bind, close,
50498         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
50499         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
50500         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
50501
50502 2008-12-21  Bruno Haible  <bruno@clisp.org>
50503
50504         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
50505
50506 2008-12-21  Bruno Haible  <bruno@clisp.org>
50507
50508         * modules/wcsnrtombs-tests: New file.
50509         * tests/test-wcsnrtombs1.sh: New file.
50510         * tests/test-wcsnrtombs2.sh: New file.
50511         * tests/test-wcsnrtombs3.sh: New file.
50512         * tests/test-wcsnrtombs4.sh: New file.
50513         * tests/test-wcsnrtombs.c: New file.
50514
50515         New module 'wcsnrtombs'.
50516         * lib/wchar.in.h (wcsnrtombs): New declaration.
50517         * lib/wcsnrtombs.c: New file.
50518         * lib/wcsrtombs-state.c: New file.
50519         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
50520         (internal_state): Remove variable.
50521         * m4/wcsnrtombs.m4: New file.
50522         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
50523         compilation units.
50524         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
50525         HAVE_WCSNRTOMBS.
50526         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
50527         HAVE_WCSNRTOMBS.
50528         * modules/wcsnrtombs: New file.
50529         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
50530         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
50531
50532 2008-12-21  Bruno Haible  <bruno@clisp.org>
50533
50534         * modules/wcsrtombs-tests: New file.
50535         * tests/test-wcsrtombs1.sh: New file.
50536         * tests/test-wcsrtombs2.sh: New file.
50537         * tests/test-wcsrtombs3.sh: New file.
50538         * tests/test-wcsrtombs4.sh: New file.
50539         * tests/test-wcsrtombs.c: New file.
50540
50541         New module 'wcsrtombs'.
50542         * lib/wchar.in.h (wcsrtombs): New declaration.
50543         * lib/wcsrtombs.c: New file.
50544         * m4/wcsrtombs.m4: New file.
50545         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
50546         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50547         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
50548         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
50549         * modules/wcsrtombs: New file.
50550         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
50551         bugs.
50552
50553 2008-12-21  Bruno Haible  <bruno@clisp.org>
50554
50555         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
50556         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
50557         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
50558         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
50559         if not correct.
50560         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
50561         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
50562         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50563         m4/locale-zh.m4, m4/codeset.m4.
50564         * doc/posix-functions/wcrtomb.texi: Document the bug.
50565
50566 2008-12-21  Bruno Haible  <bruno@clisp.org>
50567
50568         Work around a btowc() bug on IRIX 6.5.
50569         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
50570         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
50571         REPLACE_WTOBC if not.
50572         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
50573         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
50574         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
50575
50576 2008-12-21  Bruno Haible  <bruno@clisp.org>
50577
50578         * modules/wcrtomb-tests: New file.
50579         * tests/test-wcrtomb.sh: New file.
50580         * tests/test-wcrtomb.c: New file.
50581
50582         New module 'wcrtomb'.
50583         * lib/wchar.in.h (wcrtomb): New declaration.
50584         * lib/wcrtomb.c: New file.
50585         * m4/wcrtomb.m4: New file.
50586         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
50587         HAVE_WCRTOMB.
50588         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
50589         HAVE_WCRTOMB.
50590         * modules/wcrtomb: New file.
50591         * doc/posix-functions/wcrtomb.texi: Mention the new module.
50592
50593 2008-12-21  Bruno Haible  <bruno@clisp.org>
50594
50595         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
50596         * modules/mbsrtowcs (Files): Likewise.
50597         * modules/wctob (Files): Likewise.
50598         * modules/c-strcase-tests (Files): Likewise.
50599         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
50600         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
50601         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
50602         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
50603         * modules/vasnprintf-posix-tests (Files): Likewise.
50604
50605 2008-12-21  William Pursell  <bill.pursell@gmail.com>
50606
50607         gitlog-to-changelog: pass all command-line arguments to git-log
50608         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
50609         it is sometimes convenient to filter the commits in various ways.
50610         gitlog-to-changelog only allows --since to specify a start date,
50611         but git-log itself supports many other filtering mechanisms.
50612         At the moment, I want to filter by branch name.  Rather than
50613         adding a --branch option to gitlog-to-changelog, it seems more
50614         flexible to simply pass all options directly to git-log and let
50615         git do the work.  Notice that this effectively makes --since a
50616         redundant option for gitlog-to-changelog, but removing it would
50617         require current usage to change since calls would then require
50618         an additional '--'.
50619
50620 2008-12-21  Bruno Haible  <bruno@clisp.org>
50621
50622         * modules/mbsnrtowcs-tests: New file.
50623         * tests/test-mbsnrtowcs1.sh: New file.
50624         * tests/test-mbsnrtowcs2.sh: New file.
50625         * tests/test-mbsnrtowcs3.sh: New file.
50626         * tests/test-mbsnrtowcs4.sh: New file.
50627         * tests/test-mbsnrtowcs.c: New file.
50628
50629         New module 'mbsnrtowcs'.
50630         * lib/wchar.in.h (mbsnrtowcs): New declaration.
50631         * lib/mbsnrtowcs.c: New file.
50632         * lib/mbsrtowcs-state.c: New file.
50633         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
50634         (internal_state): Remove variable.
50635         * m4/mbsnrtowcs.m4: New file.
50636         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
50637         compilation units.
50638         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
50639         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50640         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
50641         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
50642         * modules/mbsnrtowcs: New file.
50643         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
50644         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
50645         portability problem.
50646
50647 2008-12-21  Bruno Haible  <bruno@clisp.org>
50648
50649         Work around mbsrtowcs bug.
50650         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
50651         (gl_FUNC_MBSRTOWCS): Invoke it.
50652         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50653         m4/locale-zh.m4.
50654         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
50655
50656 2008-12-21  Bruno Haible  <bruno@clisp.org>
50657
50658         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
50659
50660 2008-12-21  Bruno Haible  <bruno@clisp.org>
50661
50662         Update doc for AIX.
50663         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
50664         16-bit wchar_t type.
50665         * doc/posix-functions/btowc.texi: Likewise.
50666         * doc/posix-functions/fgetwc.texi: Likewise.
50667         * doc/posix-functions/fgetws.texi: Likewise.
50668         * doc/posix-functions/fputwc.texi: Likewise.
50669         * doc/posix-functions/fputws.texi: Likewise.
50670         * doc/posix-functions/fwide.texi: Likewise.
50671         * doc/posix-functions/fwprintf.texi: Likewise.
50672         * doc/posix-functions/fwscanf.texi: Likewise.
50673         * doc/posix-functions/getwchar.texi: Likewise.
50674         * doc/posix-functions/getwc.texi: Likewise.
50675         * doc/posix-functions/iswalnum.texi: Likewise.
50676         * doc/posix-functions/iswalpha.texi: Likewise.
50677         * doc/posix-functions/iswblank.texi: Likewise.
50678         * doc/posix-functions/iswcntrl.texi: Likewise.
50679         * doc/posix-functions/iswctype.texi: Likewise.
50680         * doc/posix-functions/iswdigit.texi: Likewise.
50681         * doc/posix-functions/iswgraph.texi: Likewise.
50682         * doc/posix-functions/iswlower.texi: Likewise.
50683         * doc/posix-functions/iswprint.texi: Likewise.
50684         * doc/posix-functions/iswpunct.texi: Likewise.
50685         * doc/posix-functions/iswspace.texi: Likewise.
50686         * doc/posix-functions/iswupper.texi: Likewise.
50687         * doc/posix-functions/iswxdigit.texi: Likewise.
50688         * doc/posix-functions/mbrtowc.texi: Likewise.
50689         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50690         * doc/posix-functions/mbstowcs.texi: Likewise.
50691         * doc/posix-functions/mbtowc.texi: Likewise.
50692         * doc/posix-functions/putwchar.texi: Likewise.
50693         * doc/posix-functions/putwc.texi: Likewise.
50694         * doc/posix-functions/swprintf.texi: Likewise.
50695         * doc/posix-functions/tolower.texi: Likewise.
50696         * doc/posix-functions/toupper.texi: Likewise.
50697         * doc/posix-functions/towctrans.texi: Likewise.
50698         * doc/posix-functions/ungetwc.texi: Likewise.
50699         * doc/posix-functions/vswprintf.texi: Likewise.
50700         * doc/posix-functions/wcrtomb.texi: Likewise.
50701         * doc/posix-functions/wcscat.texi: Likewise.
50702         * doc/posix-functions/wcschr.texi: Likewise.
50703         * doc/posix-functions/wcscmp.texi: Likewise.
50704         * doc/posix-functions/wcscoll.texi: Likewise.
50705         * doc/posix-functions/wcscpy.texi: Likewise.
50706         * doc/posix-functions/wcscspn.texi: Likewise.
50707         * doc/posix-functions/wcsftime.texi: Likewise.
50708         * doc/posix-functions/wcslen.texi: Likewise.
50709         * doc/posix-functions/wcsncat.texi: Likewise.
50710         * doc/posix-functions/wcsncmp.texi: Likewise.
50711         * doc/posix-functions/wcsncpy.texi: Likewise.
50712         * doc/posix-functions/wcspbrk.texi: Likewise.
50713         * doc/posix-functions/wcsrchr.texi: Likewise.
50714         * doc/posix-functions/wcsrtombs.texi: Likewise.
50715         * doc/posix-functions/wcsspn.texi: Likewise.
50716         * doc/posix-functions/wcsstr.texi: Likewise.
50717         * doc/posix-functions/wcstod.texi: Likewise.
50718         * doc/posix-functions/wcstof.texi: Likewise.
50719         * doc/posix-functions/wcstoimax.texi: Likewise.
50720         * doc/posix-functions/wcstok.texi: Likewise.
50721         * doc/posix-functions/wcstold.texi: Likewise.
50722         * doc/posix-functions/wcstoll.texi: Likewise.
50723         * doc/posix-functions/wcstol.texi: Likewise.
50724         * doc/posix-functions/wcstombs.texi: Likewise.
50725         * doc/posix-functions/wcstoull.texi: Likewise.
50726         * doc/posix-functions/wcstoul.texi: Likewise.
50727         * doc/posix-functions/wcstoumax.texi: Likewise.
50728         * doc/posix-functions/wcswidth.texi: Likewise.
50729         * doc/posix-functions/wcsxfrm.texi: Likewise.
50730         * doc/posix-functions/wctob.texi: Likewise.
50731         * doc/posix-functions/wctomb.texi: Likewise.
50732         * doc/posix-functions/wctrans.texi: Likewise.
50733         * doc/posix-functions/wctype.texi: Likewise.
50734         * doc/posix-functions/wcwidth.texi: Likewise.
50735         * doc/posix-functions/wmemchr.texi: Likewise.
50736         * doc/posix-functions/wmemcmp.texi: Likewise.
50737         * doc/posix-functions/wmemcpy.texi: Likewise.
50738         * doc/posix-functions/wmemmove.texi: Likewise.
50739         * doc/posix-functions/wmemset.texi: Likewise.
50740         * doc/posix-functions/wprintf.texi: Likewise.
50741         * doc/posix-functions/wscanf.texi: Likewise.
50742
50743 2008-12-21  Bruno Haible  <bruno@clisp.org>
50744
50745         Update doc for HP-UX 11.11.
50746         * doc/posix-functions/btowc.texi: Clarify that the function is missing
50747         in HP-UX version 11.00, not in all versions of HP-UX 11.
50748         * doc/posix-functions/fwide.texi: Likewise.
50749         * doc/posix-functions/fwprintf.texi: Likewise.
50750         * doc/posix-functions/fwscanf.texi: Likewise.
50751         * doc/posix-functions/inet_ntop.texi: Likewise.
50752         * doc/posix-functions/inet_pton.texi: Likewise.
50753         * doc/posix-functions/mbrlen.texi: Likewise.
50754         * doc/posix-functions/mbrtowc.texi: Likewise.
50755         * doc/posix-functions/mbsinit.texi: Likewise.
50756         * doc/posix-functions/mbsrtowcs.texi: Likewise.
50757         * doc/posix-functions/swprintf.texi: Likewise.
50758         * doc/posix-functions/swscanf.texi: Likewise.
50759         * doc/posix-functions/towctrans.texi: Likewise.
50760         * doc/posix-functions/vfwprintf.texi: Likewise.
50761         * doc/posix-functions/vswprintf.texi: Likewise.
50762         * doc/posix-functions/vwprintf.texi: Likewise.
50763         * doc/posix-functions/wcrtomb.texi: Likewise.
50764         * doc/posix-functions/wcsrtombs.texi: Likewise.
50765         * doc/posix-functions/wcsstr.texi: Likewise.
50766         * doc/posix-functions/wctob.texi: Likewise.
50767         * doc/posix-functions/wctrans.texi: Likewise.
50768         * doc/posix-functions/wmemchr.texi: Likewise.
50769         * doc/posix-functions/wmemcmp.texi: Likewise.
50770         * doc/posix-functions/wmemcpy.texi: Likewise.
50771         * doc/posix-functions/wmemmove.texi: Likewise.
50772         * doc/posix-functions/wmemset.texi: Likewise.
50773         * doc/posix-functions/wprintf.texi: Likewise.
50774         * doc/posix-functions/wscanf.texi: Likewise.
50775
50776 2008-12-21  Bruno Haible  <bruno@clisp.org>
50777
50778         Work around a portability problem.
50779         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
50780         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
50781
50782 2008-12-20  Bruno Haible  <bruno@clisp.org>
50783
50784         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
50785         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
50786         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
50787         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
50788         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
50789
50790         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
50791         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
50792         set.
50793         (GNULIB_defined_mbstate_t): New macro.
50794         (mbsinit): Redefine if REPLACE_MBSINIT is set.
50795         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
50796         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
50797         reuses the system's mbrtowc function but works around the bugs.
50798         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
50799         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
50800         macros.
50801         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
50802         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
50803         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
50804         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
50805         REPLACE_MBSINIT if mbsinit needs to be overridden.
50806         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
50807         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50808         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
50809         REPLACE_MBSINIT, REPLACE_MBRTOWC.
50810         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
50811         m4/locale-zh.m4.
50812         (Depends): Add mbsinit.
50813         * modules/mbsinit (Depends): Add mbrtowc.
50814         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
50815
50816 2008-12-20  Bruno Haible  <bruno@clisp.org>
50817
50818         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
50819         so that there are no conversion errors on AIX.
50820         * tests/test-mbsrtowcs.c (main): LIkewise.
50821
50822 2008-12-20  Bruno Haible  <bruno@clisp.org>
50823
50824         Work around wctob bug on Solaris <= 9.
50825         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
50826         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
50827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
50828         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
50829         * modules/wctob (Files): Add m4/locale-fr.m4.
50830         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
50831
50832 2008-12-20  Bruno Haible  <bruno@clisp.org>
50833
50834         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
50835         /dev/null.
50836         * tests/test-select-in.sh: Likewise.
50837         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50838
50839 2008-12-20  Bruno Haible  <bruno@clisp.org>
50840
50841         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
50842         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
50843         Cygwin 1.5.x.
50844
50845 2008-12-20  Bruno Haible  <bruno@clisp.org>
50846
50847         Ensure mbstate_t is defined on HP-UX 11.11.
50848         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
50849         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
50850         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
50851         AC_USE_SYSTEM_EXTENSIONS.
50852         * modules/fnmatch (Depends-on): Add extensions.
50853         * modules/mbrlen (Depends-on): Likewise.
50854         * modules/mbrtowc (Depends-on): Likewise.
50855         * modules/mbsinit (Depends-on): Likewise.
50856         * modules/mbsrtowcs (Depends-on): Likewise.
50857         * modules/mbswidth (Depends-on): Likewise.
50858         * modules/quotearg (Depends-on): Likewise.
50859         * modules/strftime (Depends-on): Likewise.
50860
50861 2008-12-20  Bruno Haible  <bruno@clisp.org>
50862
50863         Ensure wctob is declared on IRIX 6.5.
50864         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
50865         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
50866         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
50867         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
50868         of HAVE_WCTOB.
50869         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
50870         HAVE_WCTOB.
50871         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
50872
50873 2008-12-19  Bruno Haible  <bruno@clisp.org>
50874
50875         * modules/mbsrtowcs-tests: New file.
50876         * tests/test-mbsrtowcs1.sh: New file.
50877         * tests/test-mbsrtowcs2.sh: New file.
50878         * tests/test-mbsrtowcs3.sh: New file.
50879         * tests/test-mbsrtowcs4.sh: New file.
50880         * tests/test-mbsrtowcs.c: New file.
50881
50882         New module 'mbsrtowcs'.
50883         * lib/wchar.in.h (mbsrtowcs): New declaration.
50884         * lib/mbsrtowcs.c: New file.
50885         * m4/mbsrtowcs.m4: New file.
50886         * modules/mbsrtowcs: New file.
50887         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
50888         HAVE_MBSRTOWCS.
50889         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
50890         HAVE_MBSRTOWCS.
50891         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
50892
50893 2008-12-19  Bruno Haible  <bruno@clisp.org>
50894
50895         New module 'mbrlen'.
50896         * lib/wchar.in.h (mbrlen): New declaration.
50897         * lib/mbrlen.c: New file.
50898         * m4/mbrlen.m4: New file.
50899         * modules/mbrlen: New file.
50900         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
50901         HAVE_MBRLEN.
50902         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
50903         HAVE_MBRLEN.
50904         * doc/posix-functions/mbrlen.texi: Document the new module.
50905
50906 2008-12-19  Bruno Haible  <bruno@clisp.org>
50907
50908         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
50909         * modules/mbrtowc (Depends-on): Add verify.
50910         Suggested by Paul Eggert.
50911
50912 2008-12-18  Bruno Haible  <bruno@clisp.org>
50913
50914         * modules/mbsinit-tests: New file.
50915         * tests/test-mbsinit.sh: New file.
50916         * tests/test-mbsinit.c: New file.
50917
50918 2008-12-18  Bruno Haible  <bruno@clisp.org>
50919
50920         * modules/mbrtowc-tests: New file.
50921         * tests/test-mbrtowc1.sh: New file.
50922         * tests/test-mbrtowc2.sh: New file.
50923         * tests/test-mbrtowc3.sh: New file.
50924         * tests/test-mbrtowc4.sh: New file.
50925         * tests/test-mbrtowc.c: New file.
50926
50927         New module 'mbrtowc'.
50928         * lib/wchar.in.h (mbstate_t): Override when the system does not have
50929         mbsinit and mbrtowc.
50930         (mbrtowc): New declaration.
50931         * lib/mbrtowc.c: New file.
50932         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
50933         * modules/mbrtowc: New file.
50934         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
50935         HAVE_MBRTOWC.
50936         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
50937         HAVE_MBRTOWC.
50938         * doc/posix-functions/mbrtowc.texi: Document the new module.
50939
50940 2008-12-18  Bruno Haible  <bruno@clisp.org>
50941
50942         New module 'wctob'.
50943         * lib/wchar.in.h (wctob): New declaration.
50944         * lib/wctob.c: New file.
50945         * m4/wctob.m4: New file.
50946         * modules/wctob: New file.
50947         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
50948         HAVE_WCTOB.
50949         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
50950         * doc/posix-functions/wctob.texi: Document the new module.
50951
50952 2008-12-18  Bruno Haible  <bruno@clisp.org>
50953
50954         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
50955         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
50956
50957 2008-12-18  Simon Josefsson  <simon@josefsson.org>
50958
50959         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
50960         G. Christensen" <tgc@jupiterrise.com>.
50961
50962         * lib/flock.c: Need to include errno.h.  Reported by "Tom
50963         G. Christensen" <tgc@jupiterrise.com>.
50964
50965         * lib/flock.c: Need to include string.h.  Reported by "Tom
50966         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
50967         <ebb9@byu.net>.
50968
50969 2008-12-18  Bruno Haible  <bruno@clisp.org>
50970
50971         * m4/locale-ja.m4: New file, from GNU gettext.
50972
50973 2008-12-17  Bruno Haible  <bruno@clisp.org>
50974
50975         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
50976         Suggested by Eric Blake.
50977
50978 2008-12-17  Bruno Haible  <bruno@clisp.org>
50979
50980         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
50981
50982 2008-12-17  Bruno Haible  <bruno@clisp.org>
50983
50984         * lib/mbsinit.c: Include verify.h. Verify an assumption.
50985         * modules/mbsinit (Depends-on): Add verify.
50986         Suggested by Paul Eggert.
50987
50988 2008-12-17  Bruno Haible  <bruno@clisp.org>
50989
50990         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
50991         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
50992         gl_FUNC_MBRTOWC.
50993         * m4/mbiter.m4 (gl_MBITER): LIkewise.
50994         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
50995         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
50996         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
50997         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
50998         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
50999         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
51000         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
51001         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
51002         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
51003         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
51004         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
51005         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
51006         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
51007         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
51008         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51009         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
51010         * modules/trim (configure.ac): Likewise.
51011
51012 2008-12-17  Bruno Haible  <bruno@clisp.org>
51013
51014         * modules/btowc-tests: New file.
51015         * tests/test-btowc1.sh: New file.
51016         * tests/test-btowc2.sh: New file.
51017         * tests/test-btowc.c: New file.
51018
51019         New module 'btowc'.
51020         * lib/wchar.in.h (btowc): New declaration.
51021         * lib/btowc.c: New file.
51022         * m4/btowc.m4: New file.
51023         * modules/btowc: New file.
51024         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
51025         HAVE_BTOWC.
51026         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
51027         * doc/posix-functions/btowc.texi: Document the new module.
51028
51029 2008-12-17  Bruno Haible  <bruno@clisp.org>
51030
51031         New module 'mbsinit'.
51032         * lib/wchar.in.h (mbsinit): New declaration.
51033         * lib/mbsinit.c: New file.
51034         * m4/mbsinit.m4: New file.
51035         * modules/mbsinit: New file.
51036         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
51037         HAVE_MBSINIT.
51038         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
51039         HAVE_MBSINIT.
51040         * doc/posix-functions/mbsinit.texi: Document the new module.
51041
51042 2008-12-16  Bruno Haible  <bruno@clisp.org>
51043
51044         * lib/unistd.in.h: Add comment.
51045         * tests/test-environ.c: Don't include <stdlib.h>.
51046
51047 2008-12-16  Bruno Haible  <bruno@clisp.org>
51048
51049         * lib/parse-duration.h (parse_duration): Document return value
51050         convention.
51051         * lib/parse-duration.c: Include specification header first. Add
51052         comments.
51053         (_): Remove macro.
51054         (parse_year_month_day, parse_hour_minute_second): Move side effects
51055         outside of strchr call.
51056         (parse_non_iso8601): Move side effects outside of isspace call.
51057         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
51058         call.
51059
51060 2008-12-16  Bruno Haible  <bruno@clisp.org>
51061
51062         * tests/test-parse-duration.sh: Produce no output when the test
51063         succeeds.
51064
51065 2008-12-16  Bruno Haible  <bruno@clisp.org>
51066
51067         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
51068         expressions.
51069
51070 2008-12-15  Bruno Haible  <bruno@clisp.org>
51071
51072         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
51073         * doc/glibc-functions/flistxattr.texi: Likewise.
51074         * doc/glibc-functions/fopencookie.texi: Likewise.
51075         * doc/glibc-functions/fremovexattr.texi: Likewise.
51076         * doc/glibc-functions/fsetxattr.texi: Likewise.
51077         * doc/glibc-functions/getxattr.texi: Likewise.
51078         * doc/glibc-functions/lgetxattr.texi: Likewise.
51079         * doc/glibc-functions/listxattr.texi: Likewise.
51080         * doc/glibc-functions/llistxattr.texi: Likewise.
51081         * doc/glibc-functions/lremovexattr.texi: Likewise.
51082         * doc/glibc-functions/lsetxattr.texi: Likewise.
51083         * doc/glibc-functions/removexattr.texi: Likewise.
51084         * doc/glibc-functions/setxattr.texi: Likewise.
51085         * doc/posix-functions/open_memstream.texi: Likewise.
51086
51087 2008-12-15  Eric Blake  <ebb9@byu.net>
51088
51089         Update doc for cygwin 1.7.
51090         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
51091         functions.
51092         * doc/posix-functions/fchmodat.texi: Likewise.
51093         * doc/posix-functions/fchownat.texi: Likewise.
51094         * doc/posix-functions/fdopendir.texi: Likewise.
51095         * doc/posix-functions/fmemopen.texi: Likewise.
51096         * doc/posix-functions/freeaddrinfo.texi: Likewise.
51097         * doc/posix-functions/fstatat.texi: Likewise.
51098         * doc/posix-functions/futimens.texi: Likewise.
51099         * doc/posix-functions/gai_strerror.texi: Likewise.
51100         * doc/posix-functions/getaddrinfo.texi: Likewise.
51101         * doc/posix-functions/getnameinfo.texi: Likewise.
51102         * doc/posix-functions/if_freenameindex.texi: Likewise.
51103         * doc/posix-functions/if_indextoname.texi: Likewise.
51104         * doc/posix-functions/if_nameindex.texi: Likewise.
51105         * doc/posix-functions/if_nametoindex.texi: Likewise.
51106         * doc/posix-functions/insque.texi: Likewise.
51107         * doc/posix-functions/linkat.texi: Likewise.
51108         * doc/posix-functions/llrint.texi: Likewise.
51109         * doc/posix-functions/llrintf.texi: Likewise.
51110         * doc/posix-functions/llrintl.texi: Likewise.
51111         * doc/posix-functions/lockf.texi: Likewise.
51112         * doc/posix-functions/lrintl.texi: Likewise.
51113         * doc/posix-functions/mkdirat.texi: Likewise.
51114         * doc/posix-functions/mkfifoat.texi: Likewise.
51115         * doc/posix-functions/mknodat.texi: Likewise.
51116         * doc/posix-functions/mq_close.texi: Likewise.
51117         * doc/posix-functions/mq_getattr.texi: Likewise.
51118         * doc/posix-functions/mq_notify.texi: Likewise.
51119         * doc/posix-functions/mq_open.texi: Likewise.
51120         * doc/posix-functions/mq_receive.texi: Likewise.
51121         * doc/posix-functions/mq_send.texi: Likewise.
51122         * doc/posix-functions/mq_setattr.texi: Likewise.
51123         * doc/posix-functions/mq_timedreceive.texi: Likewise.
51124         * doc/posix-functions/mq_timedsend.texi: Likewise.
51125         * doc/posix-functions/mq_unlink.texi: Likewise.
51126         * doc/posix-functions/open_memstream.texi: Likewise.
51127         * doc/posix-functions/openat.texi: Likewise.
51128         * doc/posix-functions/posix_fadvise.texi: Likewise.
51129         * doc/posix-functions/posix_fallocate.texi: Likewise.
51130         * doc/posix-functions/posix_madvise.texi: Likewise.
51131         * doc/posix-functions/posix_memalign.texi: Likewise.
51132         * doc/posix-functions/posix_openpt.texi: Likewise.
51133         * doc/posix-functions/readlinkat.texi: Likewise.
51134         * doc/posix-functions/remque.texi: Likewise.
51135         * doc/posix-functions/renameat.texi: Likewise.
51136         * doc/posix-functions/rintl.texi: Likewise.
51137         * doc/posix-functions/sem_unlink.texi: Likewise.
51138         * doc/posix-functions/shm_open.texi: Likewise.
51139         * doc/posix-functions/shm_unlink.texi: Likewise.
51140         * doc/posix-functions/signgam.texi: Likewise.
51141         * doc/posix-functions/sigset.texi: Likewise.
51142         * doc/posix-functions/stpcpy.texi: Likewise.
51143         * doc/posix-functions/stpncpy.texi: Likewise.
51144         * doc/posix-functions/strerror.texi: Likewise.
51145         * doc/posix-functions/strtod.texi: Likewise.
51146         * doc/posix-functions/symlinkat.texi: Likewise.
51147         * doc/posix-functions/unlinkat.texi: Likewise.
51148         * doc/posix-functions/utimensat.texi: Likewise.
51149         * doc/glibc-functions/bindresvport.texi: Likewise.
51150         * doc/glibc-functions/dn_expand.texi: Likewise.
51151         * doc/glibc-functions/exp10.texi: Likewise.
51152         * doc/glibc-functions/exp10f.texi: Likewise.
51153         * doc/glibc-functions/fgetxattr.texi: Likewise.
51154         * doc/glibc-functions/flistxattr.texi: Likewise.
51155         * doc/glibc-functions/fopencookie.texi: Likewise.
51156         * doc/glibc-functions/freeifaddrs.texi: Likewise.
51157         * doc/glibc-functions/fremovexattr.texi: Likewise.
51158         * doc/glibc-functions/fsetxattr.texi: Likewise.
51159         * doc/glibc-functions/getifaddrs.texi: Likewise.
51160         * doc/glibc-functions/getxattr.texi: Likewise.
51161         * doc/glibc-functions/lgetxattr.texi: Likewise.
51162         * doc/glibc-functions/listxattr.texi: Likewise.
51163         * doc/glibc-functions/llistxattr.texi: Likewise.
51164         * doc/glibc-functions/lremovexattr.texi: Likewise.
51165         * doc/glibc-functions/lsetxattr.texi: Likewise.
51166         * doc/glibc-functions/pow10.texi: Likewise.
51167         * doc/glibc-functions/pow10f.texi: Likewise.
51168         * doc/glibc-functions/rcmd_af.texi: Likewise.
51169         * doc/glibc-functions/removexattr.texi: Likewise.
51170         * doc/glibc-functions/res_init.texi: Likewise.
51171         * doc/glibc-functions/res_mkquery.texi: Likewise.
51172         * doc/glibc-functions/res_query.texi: Likewise.
51173         * doc/glibc-functions/res_querydomain.texi: Likewise.
51174         * doc/glibc-functions/res_send.texi: Likewise.
51175         * doc/glibc-functions/rresvport_af.texi: Likewise.
51176         * doc/glibc-functions/setxattr.texi: Likewise.
51177         * doc/glibc-functions/strcasestr.texi: Likewise.
51178
51179 2008-12-15  Bruno Haible  <bruno@clisp.org>
51180
51181         Fix compilation error on OSF/1 4.0.
51182         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
51183         <sys/time.h>, simply delegate to the system header.
51184         Reported by Daniel Richard G. <oss@teragram.com>.
51185
51186 2008-12-15  Bruno Haible  <bruno@clisp.org>
51187
51188         * doc/posix-functions/openat.texi: Mention the 'openat' module.
51189         * doc/posix-functions/fchmodat.texi: Likewise.
51190         * doc/posix-functions/fchownat.texi: Likewise.
51191         * doc/posix-functions/fdopendir.texi: Likewise.
51192         * doc/posix-functions/fstatat.texi: Likewise.
51193         * doc/posix-functions/mkdirat.texi: Likewise.
51194         * doc/posix-functions/unlinkat.texi: Likewise.
51195
51196 2008-12-14  Bruno Haible  <bruno@clisp.org>
51197
51198         Update doc for POSIX:2008.
51199         * doc/posix-functions/faccessat.texi: New file.
51200         * doc/posix-functions/fchmodat.texi: New file.
51201         * doc/posix-functions/fchownat.texi: New file.
51202         * doc/posix-functions/fdopendir.texi: New file.
51203         * doc/posix-functions/fstatat.texi: New file.
51204         * doc/posix-functions/futimens.texi: New file.
51205         * doc/posix-functions/linkat.texi: New file.
51206         * doc/posix-functions/mkdirat.texi: New file.
51207         * doc/posix-functions/mkfifoat.texi: New file.
51208         * doc/posix-functions/mknodat.texi: New file.
51209         * doc/posix-functions/open_wmemstream.texi: New file.
51210         * doc/posix-functions/openat.texi: New file.
51211         * doc/posix-functions/psiginfo.texi: New file.
51212         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
51213         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
51214         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
51215         * doc/posix-functions/readlinkat.texi: New file.
51216         * doc/posix-functions/renameat.texi: New file.
51217         * doc/posix-functions/strerror_l.texi: New file.
51218         * doc/posix-functions/symlinkat.texi: New file.
51219         * doc/posix-functions/unlinkat.texi: New file.
51220         * doc/posix-functions/utimensat.texi: New file.
51221         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51222
51223 2008-12-14  Bruno Haible  <bruno@clisp.org>
51224
51225         Update doc for POSIX:2008.
51226         * doc/posix-functions/alphasort.texi: Renamed from
51227         doc/glibc-functions/alphasort.texi.
51228         * doc/posix-functions/dirfd.texi: Renamed from
51229         doc/glibc-functions/dirfd.texi.
51230         * doc/posix-functions/dprintf.texi: Renamed from
51231         doc/glibc-functions/dprintf.texi.
51232         * doc/posix-functions/duplocale.texi: Renamed from
51233         doc/glibc-functions/duplocale.texi.
51234         * doc/posix-functions/fexecve.texi: Renamed from
51235         doc/glibc-functions/fexecve.texi.
51236         * doc/posix-functions/fmemopen.texi: Renamed from
51237         doc/glibc-functions/fmemopen.texi.
51238         * doc/posix-functions/freelocale.texi: Renamed from
51239         doc/glibc-functions/freelocale.texi.
51240         * doc/posix-functions/getdate_err.texi: Renamed from
51241         doc/glibc-functions/getdate_err.texi.
51242         * doc/posix-functions/isalnum_l.texi: Renamed from
51243         doc/glibc-functions/isalnum_l.texi.
51244         * doc/posix-functions/isalpha_l.texi: Renamed from
51245         doc/glibc-functions/isalpha_l.texi.
51246         * doc/posix-functions/isblank_l.texi: Renamed from
51247         doc/glibc-functions/isblank_l.texi.
51248         * doc/posix-functions/iscntrl_l.texi: Renamed from
51249         doc/glibc-functions/iscntrl_l.texi.
51250         * doc/posix-functions/isdigit_l.texi: Renamed from
51251         doc/glibc-functions/isdigit_l.texi.
51252         * doc/posix-functions/isgraph_l.texi: Renamed from
51253         doc/glibc-functions/isgraph_l.texi.
51254         * doc/posix-functions/islower_l.texi: Renamed from
51255         doc/glibc-functions/islower_l.texi.
51256         * doc/posix-functions/isprint_l.texi: Renamed from
51257         doc/glibc-functions/isprint_l.texi.
51258         * doc/posix-functions/ispunct_l.texi: Renamed from
51259         doc/glibc-functions/ispunct_l.texi.
51260         * doc/posix-functions/isspace_l.texi: Renamed from
51261         doc/glibc-functions/isspace_l.texi.
51262         * doc/posix-functions/isupper_l.texi: Renamed from
51263         doc/glibc-functions/isupper_l.texi.
51264         * doc/posix-functions/iswalnum_l.texi: Renamed from
51265         doc/glibc-functions/iswalnum_l.texi.
51266         * doc/posix-functions/iswalpha_l.texi: Renamed from
51267         doc/glibc-functions/iswalpha_l.texi.
51268         * doc/posix-functions/iswblank_l.texi: Renamed from
51269         doc/glibc-functions/iswblank_l.texi.
51270         * doc/posix-functions/iswcntrl_l.texi: Renamed from
51271         doc/glibc-functions/iswcntrl_l.texi.
51272         * doc/posix-functions/iswctype_l.texi: Renamed from
51273         doc/glibc-functions/iswctype_l.texi.
51274         * doc/posix-functions/iswdigit_l.texi: Renamed from
51275         doc/glibc-functions/iswdigit_l.texi.
51276         * doc/posix-functions/iswgraph_l.texi: Renamed from
51277         doc/glibc-functions/iswgraph_l.texi.
51278         * doc/posix-functions/iswlower_l.texi: Renamed from
51279         doc/glibc-functions/iswlower_l.texi.
51280         * doc/posix-functions/iswprint_l.texi: Renamed from
51281         doc/glibc-functions/iswprint_l.texi.
51282         * doc/posix-functions/iswpunct_l.texi: Renamed from
51283         doc/glibc-functions/iswpunct_l.texi.
51284         * doc/posix-functions/iswspace_l.texi: Renamed from
51285         doc/glibc-functions/iswspace_l.texi.
51286         * doc/posix-functions/iswupper_l.texi: Renamed from
51287         doc/glibc-functions/iswupper_l.texi.
51288         * doc/posix-functions/iswxdigit_l.texi: Renamed from
51289         doc/glibc-functions/iswxdigit_l.texi.
51290         * doc/posix-functions/isxdigit_l.texi: Renamed from
51291         doc/glibc-functions/isxdigit_l.texi.
51292         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
51293         doc/glibc-functions/mbsnrtowcs.texi.
51294         * doc/posix-functions/mkdtemp.texi: Renamed from
51295         doc/glibc-functions/mkdtemp.texi.
51296         * doc/posix-functions/newlocale.texi: Renamed from
51297         doc/glibc-functions/newlocale.texi.
51298         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
51299         doc/glibc-functions/nl_langinfo_l.texi.
51300         * doc/posix-functions/open_memstream.texi: Renamed from
51301         doc/glibc-functions/open_memstream.texi.
51302         * doc/posix-functions/opterr.texi: Renamed from
51303         doc/glibc-functions/opterr.texi.
51304         * doc/posix-functions/optind.texi: Renamed from
51305         doc/glibc-functions/optind.texi.
51306         * doc/posix-functions/optopt.texi: Renamed from
51307         doc/glibc-functions/optopt.texi.
51308         * doc/posix-functions/psignal.texi: Renamed from
51309         doc/glibc-functions/psignal.texi.
51310         * doc/posix-functions/scandir.texi: Renamed from
51311         doc/glibc-functions/scandir.texi.
51312         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
51313         doc/glibc-functions/sched_get_priority_min.texi.
51314         * doc/posix-functions/signgam.texi: Renamed from
51315         doc/glibc-functions/signgam.texi.
51316         * doc/posix-functions/stpcpy.texi: Renamed from
51317         doc/glibc-functions/stpcpy.texi.
51318         * doc/posix-functions/stpncpy.texi: Renamed from
51319         doc/glibc-functions/stpncpy.texi.
51320         * doc/posix-functions/strcasecmp_l.texi: Renamed from
51321         doc/glibc-functions/strcasecmp_l.texi.
51322         * doc/posix-functions/strcoll_l.texi: Renamed from
51323         doc/glibc-functions/strcoll_l.texi.
51324         * doc/posix-functions/strfmon_l.texi: Renamed from
51325         doc/glibc-functions/strfmon_l.texi.
51326         * doc/posix-functions/strftime_l.texi: Renamed from
51327         doc/glibc-functions/strftime_l.texi.
51328         * doc/posix-functions/strncasecmp_l.texi: Renamed from
51329         doc/glibc-functions/strncasecmp_l.texi.
51330         * doc/posix-functions/strndup.texi: Renamed from
51331         doc/glibc-functions/strndup.texi.
51332         * doc/posix-functions/strnlen.texi: Renamed from
51333         doc/glibc-functions/strnlen.texi.
51334         * doc/posix-functions/strsignal.texi: Renamed from
51335         doc/glibc-functions/strsignal.texi.
51336         * doc/posix-functions/strxfrm_l.texi: Renamed from
51337         doc/glibc-functions/strxfrm_l.texi.
51338         * doc/posix-functions/timer_gettime.texi: Renamed from
51339         doc/glibc-functions/timer_gettime.texi.
51340         * doc/posix-functions/tolower_l.texi: Renamed from
51341         doc/glibc-functions/tolower_l.texi.
51342         * doc/posix-functions/toupper_l.texi: Renamed from
51343         doc/glibc-functions/toupper_l.texi.
51344         * doc/posix-functions/towctrans_l.texi: Renamed from
51345         doc/glibc-functions/towctrans_l.texi.
51346         * doc/posix-functions/towlower_l.texi: Renamed from
51347         doc/glibc-functions/towlower_l.texi.
51348         * doc/posix-functions/towupper_l.texi: Renamed from
51349         doc/glibc-functions/towupper_l.texi.
51350         * doc/posix-functions/uselocale.texi: Renamed from
51351         doc/glibc-functions/uselocale.texi.
51352         * doc/posix-functions/vdprintf.texi: Renamed from
51353         doc/glibc-functions/vdprintf.texi.
51354         * doc/posix-functions/wcpcpy.texi:
51355         Renamed from doc/glibc-functions/wcpcpy.texi.
51356         * doc/posix-functions/wcpncpy.texi: Renamed from
51357         doc/glibc-functions/wcpncpy.texi.
51358         * doc/posix-functions/wcscasecmp.texi: Renamed from
51359         doc/glibc-functions/wcscasecmp.texi.
51360         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
51361         doc/glibc-functions/wcscasecmp_l.texi.
51362         * doc/posix-functions/wcscoll_l.texi: Renamed from
51363         doc/glibc-functions/wcscoll_l.texi.
51364         * doc/posix-functions/wcsdup.texi: Renamed from
51365         doc/glibc-functions/wcsdup.texi.
51366         * doc/posix-functions/wcsncasecmp.texi: Renamed from
51367         doc/glibc-functions/wcsncasecmp.texi.
51368         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
51369         doc/glibc-functions/wcsncasecmp_l.texi.
51370         * doc/posix-functions/wcsnlen.texi: Renamed from
51371         doc/glibc-functions/wcsnlen.texi.
51372         * doc/posix-functions/wcsnrtombs.texi: Renamed from
51373         doc/glibc-functions/wcsnrtombs.texi.
51374         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
51375         doc/glibc-functions/wcsxfrm_l.texi.
51376         * doc/posix-functions/wctrans_l.texi: Renamed from
51377         doc/glibc-functions/wctrans_l.texi.
51378         * doc/posix-functions/wctype_l.texi: Renamed from
51379         doc/glibc-functions/wctype_l.texi.
51380         * doc/gnulib.texi (Function Substitutes): Add these subsections.
51381         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
51382         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
51383         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
51384         these subsections.
51385         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
51386         Remove sections.
51387
51388 2008-12-14  Bruno Haible  <bruno@clisp.org>
51389
51390         Update doc for POSIX:2008.
51391         * doc/posix-functions/*.texi: Update URL of POSIX specification.
51392
51393 2008-12-14  Bruno Haible  <bruno@clisp.org>
51394
51395         Update doc for POSIX:2008.
51396         * doc/pastposix-functions/bcmp.texi: Renamed from
51397         doc/posix-functions/bcmp.texi.
51398         * doc/pastposix-functions/bcopy.texi: Renamed from
51399         doc/posix-functions/bcopy.texi.
51400         * doc/pastposix-functions/bsd_signal.texi: Renamed from
51401         doc/posix-functions/bsd_signal.texi.
51402         * doc/pastposix-functions/bzero.texi: Renamed from
51403         doc/posix-functions/bzero.texi.
51404         * doc/pastposix-functions/ecvt.texi: Renamed from
51405         doc/posix-functions/ecvt.texi.
51406         * doc/pastposix-functions/fcvt.texi: Renamed from
51407         doc/posix-functions/fcvt.texi.
51408         * doc/pastposix-functions/ftime.texi: Renamed from
51409         doc/posix-functions/ftime.texi.
51410         * doc/pastposix-functions/gcvt.texi: Renamed from
51411         doc/posix-functions/gcvt.texi.
51412         * doc/pastposix-functions/getcontext.texi: Renamed from
51413         doc/posix-functions/getcontext.texi.
51414         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
51415         doc/posix-functions/gethostbyaddr.texi.
51416         * doc/pastposix-functions/gethostbyname.texi: Renamed from
51417         doc/posix-functions/gethostbyname.texi.
51418         * doc/pastposix-functions/getwd.texi: Renamed from
51419         doc/posix-functions/getwd.texi.
51420         * doc/pastposix-functions/h_errno.texi: Renamed from
51421         doc/posix-functions/h_errno.texi.
51422         * doc/pastposix-functions/index.texi: Renamed from
51423         doc/posix-functions/index.texi.
51424         * doc/pastposix-functions/makecontext.texi: Renamed from
51425         doc/posix-functions/makecontext.texi.
51426         * doc/pastposix-functions/mktemp.texi: Renamed from
51427         doc/posix-functions/mktemp.texi.
51428         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
51429         doc/posix-functions/pthread_attr_getstackaddr.texi.
51430         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
51431         doc/posix-functions/pthread_attr_setstackaddr.texi.
51432         * doc/pastposix-functions/rindex.texi: Renamed from
51433         doc/posix-functions/rindex.texi.
51434         * doc/pastposix-functions/scalb.texi: Renamed from
51435         doc/posix-functions/scalb.texi.
51436         * doc/pastposix-functions/setcontext.texi: Renamed from
51437         doc/posix-functions/setcontext.texi.
51438         * doc/pastposix-functions/swapcontext.texi: Renamed from
51439         doc/posix-functions/swapcontext.texi.
51440         * doc/pastposix-functions/ualarm.texi: Renamed from
51441         doc/posix-functions/ualarm.texi.
51442         * doc/pastposix-functions/usleep.texi: Renamed from
51443         doc/posix-functions/usleep.texi.
51444         * doc/pastposix-functions/vfork.texi: Renamed from
51445         doc/posix-functions/vfork.texi.
51446         * doc/pastposix-functions/wcswcs.texi: Renamed from
51447         doc/posix-functions/wcswcs.texi.
51448         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
51449         (Function Substitutes): Update.
51450
51451 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51452
51453         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
51454         m4/strerror.m4.
51455
51456 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51457             Bruno Haible  <bruno@clisp.org>
51458
51459         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
51460
51461 2008-12-13  Bruno Haible  <bruno@clisp.org>
51462
51463         * modules/strtoull (Depends-on): Remove unistd.
51464
51465 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51466
51467         * modules/strtoull (Depends-on): Add stdlib.
51468
51469 2008-12-11  Simon Josefsson  <simon@josefsson.org>
51470
51471         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
51472
51473 2008-12-10  Jim Meyering  <meyering@redhat.com>
51474
51475         gl_ASSERT: don't say assertions are disabled when they're not
51476         * m4/assert.m4 (gl_ASSERT): Do not make configure report
51477         "checking whether to enable assertions... no", when they are in
51478         fact enabled.  This is solely a bug in the output of configure.
51479         In spite of saying "no", NDEBUG was not defined in that case.
51480         Also, as noted by Eric Blake, leave assertions enabled upon
51481         --enable-assert=INVALID.
51482
51483 2008-12-10  Bruno Haible  <bruno@clisp.org>
51484
51485         Change MODULES.html to refer to POSIX:2008 where possible.
51486         * MODULES.html.sh (POSIX2008_URL): New variable.
51487         (posix_headers): Remove sys/timeb, ucontext.
51488         (posix2001_headers): New variable.
51489         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
51490         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
51491         index, makecontext, mktemp, pthread_attr_getstackaddr,
51492         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
51493         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
51494         (posix2001_functions): New variable.
51495         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
51496         otherwise.
51497
51498 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51499
51500         add missing include to parse-duration.c
51501         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
51502         * modules/parse-duration (Depends-on): Add xalloc.
51503
51504         fix sed script reading maint.mk
51505         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
51506         (syntax-check-rules): Use it.
51507
51508 2008-12-09  Bruno Haible  <bruno@clisp.org>
51509
51510         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
51511         MacOS X 10.4/PowerPC.
51512         Reported by Simon Josefsson.
51513
51514 2008-12-08  Jim Meyering  <meyering@redhat.com>
51515
51516         work around mingw's lack of some S_IF definitions
51517         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
51518         Reported by Simon Josefsson.
51519
51520 2008-12-08  Bruno Haible  <bruno@clisp.org>
51521
51522         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
51523         applied to variables. Needed on MacOS X 10.4/PowerPC.
51524         Reported by Simon Josefsson.
51525
51526 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
51527         and Eric Blake  <ebb9@byu.net>
51528
51529         assert: honor --enable-assert
51530         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
51531         order to honor --enable-assert, rather than treating it as a
51532         synonym for --disable-assert.
51533
51534 2008-12-08  Jim Meyering  <meyering@redhat.com>
51535
51536         * lib/posixtm.c: Remove now-useless declaration of mktime.
51537
51538         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
51539
51540 2008-12-07  Bruno Haible  <bruno@clisp.org>
51541
51542         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
51543         test_once): Mark functions as static.
51544         * tests/test-tls.c (test_tls): Likewise.
51545
51546 2008-12-07  Bruno Haible  <bruno@clisp.org>
51547
51548         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
51549         iconv_register_autodetect.
51550
51551 2008-12-07  Jim Meyering  <meyering@redhat.com>
51552
51553         posixtm.c: avoid a warning
51554         * lib/posixtm.c (posixtime): Don't initialize tm0.
51555         It's no longer needed to placate gcc4's -Wuninitialized,
51556         and the attempt to placate would elicit a new warning.
51557
51558         unicodeio.c: mark unused parameters
51559         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51560         (fallback_failure_callback): Likewise.
51561
51562 2008-12-07  Bruno Haible  <bruno@clisp.org>
51563
51564         * gnulib-tool (func_create_testdir): When building the tests
51565         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
51566         Reported by Simon Josefsson.
51567
51568 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51569
51570         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
51571
51572 2008-12-06  Bruno Haible  <bruno@clisp.org>
51573
51574         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
51575         Suggested by Eric Blake.
51576
51577 2008-12-06  Bruno Haible  <bruno@clisp.org>
51578
51579         Fix a c-stack test failure on MacOS X.
51580         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
51581         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
51582         handler for SIGBUS as well.
51583         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
51584         install a signal handler for SIGBUS as well.
51585         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
51586
51587 2008-12-06  Bruno Haible  <bruno@clisp.org>
51588
51589         Advocacy documentation.
51590         * doc/gnulib-intro.texi (Benefits): New section.
51591         * doc/gnulib.texi: Update.
51592
51593 2008-12-06  Bruno Haible  <bruno@clisp.org>
51594
51595         Document the 'manywarnings' module.
51596         * doc/manywarnings.texi: New file.
51597         * doc/gnulib.texi: Include it.
51598
51599 2008-12-05  Eric Blake  <ebb9@byu.net>
51600
51601         tests: silence some gcc warnings
51602         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
51603         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
51604         type mismatches.
51605
51606 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51607             Bruno Haible  <bruno@clisp.org>
51608
51609         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
51610
51611 2008-11-29  Jim Meyering  <meyering@redhat.com>
51612
51613         unicodeio.c: mark unused parameters
51614         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
51615         (fallback_failure_callback): Likewise.
51616
51617         fts: fix a thinko
51618         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
51619         (set_stat_type): Return S_IF*-valued "type" directly.
51620         Prompted by James Youngman's spotting a related bug.
51621         Confirmed by further testing through find.
51622
51623         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
51624         * lib/fts.c (D_TYPE): Define.
51625         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
51626         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
51627         (s_ifmt_shift_bits): New function.
51628         (set_stat_type): New function.
51629         (fts_build): When not calling fts_stat, call set_stat_type
51630         to propagate dirent.d_type info to fts_read caller.
51631         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
51632         fts_statp->st_mode type information may be valid.
51633
51634 2008-11-28  Simon Josefsson  <simon@josefsson.org>
51635
51636         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
51637         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
51638         <sds@gnu.org>.
51639
51640 2008-11-20  Bruno Haible  <bruno@clisp.org>
51641
51642         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
51643         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
51644         INCLUDE_NEXT.
51645         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
51646         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
51647         * modules/math (Makefile.am): Substitute
51648         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
51649         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51650
51651 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
51652             Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/stdint.in.h: Define all type macros so that their expansion is
51655         a single typedef'ed token. Fixes a compilation failure in Boost which
51656         does "using ::int8_t;".
51657
51658 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51659
51660         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
51661         gl_MANYWARN_ALL_GCC.
51662         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
51663         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
51664         * modules/manywarnings: New file.
51665         * MODULES.html.sh: Mention manywarnings module.
51666
51667 2008-11-18  Bruno Haible  <bruno@clisp.org>
51668
51669         * doc/gnulib-tool.texi (Unit tests): New section.
51670
51671 2008-11-18  Simon Josefsson  <simon@josefsson.org>
51672
51673         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
51674         paths like 'lib/po/foo.po'.
51675
51676 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51677
51678         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
51679         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
51680
51681 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51682
51683         * m4/warnings.m4: Use CPPFLAGS to really check whether the
51684         parameter works.
51685
51686 2008-11-17  Simon Josefsson  <simon@josefsson.org>
51687
51688         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
51689
51690 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51691
51692         * modules/parse-duration-tests: New file.
51693         * tests/test-parse-duration.sh: New file.
51694         * tests/test-parse-duration.c: New file.
51695
51696         New module 'parse-duration'.
51697         * lib/parse-duration.h: New file.
51698         * lib/parse-duration.c: New file.
51699         * modules/parse-duration: New file.
51700
51701 2008-11-17  Bruno Haible  <bruno@clisp.org>
51702
51703         * tests/test-select-out.sh: Comment out the first pipe test.
51704         Reported by Simon Josefsson.
51705
51706 2008-11-17  Bruno Haible  <bruno@clisp.org>
51707
51708         * modules/getaddrinfo (Depends-on): Add servent, hostent.
51709         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
51710         gl_HOSTENT.
51711
51712 2008-11-17  Bruno Haible  <bruno@clisp.org>
51713
51714         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
51715         -lnetwork and -lnet. Needed for Haiku and BeOS.
51716
51717 2008-11-16  Bruno Haible  <bruno@clisp.org>
51718
51719         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
51720
51721 2008-11-16  Bruno Haible  <bruno@clisp.org>
51722
51723         Avoid test failure on Haiku.
51724         * tests/test-fsync.c: Include <errno.h>.
51725         (main): Don't require that fsync (0) fails.
51726
51727 2008-11-15  Bruno Haible  <bruno@clisp.org>
51728
51729         New module 'hostent'.
51730         * modules/hostent: New file.
51731         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
51732
51733 2008-11-15  Bruno Haible  <bruno@clisp.org>
51734
51735         New module 'servent'.
51736         * modules/servent: New file.
51737         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
51738
51739 2008-11-15  Bruno Haible  <bruno@clisp.org>
51740
51741         Avoid generating same test program with two different rules.
51742         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
51743         test-frexp to test-frexp-nolibm.
51744         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
51745         test-frexpl to test-frexpl-nolibm.
51746
51747 2008-11-15  Bruno Haible  <bruno@clisp.org>
51748
51749         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
51750         $(FREXPL_LIBM).
51751
51752 2008-11-15  Bruno Haible  <bruno@clisp.org>
51753
51754         * lib/netdb.in.h: Activate the definitions also when the system's
51755         <netdb.h> has 'struct addrinfo'.
51756         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
51757         EAI_OVERFLOW or AI_NUMERICSERV.
51758         * doc/posix-headers/netdb.texi: Document the problem.
51759
51760 2008-11-15  Bruno Haible  <bruno@clisp.org>
51761
51762         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
51763
51764         Make the 'sched' module work on platforms where <sched.h> exists but
51765         is incomplete (such as Haiku).
51766         * lib/sched.in.h; Include the system's <sched.h> if it exists.
51767         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
51768         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
51769         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
51770         HAVE_STRUCT_SCHED_PARAM.
51771         * modules/sched (Depends-on): Add include_next.
51772         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
51773         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
51774         * doc/posix-headers/sched.texi: Document the issue.
51775
51776 2008-11-13  Jim Meyering  <meyering@redhat.com>
51777
51778         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
51779         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
51780         test would fail due to the difference in the Report bugs to ...
51781         line.  The expected address is empty, "<>", while the actual
51782         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
51783
51784 2008-11-12  Bruno Haible  <bruno@clisp.org>
51785
51786         lstat: don't compile lstat.c on systems lacking lstat
51787         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
51788         which don't have lstat; this is handled by lib/sys_stat.in.h already.
51789         Reported by Daniel P. Berrange via Jim Meyering.
51790
51791 2008-11-12  Jim Meyering  <meyering@redhat.com>
51792
51793         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
51794
51795 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51796
51797         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
51798         instead.
51799
51800 2008-11-12  Bruno Haible  <bruno@clisp.org>
51801
51802         * lib/unicodeio.c: Include unistr.h.
51803         (utf8_wctomb): Remove function.
51804         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
51805
51806 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51807
51808         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
51809         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
51810         <bruno@clisp.org>.
51811         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
51812
51813 2008-11-12  Simon Josefsson  <simon@josefsson.org>
51814
51815         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
51816         * doc/gnulib.texi: Add section for warnings.
51817
51818 2008-11-11  Bruno Haible  <bruno@clisp.org>
51819
51820         * lib/sockets.h: Add a comment.
51821
51822 2008-11-11  Karl Berry  <karl@gnu.org>
51823
51824         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
51825
51826 2008-11-11  Eric Blake  <ebb9@byu.net>
51827
51828         fdl.texi: avoid git symlinks
51829         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
51830
51831 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51832
51833         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
51834
51835 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51836
51837         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
51838         (gl_WARN_ADD): Substitute $2 if literal.
51839
51840 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51841
51842         * m4/warning.m4: Remove.
51843
51844 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
51845
51846         * m4/warnings.m4: Almost complete rewrite. :-)
51847
51848 2008-11-10  Simon Josefsson  <simon@josefsson.org>
51849
51850         * modules/warnings: New module.
51851         * m4/warnings.m4: New file.
51852         * MODULES.html.sh: Mention warnings module.
51853         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
51854         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51855
51856 2008-11-10  Eric Blake  <ebb9@byu.net>
51857
51858         fdl.texi: make a symlink to the latest version
51859         * doc/standards.texi: Revert today's earlier change.
51860         * doc/fdl-1.2.texi: Rename from old fdl.texi...
51861         * doc/fdl.texi: ...and replace this with a symlink to the newer
51862         fdl-1.3.texi.
51863
51864 2008-11-10  Bruno Haible  <bruno@clisp.org>
51865
51866         * tests/test-select-fd.c (main): Accept the result file name as fourth
51867         argument.
51868         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
51869         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
51870
51871 2008-11-10  Bruno Haible  <bruno@clisp.org>
51872
51873         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
51874         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
51875         as autoconf-substituted macros.
51876         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
51877         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
51878         gl_NETDB_H_DEFAULTS. Set these variables.
51879         * modules/netdb (Makefile.am): Substitute these variables.
51880
51881 2008-11-10  Eric Blake  <ebb9@byu.net>
51882
51883         standards.texi: include correct file for FDL 1.3
51884         * doc/standards.texi (GNU Free Documentation License): Change
51885         include file to pull in FDL 1.3, not 1.2.
51886
51887         fdl.texi: revert accidental change to license
51888         * doc/fdl.texi: This is FDL 1.2, not 1.3.
51889
51890 2008-11-10  Bruno Haible  <bruno@clisp.org>
51891
51892         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
51893         cross-compiling guesses also when the native compile gives no result.
51894
51895 2008-11-10  Bruno Haible  <bruno@clisp.org>
51896
51897         * lib/spawni.c (__spawni): Force variable into the stack.
51898
51899 2008-11-10  Bruno Haible  <bruno@clisp.org>
51900
51901         Add support for Haiku.
51902         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
51903         glibc and BeOS, but also on Haiku.
51904         * lib/fpurge.c (fpurge): Likewise.
51905         * lib/freadable.c (freadable): Likewise.
51906         * lib/freadahead.c (freadahead): Likewise.
51907         * lib/freading.c (freading): Likewise.
51908         * lib/freadptr.c (freadptr): Likewise.
51909         * lib/freadseek.c (freadptrinc): Likewise.
51910         * lib/fseeko.c (rpl_fseeko): Likewise.
51911         * lib/fseterr.c (fseterr): Likewise.
51912         * lib/fwritable.c (fwritable): Likewise.
51913         * lib/fwriting.c (fwriting): Likewise.
51914         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
51915
51916 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51917
51918         * lib/config.charset: Treat Haiku like BeOS.
51919
51920 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
51921
51922         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
51923         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
51924
51925 2008-11-08  Bruno Haible  <bruno@clisp.org>
51926
51927         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
51928         AC_CACHE_CHECK.
51929
51930 2008-11-08  Bruno Haible  <bruno@clisp.org>
51931
51932         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
51933
51934 2008-11-08  Bruno Haible  <bruno@clisp.org>
51935
51936         * tests/test-select-fd.c: New file.
51937         * tests/test-select-in.sh: New file.
51938         * tests/test-select-out.sh: New file.
51939         * tests/test-select-stdin.c: New file.
51940         * modules/select-tests (Files): Add the new files.
51941         (Depends-on): Add gettimeofday.
51942         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
51943         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
51944         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
51945
51946 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
51947             Bruno Haible  <bruno@clisp.org>
51948
51949         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
51950
51951 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
51952
51953         * build-aux/pmccabe2html: Added support for C++ source files.
51954
51955 2008-11-05  Ben Pfaff  <blp@gnu.org>
51956
51957         Fix lib/close.c build on Windows.
51958         * modules/close (Files): Add lib/w32sock.h.
51959
51960 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
51961
51962         Accept Bison's NEWS format.
51963         * build-aux/announce-gen (print_news_deltas): Tweak
51964         $re_prefix.
51965
51966 2008-11-04  Bruno Haible  <bruno@clisp.org>
51967
51968         * modules/random_r (Maintainer): Add glibc.
51969
51970 2008-11-04  Simon Josefsson  <simon@josefsson.org>
51971
51972         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
51973         by karl@freefriends.org (Karl Berry).
51974         * doc/alloca.texi: Likewise.
51975         * doc/c-ctype.texi: Likewise.
51976         * doc/c-strcase.texi: Likewise.
51977         * doc/c-strcaseeq.texi: Likewise.
51978         * doc/c-strcasestr.texi: Likewise.
51979         * doc/c-strstr.texi: Likewise.
51980         * doc/c-strtod.texi: Likewise.
51981         * doc/c-strtold.texi: Likewise.
51982         * doc/ctime.texi: Likewise.
51983         * doc/error.texi: Likewise.
51984         * doc/fdl.texi: Likewise.
51985         * doc/gcd.texi: Likewise.
51986         * doc/getdate.texi: Likewise.
51987         * doc/gnulib-intro.texi: Likewise.
51988         * doc/gnulib-tool.texi: Likewise.
51989         * doc/gnulib.texi: Likewise.
51990         * doc/inet_ntoa.texi: Likewise.
51991         * doc/maintain.texi: Likewise.
51992         * doc/make-stds.texi: Likewise.
51993         * doc/quote.texi: Likewise.
51994         * doc/regexprops-generic.texi: Likewise.
51995         * doc/standards.texi: Likewise.
51996         * doc/verify.texi: Likewise.
51997         * doc/visibility.texi: Likewise.
51998         * doc/gnulib.texi (GNU Free Documentation License): Include
51999         fdl-1.3.texi instead of fdl.texi.
52000
52001 2008-11-04  Simon Josefsson  <simon@josefsson.org>
52002
52003         * doc/fdl-1.3.texi: New file, from
52004         <http://www.gnu.org/licenses/fdl-1.3.texi>.
52005         * modules/fdl-1.3: Add.
52006         * MODULES.html.sh: Add fdl-1.3.
52007
52008 2008-11-03  Bruno Haible  <bruno@clisp.org>
52009
52010         Make determination of absolute name of header file work with AIX xlc.
52011         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
52012         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
52013         preprocessing.
52014         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
52015         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
52016
52017 2008-11-03  Simon Josefsson  <simon@josefsson.org>
52018
52019         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
52020         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
52021         <ludo@gnu.org>.
52022
52023 2008-11-02  Bruno Haible  <bruno@clisp.org>
52024
52025         Mark 'strpbrk' obsolete.
52026         * modules/strpbrk (Status, Notice): New sections.
52027         * modules/strtok_r (Depends-on): Add strpbrk.
52028
52029 2008-11-02  Bruno Haible  <bruno@clisp.org>
52030
52031         Mark 'strdup' obsolete.
52032         * modules/strdup (Status, Notice): New sections.
52033         * modules/findprog (Depends-on): Add strdup.
52034         * modules/getaddrinfo (Depends-on): Likewise.
52035         * modules/localename (Depends-on): Likewise.
52036         * modules/relocatable-lib (Depends-on): Likewise.
52037         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
52038         * modules/relocatable-prog (Depends-on): Likewise.
52039         * modules/trim (Depends-on): Likewise.
52040         * modules/unictype/gen-ctype (Depends-on): Likewise.
52041         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52042
52043 2008-11-02  Bruno Haible  <bruno@clisp.org>
52044
52045         Mark 'strcspn' obsolete.
52046         * modules/strcspn (Status, Notice): New sections.
52047
52048 2008-11-02  Bruno Haible  <bruno@clisp.org>
52049
52050         Mark 'rmdir' obsolete.
52051         * modules/rmdir (Status, Notice): New sections.
52052         * modules/clean-temp (Depends-on): Add rmdir.
52053         * modules/openat (Depends-on): Likewise.
52054
52055 2008-11-02  Bruno Haible  <bruno@clisp.org>
52056
52057         Mark 'raise' obsolete.
52058         * modules/raise (Status, Notice): New sections.
52059         (Include): Specify <signal.h>.
52060         * modules/stdio (Depends-on): Add raise.
52061         * modules/write (Depends-on): Likewise.
52062
52063 2008-11-02  Bruno Haible  <bruno@clisp.org>
52064
52065         Mark 'memset' obsolete.
52066         * modules/memset (Status, Notice): New sections.
52067
52068 2008-11-02  Bruno Haible  <bruno@clisp.org>
52069
52070         Mark 'memmove' obsolete.
52071         * modules/memmove (Status, Notice): New sections.
52072         * modules/argp (Depends-on): Add memmove.
52073         * modules/argz (Depends-on): Likewise.
52074         * modules/canonicalize (Depends-on): Likewise.
52075         * modules/canonicalize-lgpl (Depends-on): Likewise.
52076         * modules/fts (Depends-on): Likewise.
52077         * modules/getcwd (Depends-on): Likewise.
52078         * modules/human (Depends-on): Likewise.
52079         * modules/regex (Depends-on): Likewise.
52080         * modules/striconveh (Depends-on): Likewise.
52081         * modules/trim (Depends-on): Likewise.
52082         * modules/unistr/u8-move (Depends-on): Likewise.
52083         * modules/unistr/u16-move (Depends-on): Likewise.
52084         * modules/unistr/u32-move (Depends-on): Likewise.
52085
52086 2008-11-02  Bruno Haible  <bruno@clisp.org>
52087
52088         Mark 'memcpy' obsolete.
52089         * modules/memcpy (Status, Notice): New sections.
52090
52091 2008-11-02  Bruno Haible  <bruno@clisp.org>
52092
52093         Mark 'memcmp' obsolete.
52094         * modules/memcmp (Status, Notice): New sections.
52095         * modules/argmatch (Depends-on): Add memchr.
52096         * modules/backupfile (Depends-on): Likewise.
52097         * modules/c-strcasestr (Depends-on): Likewise.
52098         * modules/crypto/des (Depends-on): Likewise.
52099         * modules/csharpcomp (Depends-on): Likewise.
52100         * modules/fnmatch (Depends-on): Likewise.
52101         * modules/git-merge-changelog (Depends-on): Likewise.
52102         * modules/isnand (Depends-on): Likewise.
52103         * modules/isnand-nolibm (Depends-on): Likewise.
52104         * modules/isnanf (Depends-on): Likewise.
52105         * modules/isnanf-nolibm (Depends-on): Likewise.
52106         * modules/isnanl (Depends-on): Likewise.
52107         * modules/isnanl-nolibm (Depends-on): Likewise.
52108         * modules/mbchar (Depends-on): Likewise.
52109         * modules/memcoll (Depends-on): Likewise.
52110         * modules/quotearg (Depends-on): Likewise.
52111         * modules/regex (Depends-on): Likewise.
52112         * modules/relocatable-prog (Depends-on): Likewise.
52113         * modules/same (Depends-on): Likewise.
52114         * modules/signbit (Depends-on): Likewise.
52115         * modules/strcasestr-simple (Depends-on): Likewise.
52116         * modules/unictype/gen-ctype (Depends-on): Likewise.
52117         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
52118         * modules/uniname/uniname (Depends-on): Likewise.
52119         * modules/unistr/u8-cmp (Depends-on): Likewise.
52120
52121 2008-11-02  Bruno Haible  <bruno@clisp.org>
52122
52123         Mark 'memchr' obsolete.
52124         * modules/memchr (Status, Notice): New sections.
52125         * modules/argp (Depends-on): Add memchr.
52126         * modules/base64 (Depends-on): Likewise.
52127         * modules/c-strcasestr (Depends-on): Likewise.
52128         * modules/chdir-long (Depends-on): Likewise.
52129         * modules/fnmatch (Depends-on): Likewise.
52130         * modules/getsubopt (Depends-on): Likewise.
52131         * modules/git-merge-changelog (Depends-on): Likewise.
52132         * modules/glob (Depends-on): Likewise.
52133         * modules/strcasestr-simple (Depends-on): Likewise.
52134         * modules/strnlen (Depends-on): Likewise.
52135
52136 2008-11-02  Bruno Haible  <bruno@clisp.org>
52137
52138         Mark 'atexit' obsolete.
52139         * modules/atexit (Status, Notice): New sections.
52140         * modules/chdir-long (Depends-on): Add atexit.
52141         * modules/wait-process (Depends-on): Likewise.
52142
52143 2008-11-02  Bruno Haible  <bruno@clisp.org>
52144
52145         * gnulib-tool: New option --with-obsolete.
52146         (func_usage): Document it.
52147         (func_modules_transitive_closure): Drop obsolete dependencies if
52148         incobsolete is not true.
52149         (func_import): Read and save the incobsolete variable to the cache.
52150
52151 2008-11-02  Bruno Haible  <bruno@clisp.org>
52152
52153         * modules/TEMPLATE-EXTENDED: New field 'Status'.
52154         * gnulib-tool: New option --extract-status.
52155         (func_usage): Document it.
52156         (sed_extract_prog): Recognize it.
52157         (func_get_status): New function.
52158
52159 2008-10-30  Simon Josefsson  <simon@josefsson.org>
52160
52161         * modules/sockets (License): Change from LGPL to LGPLv2+.
52162
52163 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52164
52165         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
52166
52167 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52168
52169         * MODULES.html.sh (Support for systems lacking POSIX:2001):
52170         Mention times and sys_times.
52171         * modules/sys_times, modules/sys_times-tests: New modules.
52172         * modules/times, modules/times-tests: Likewise
52173         * m4/sys_times_h.m4: New file.
52174         * lib/sys_times.in.h: Likewise
52175         * lib/times.c: Likewise.
52176         * tests/test-sys_times.c: Likewise.
52177         * tests/test-times.c: Likewise.
52178         * doc/posix-headers/sys_times.texi: Update.
52179         * doc/posix-functions/times.texi: Update.
52180
52181 2008-10-28  Jim Meyering  <meyering@redhat.com>
52182
52183         * modules/tempname (Depends-on): Add lstat.
52184
52185         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
52186
52187 2008-10-28  Simon Josefsson  <simon@josefsson.org>
52188
52189         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
52190         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
52191         using idiom used elsewhere in gnulib.
52192
52193 2008-10-27  Jim Meyering  <meyering@redhat.com>
52194
52195         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
52196
52197 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52198
52199         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
52200         TESTS_ENVIRONMENT, for shell scripts that needs to call built
52201         programs.
52202         * tests/test-argp-2.sh: Use $EXEEXT when needed.
52203
52204 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52205
52206         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
52207
52208 2008-10-27  Bruno Haible  <bruno@clisp.org>
52209
52210         * tests/test-lstat.c: Include <stdio.h>.
52211
52212 2008-10-27  Simon Josefsson  <simon@josefsson.org>
52213
52214         * modules/lstat-tests: New module.
52215         * tests/test-lstat.c: New file.
52216
52217 2008-10-26  Jim Meyering  <meyering@redhat.com>
52218
52219         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
52220
52221 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52222             Bruno Haible  <bruno@clisp.org>
52223
52224         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
52225         * modules/configmake (Include): Add a note that the include must come
52226         after all system headers.
52227         * lib/javaversion.c: Include configmake.h after all other includes.
52228
52229 2008-10-26  Bruno Haible  <bruno@clisp.org>
52230
52231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
52232         HAVE_STRUCT_RANDOM_DATA to 1.
52233         (gl_STDLIB_H): Simplify.
52234
52235 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52236
52237         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
52238         substitute HAVE_STRUCT_RANDOM_DATA.
52239         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
52240         random_data.
52241         * modules/stdlib (Makefile.am): Substitute
52242         HAVE_STRUCT_RANDOM_DATA.
52243
52244 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52245
52246         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
52247         * doc/gnulib-intro.texi (Copyright): Likewise.
52248
52249 2008-10-26  Simon Josefsson  <simon@josefsson.org>
52250
52251         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
52252         findings.
52253
52254 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
52255             Bruno Haible  <bruno@clisp.org>
52256
52257         * lib/unistd.in.h: Include <winsock2.h>.
52258         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
52259         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
52260         Provide dummy declarations.
52261         (gethostname): Override.
52262         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
52263         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
52264         gl_PREREQ_SYS_H_WINSOCK2.
52265         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
52266         * doc/posix-functions/gethostname.texi: More details.
52267
52268 2008-10-25  Bruno Haible  <bruno@clisp.org>
52269
52270         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
52271         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
52272         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
52273
52274         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
52275         here ...
52276         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
52277         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
52278         gl_UNISTD_H_DEFAULTS.
52279
52280 2008-10-25  Eric Blake  <ebb9@byu.net>
52281
52282         signbit: avoid spurious compiler failure
52283         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
52284         declarations inside function.
52285
52286 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52287             Bruno Haible  <bruno@clisp.org>
52288
52289         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
52290         * modules/random_r (Depends-on): Add stdint.
52291
52292 2008-10-24  Bruno Haible  <bruno@clisp.org>
52293
52294         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
52295         Eggert.
52296         * modules/strerror (License): Likewise.
52297
52298 2008-10-24  Jim Meyering  <meyering@redhat.com>
52299
52300         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
52301         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
52302
52303 2008-10-24  Eric Blake  <ebb9@byu.net>
52304
52305         getgroups: fix compilation when getgroups is available
52306         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
52307         but with <config.h> override of getgroups disabled.
52308
52309 2008-10-24  Simon Josefsson  <simon@josefsson.org>
52310
52311         * doc/gnulib.texi (Header files): Add note about C++ problems.
52312         Explained by Bruno Haible <bruno@clisp.org>.
52313
52314 2008-10-23  Bruno Haible  <bruno@clisp.org>
52315
52316         Define a dummy SA_NODEFER macro on Interix.
52317         * lib/signal.in.h (SA_NODEFER): Define fallback.
52318         Reported by Aleksey Cheusov <cheusov@tut.by> via
52319         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
52320
52321 2008-10-23  Bruno Haible  <bruno@clisp.org>
52322
52323         * modules/freadahead (License): Change to LGPLv2+.
52324         Suggested by Simon Josefsson.
52325
52326 2008-10-23  Jim Meyering  <meyering@redhat.com>
52327
52328         random_r: new module
52329         * modules/random_r: New file.
52330         * m4/random_r.m4: New file.
52331         * lib/random_r.c: New file, from glibc.
52332         * modules/random_r-tests: New file.
52333         * tests/test-random_r.c: New file.
52334         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
52335          Declare.
52336         (RAND_MAX): Define.
52337         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
52338         * modules/stdlib: Substitute them, too.
52339         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
52340         * doc/glibc-functions/initstate_r.texi: Mention the new module.
52341         * doc/glibc-functions/random_r.texi: Likewise.
52342         * doc/glibc-functions/setstate_r.texi: Likewise.
52343         * doc/glibc-functions/srandom_r.texi: Likewise.
52344         * config/srclist.txt: Mention it.
52345
52346 2008-10-23  David Lutterkort  <lutter@redhat.com>
52347
52348         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
52349         link requirement
52350
52351 2008-10-23  Jim Meyering  <meyering@redhat.com>
52352
52353         selinux-h: mark parameters of stub functions as intentionally unused
52354         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
52355         * lib/se-context.in.h: Likewise.
52356
52357 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52358
52359         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
52360
52361 2008-10-22  Simon Josefsson  <simon@josefsson.org>
52362
52363         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
52364
52365 2008-10-22  Eric Blake  <ebb9@byu.net>
52366
52367         glthread/thread: avoid compiler warning
52368         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
52369         Add unreachable abort to silence compiler.
52370
52371 2008-10-22  Eric Blake  <ebb9@byu.net>
52372
52373         netdb: also supply struct addrinfo for cygwin 1.5.x
52374         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
52375         older cygwin.
52376         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
52377         cygwin.
52378         * doc/posix-headers/netdb.texi (netdb.h): Document this.
52379
52380 2008-10-22  Bruno Haible  <bruno@clisp.org>
52381
52382         * users.txt: Update entry about pspp.
52383
52384 2008-10-21  Bruno Haible  <bruno@clisp.org>
52385
52386         Simplification.
52387         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
52388         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
52389
52390         Simplification.
52391         * lib/ioctl.c (ioctl): Don't undefine.
52392         * lib/socket.c (socket): Don't undefine.
52393
52394         Remove unused module indicator macros.
52395         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
52396         GNULIB_$1 as a C macro.
52397
52398         * doc/posix-functions/close.texi: Undo last change.
52399         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
52400         Windows platforms.
52401
52402 2008-10-21  Bruno Haible  <bruno@clisp.org>
52403
52404         Add gethostname() declaration to <unistd.h>.
52405         * lib/unistd.in.h (gethostname): New declaration.
52406         * lib/gethostname.c: Include <unistd.h>.
52407         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
52408         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
52409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
52410         and HAVE_GETHOSTNAME.
52411         * modules/gethostname (Depends-on): Add unistd.
52412         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52413         (Include): Specify <unistd.h>.
52414         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
52415         HAVE_GETHOSTNAME.
52416         * tests/test-gethostname.c: Include <unistd.h> first.
52417
52418 2008-10-21  Bruno Haible  <bruno@clisp.org>
52419
52420         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
52421         * modules/select-tests (Depends-on): Likewise.
52422         Reported by Simon Josefsson.
52423
52424 2008-10-21  Simon Josefsson  <simon@josefsson.org>
52425
52426         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
52427         * lib/accept.c: New file, based on winsock.c.
52428         * lib/bind.c: New file, based on winsock.c.
52429         * lib/connect.c: New file, based on winsock.c.
52430         * lib/getpeername.c: New file, based on winsock.c.
52431         * lib/getsockname.c: New file, based on winsock.c.
52432         * lib/getsockopt.c: New file, based on winsock.c.
52433         * lib/ioctl.c: New file, based on winsock.c.
52434         * lib/listen.c: New file, based on winsock.c.
52435         * lib/recv.c: New file, based on winsock.c.
52436         * lib/recvfrom.c: New file, based on winsock.c.
52437         * lib/send.c: New file, based on winsock.c.
52438         * lib/sendto.c: New file, based on winsock.c.
52439         * lib/setsockopt.c: New file, based on winsock.c.
52440         * lib/shutdown.c: New file, based on winsock.c.
52441         * lib/socket.c: New file, based on winsock.c.
52442         * lib/w32sock.h: New file, based on winsock.c.
52443         * lib/winsock.c: Remove file.
52444         * modules/accept: Likewise.
52445         * modules/bind: Likewise.
52446         * modules/connect: Likewise.
52447         * modules/getpeername: Likewise.
52448         * modules/getsockname: Likewise.
52449         * modules/getsockopt: Likewise.
52450         * modules/ioctl: Likewise.
52451         * modules/listen: Likewise.
52452         * modules/recv: Likewise.
52453         * modules/recvfrom: Likewise.
52454         * modules/send: Likewise.
52455         * modules/sendto: Likewise.
52456         * modules/setsockopt: Likewise.
52457         * modules/shutdown: Likewise.
52458         * modules/socket: Use socket.c instead of winsock.c.
52459         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
52460         * doc/posix-functions/accept.texi: Doc fix.
52461         * doc/posix-functions/bind.texi: Doc fix.
52462         * doc/posix-functions/close.texi: Doc fix.
52463         * doc/posix-functions/connect.texi: Doc fix.
52464         * doc/posix-functions/getpeername.texi: Doc fix.
52465         * doc/posix-functions/getsockname.texi: Doc fix.
52466         * doc/posix-functions/getsockopt.texi: Doc fix.
52467         * doc/posix-functions/ioctl.texi: Doc fix.
52468         * doc/posix-functions/listen.texi: Doc fix.
52469         * doc/posix-functions/recv.texi: Doc fix.
52470         * doc/posix-functions/recvfrom.texi: Doc fix.
52471         * doc/posix-functions/send.texi: Doc fix.
52472         * doc/posix-functions/sendto.texi: Doc fix.
52473         * doc/posix-functions/setsockopt.texi: Doc fix.
52474         * doc/posix-functions/shutdown.texi: Doc fix.
52475         * doc/posix-functions/socket.texi: Doc fix.
52476
52477 2008-10-20  Bruno Haible  <bruno@clisp.org>
52478
52479         Take into account the role of SIGABRT_COMPAT on Windows 2008.
52480         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
52481         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
52482         as an alias for SIGABRT.
52483         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
52484         (sigaction): Map it to SIGABRT.
52485         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
52486
52487 2008-10-20  Bruno Haible  <bruno@clisp.org>
52488
52489         * lib/fts.c: Don't include lstat.h.
52490         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
52491
52492         Move the lstat() declaration to <sys/stat.h>.
52493         * lib/lstat.h: Remove file.
52494         * lib/sys_stat.in.h: Add special invocation convention.
52495         (lstat): New declaration.
52496         * lib/lstat.c (orig_lstat): New function.
52497         (rpl_lstat): Use orig_lstat instead of lstat.
52498         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
52499         AC_C_INLINE. Set REPLACE_LSTAT.
52500         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
52501         and REPLACE_LSTAT.
52502         * modules/lstat (Files): Remove lib/lstat.h.
52503         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52504         (Include): Specify <sys/stat.h> instead of lstat.h.
52505         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
52506         REPLACE_LSTAT.
52507         * NEWS: Mention the change.
52508
52509 2008-10-20  Bruno Haible  <bruno@clisp.org>
52510
52511         * modules/posix_spawn-tests: New file.
52512         * tests/test-posix_spawn3.c: New file.
52513
52514 2008-10-20  Bruno Haible  <bruno@clisp.org>
52515
52516         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
52517         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52518         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
52519         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
52520         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
52521
52522 2008-10-20  Bruno Haible  <bruno@clisp.org>
52523
52524         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
52525         of posix_spawn on AIX 5.3.
52526
52527 2008-10-20  Bruno Haible  <bruno@clisp.org>
52528
52529         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
52530
52531 2008-10-20  Bruno Haible  <bruno@clisp.org>
52532
52533         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
52534         of AC_LANG_PROGRAM.
52535
52536 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52537
52538         * lib/netdb.in.h: Don't define GNU specific constants until they
52539         are supported or needed.  Reported by Bruno Haible
52540         <bruno@clisp.org>.
52541
52542 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52543
52544         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
52545
52546 2008-10-20  Simon Josefsson  <simon@josefsson.org>
52547
52548         * lib/getaddrinfo.h: Remove file.
52549         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
52550         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
52551         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
52552         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
52553         * modules/netdb: Substitute GNULIB_GETADDRINFO.
52554         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
52555         * tests/test-getaddrinfo.c: Likewise.
52556         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
52557         * NEWS: Mention change.
52558
52559 2008-10-19  Bruno Haible  <bruno@clisp.org>
52560
52561         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
52562
52563 2008-10-19  Bruno Haible  <bruno@clisp.org>
52564
52565         * lib/wait-process.c: Include simply <sys/wait.h>.
52566         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
52567         WIFSTOPPED): Remove fallback definitions.
52568         * modules/wait-process (Depends-on): Add sys_wait.
52569
52570         New module 'sys_wait'.
52571         * modules/sys_wait: New file.
52572         * lib/sys_wait.in.h: New file, partially copied from
52573         lib/wait-process.c.
52574         * m4/sys_wait_h.m4: New file.
52575         * doc/posix-headers/sys_wait.texi: Mention the new module.
52576
52577 2008-10-19  Bruno Haible  <bruno@clisp.org>
52578
52579         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
52580
52581 2008-10-19  Bruno Haible  <bruno@clisp.org>
52582
52583         Assume that waitpid() fills an 'int' status, not a 'union wait'.
52584         * lib/wait-process.c (WAIT_T): Remove type.
52585         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
52586         (wait_subprocess): Update.
52587
52588 2008-10-19  Bruno Haible  <bruno@clisp.org>
52589
52590         New module 'atoll'.
52591         * modules/atoll: New file.
52592         * lib/stdlib.in.h (atoll): New declaration.
52593         * lib/atoll.c: New file, from glibc with modifications.
52594         * m4/atoll.m4: New file.
52595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
52596         HAVE_ATOLL.
52597         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
52598         * doc/posix-functions/atoll.texi: Mention the new module.
52599
52600 2008-10-19  Bruno Haible  <bruno@clisp.org>
52601
52602         Add strtoull() declaration to <stdlib.h>.
52603         * lib/stdlib.in.h (strtoull): New declaration.
52604         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52605         Set HAVE_STRTOULL.
52606         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
52607         HAVE_STRTOULL.
52608         * modules/strtoull (Depends-on): Add stdlib.
52609         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52610         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
52611         HAVE_STRTOULL.
52612
52613 2008-10-19  Bruno Haible  <bruno@clisp.org>
52614
52615         Add strtoll() declaration to <stdlib.h>.
52616         * lib/stdlib.in.h (strtoll): New declaration.
52617         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
52618         Set HAVE_STRTOLL.
52619         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
52620         HAVE_STRTOLL.
52621         * modules/strtoll (Depends-on): Add stdlib.
52622         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52623         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
52624
52625 2008-10-19  Bruno Haible  <bruno@clisp.org>
52626
52627         * modules/bcopy (Depends-on): Add strings.
52628         (Include): Specify <strings.h>.
52629
52630 2008-10-19  Bruno Haible  <bruno@clisp.org>
52631
52632         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
52633
52634 2008-10-19  Bruno Haible  <bruno@clisp.org>
52635
52636         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
52637         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
52638         mingw.
52639
52640 2008-10-19  Bruno Haible  <bruno@clisp.org>
52641
52642         * lib/atanl.c: Don't include isnanl.h.
52643         * lib/cosl.c: Likewise.
52644         * lib/ldexpl.c: Likewise.
52645         * lib/logl.c: Likewise.
52646         * lib/sinl.c: Likewise.
52647         * lib/sqrtl.c: Likewise.
52648         * lib/tanl.c: Likewise.
52649
52650         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
52651         * lib/isnanf.h: Remove file.
52652         * lib/isnand.h: Remove file.
52653         * lib/isnanl.h: Remove file.
52654         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
52655         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
52656         macros.
52657         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
52658         HAVE_ISNANF, don't define it as a C macro.
52659         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
52660         HAVE_ISNAND, don't define it as a C macro.
52661         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
52662         HAVE_ISNANL, don't define it as a C macro.
52663         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
52664         HAVE_ISNAN[FDL].
52665         * modules/isnanf (Files): Remove lib/isnanf.h.
52666         (Depends-on): Add math.
52667         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52668         (Include): Specify <math.h> instead of isnanf.h.
52669         * modules/isnand (Files): Remove lib/isnand.h.
52670         (Depends-on): Add math.
52671         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52672         (Include): Specify <math.h> instead of isnand.h.
52673         * modules/isnanl (Files): Remove lib/isnanl.h.
52674         (Depends-on): Add math.
52675         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
52676         (Include): Specify <math.h> instead of isnanl.h.
52677         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
52678         HAVE_ISNAN[FDL].
52679         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
52680         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
52681         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
52682         * NEWS: Mention the change.
52683
52684 2008-10-18  Bruno Haible  <bruno@clisp.org>
52685
52686         Add getusershell(), setusershell(), endusershell() declarations to
52687         <unistd.h>.
52688         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
52689         declarations.
52690         * lib/getusershell.c: Include unistd.h.
52691         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
52692         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52693         HAVE_GETUSERSHELL.
52694         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
52695         and HAVE_GETUSERSHELL.
52696         * modules/getusershell (Depends-on): Add unistd, extensions.
52697         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52698         (Include): Specify <unistd.h>.
52699         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
52700         HAVE_GETUSERSHELL.
52701
52702 2008-10-18  Bruno Haible  <bruno@clisp.org>
52703
52704         Add a getloadavg() declaration to <stdlib.h>.
52705         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
52706         getloadavg declaration.
52707         (getloadavg): New declaration.
52708         * lib/getloadavg.c: Include <stdlib.h> first.
52709         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
52710         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
52711         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
52712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
52713         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52714         * modules/getloadavg (Depends-on): Add stdlib, extensions.
52715         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
52716         (Include): Specify <stdlib.h>.
52717         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
52718         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
52719
52720 2008-10-18  Bruno Haible  <bruno@clisp.org>
52721
52722         * lib/dirchownmod.c: Don't include lchmod.h.
52723
52724         Move the lchmod() declaration to <sys/stat.h>.
52725         * lib/lchmod.h: Remove file.
52726         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
52727         (lchmod): New declaration, moved here from lib/lchown.h.
52728         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
52729         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
52730         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
52731         and HAVE_LCHMOD.
52732         * modules/lchmod (Files): Remove lib/lchmod.h.
52733         (Depends-on): Add sys_stat, extensions.
52734         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
52735         (Include): Specify <sys/stat.h> instead of lchmod.h.
52736         * modules/sys_stat (Depends-on): Add link-warning.
52737         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
52738         definition of GL_LINK_WARNING.
52739         * NEWS: Mention the change.
52740
52741 2008-10-18  Bruno Haible  <bruno@clisp.org>
52742
52743         * lib/fchdir.c: Don't include dirfd.h.
52744         * lib/fts.c: Likewise.
52745         * lib/getcwd.c: Likewise.
52746         * lib/glob.c: Likewise.
52747
52748         Move the dirfd() declaration to <dirent.h>.
52749         * lib/dirfd.h: Remove file.
52750         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
52751         (dirfd): New declaration.
52752         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
52753         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
52754         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
52755         HAVE_DECL_DIRFD.
52756         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
52757         HAVE_DECL_DIRFD.
52758         * modules/dirfd (Files): Remove lib/dirfd.h.
52759         (Depends-on): Add dirent, extensions.
52760         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
52761         (Include): Specify <dirent.h> instead of dirfd.h.
52762         * modules/dirent (Depends-on): Add link-warning.
52763         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
52764         definition of GL_LINK_WARNING.
52765         * NEWS: Mention the change.
52766
52767 2008-10-18  Bruno Haible  <bruno@clisp.org>
52768
52769         Move the euidaccess() declaration to <unistd.h>.
52770         * lib/euidaccess.h: Remove file.
52771         * lib/unistd.in.h (euidaccess): New declaration.
52772         * lib/euidaccess.c: Don't include euidaccess.h.
52773         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
52774         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
52775         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
52776         and HAVE_EUIDACCESS.
52777         * modules/euidaccess (Files): Remove lib/euidaccess.h.
52778         (Depends-on): Add unistd.
52779         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52780         (Include): Specify <unistd.h> instead of euidaccess.h.
52781         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
52782         HAVE_EUIDACCESS.
52783         * NEWS: Mention the change.
52784
52785 2008-10-18  Bruno Haible  <bruno@clisp.org>
52786
52787         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
52788
52789         Move the getdomainname() declaration to <unistd.h>.
52790         * lib/getdomainname.h: Remove file.
52791         * lib/unistd.in.h (getdomainname): New declaration.
52792         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
52793         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
52794         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
52795         HAVE_GETDOMAINNAME.
52796         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
52797         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
52798         * modules/getdomainname (Files): Remove lib/getdomainname.h.
52799         (Depends-on): Add unistd, extensions.
52800         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52801         (Includes): Specify <unistd.h> instead of getdomainname.h.
52802         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
52803         HAVE_GETDOMAINNAME.
52804         * NEWS: Mention the change.
52805
52806 2008-10-18  Bruno Haible  <bruno@clisp.org>
52807
52808         * modules/dirent: New file.
52809         * m4/dirent_h.m4: New file.
52810         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
52811         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
52812         * modules/fchdir (Files): Remove lib/dirent.in.h.
52813         (Depends-on): Add dirent.
52814         (Makefile.am): Move rules to modules/dirent.
52815         * doc/posix-headers/dirent.texi: Mention the new module.
52816
52817 2008-10-18  Bruno Haible  <bruno@clisp.org>
52818
52819         Avoid -Wunused-parameter warnings in public gnulib header files.
52820         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
52821         macro.
52822         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
52823
52824 2008-10-18  Bruno Haible  <bruno@clisp.org>
52825
52826         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
52827         * doc/glibc-functions/error.texi: Mention the module 'error'.
52828         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
52829         * doc/glibc-functions/getdomainname.texi: Mention the module
52830         'getdomainname'.
52831         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
52832         * doc/glibc-functions/getpagesize.texi: Mention the module
52833         'getpagesize'.
52834         * doc/glibc-functions/getusershell.texi: Mention the module
52835         'getusershell'.
52836         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
52837         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
52838         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
52839         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
52840         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
52841         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
52842         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
52843         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
52844         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
52845         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
52846         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
52847         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
52848         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
52849         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
52850
52851 2008-10-17  Bruno Haible  <bruno@clisp.org>
52852
52853         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
52854         HP-UX and IRIX, use -0.0L.
52855         * tests/test-ceill.c (minus_zero): Likewise.
52856         * tests/test-floorl.c (minus_zero): Likewise.
52857         * tests/test-frexpl.c (minus_zero): Likewise.
52858         * tests/test-isnan.c (minus_zerol): Likewise.
52859         * tests/test-isnanl.h (minus_zero): Likewise.
52860         * tests/test-ldexpl.c (minus_zero): Likewise.
52861         * tests/test-roundl.c (minus_zero): Likewise.
52862         * tests/test-signbit.c (minus_zerol): Likewise.
52863         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52864         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52865         * tests/test-truncl.c (minus_zero): Likewise.
52866         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52867         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52868         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
52869         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52870
52871 2008-10-17  Bruno Haible  <bruno@clisp.org>
52872
52873         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
52874         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
52875         that it gets activated only for gcc >= 3.0.
52876         * lib/dirent.in.h: Likewise.
52877         * lib/errno.in.h: Likewise.
52878         * lib/fcntl.in.h: Likewise.
52879         * lib/float.in.h: Likewise.
52880         * lib/iconv.in.h: Likewise.
52881         * lib/inttypes.in.h: Likewise.
52882         * lib/locale.in.h: Likewise.
52883         * lib/math.in.h: Likewise.
52884         * lib/netdb.in.h: Likewise.
52885         * lib/netinet_in.in.h: Likewise.
52886         * lib/search.in.h: Likewise.
52887         * lib/signal.in.h: Likewise.
52888         * lib/spawn.in.h: Likewise.
52889         * lib/stdarg.in.h: Likewise.
52890         * lib/stdint.in.h: Likewise.
52891         * lib/stdio.in.h: Likewise.
52892         * lib/stdlib.in.h: Likewise.
52893         * lib/string.in.h: Likewise.
52894         * lib/strings.in.h: Likewise.
52895         * lib/sys_file.in.h: Likewise.
52896         * lib/sys_ioctl.in.h: Likewise.
52897         * lib/sys_select.in.h: Likewise.
52898         * lib/sys_socket.in.h: Likewise.
52899         * lib/sys_stat.in.h: Likewise.
52900         * lib/sys_time.in.h: Likewise.
52901         * lib/sysexits.in.h: Likewise.
52902         * lib/time.in.h: Likewise.
52903         * lib/unistd.in.h: Likewise.
52904         * lib/wchar.in.h: Likewise.
52905         * lib/wctype.in.h: Likewise.
52906         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
52907
52908 2008-10-17  Jim Meyering  <meyering@redhat.com>
52909
52910         ignore-value: don't depend on inline module
52911         * modules/ignore-value (Depends-on): Remove 'inline'.
52912         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
52913         Suggestion from Bruno Haible.
52914
52915 2008-10-17  Bruno Haible  <bruno@clisp.org>
52916
52917         New implementation of condition variables for Win32.
52918         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
52919         (gl_linked_waitqueue_t): New type.
52920         (gl_cond_t): Use it.
52921         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
52922         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
52923         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
52924         (glthread_cond_init_func, glthread_cond_wait_func,
52925         glthread_cond_timedwait_func, glthread_cond_signal_func,
52926         glthread_cond_broadcast_func, glthread_cond_destroy_func):
52927         Reimplemented on the basis of gl_linked_waitqueue_t.
52928         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
52929         gl_waitqueue_t.
52930         (gl_rwlock_t): Update.
52931         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
52932
52933 2008-10-17  Simon Josefsson  <simon@josefsson.org>
52934
52935         * modules/recvfrom (Depends-on): Add dependency on getpeername.
52936         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
52937
52938 2008-10-17  Jim Meyering  <meyering@redhat.com>
52939
52940         ignore-value: new module
52941         * modules/ignore-value: New file.
52942         * lib/ignore-value.h: New file.
52943         * MODULES.html.sh (Compiler warning management): New section,
52944         just for this module.  More to come.
52945
52946 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
52947
52948         open-safer.c: avoid 'signed and unsigned in conditional...' warning
52949         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
52950         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
52951
52952 2008-10-16  Jim Meyering  <meyering@redhat.com>
52953
52954         openat-die.c: avoid 'no previous prototype' warning
52955         * lib/openat-die.c: Include "openat.h".
52956         Reported by Reuben Thomas <rrt@sc3d.org>.
52957
52958 2008-10-16  Simon Josefsson  <simon@josefsson.org>
52959
52960         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
52961         * lib/netdb.in.h: Fix typo.
52962         Reported by Bruno Haible  <bruno@clisp.org>
52963
52964         * lib/netdb.in.h: Include sys/socket.h for platforms without
52965         netdb.h, to get structures like hostent on MinGW.
52966         * modules/netdb (Depends-on): Add sys_socket.
52967
52968 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52969
52970         * modules/netdb, modules/netdb-tests: New file.
52971         * m4/netdb_h.m4: New file.
52972         * lib/netdb.in.h: Add, currently just an empty file pending
52973         definitions.
52974         * tests/test-netdb.c: New file.
52975         * doc/posix-headers/netdb.texi: Mention that we replace it if
52976         needed.
52977         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52978         netdb.
52979
52980 2008-10-15  Simon Josefsson  <simon@josefsson.org>
52981
52982         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
52983         with code.
52984
52985 2008-10-13  Bruno Haible  <bruno@clisp.org>
52986
52987         * lib/glthread/cond.c (glthread_cond_wait_func,
52988         glthread_cond_timedwait_func): Add a comment.
52989
52990 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
52991
52992         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
52993         * tests/test-select.c: Likewise,
52994
52995 2008-10-13  Bruno Haible  <bruno@clisp.org>
52996
52997         * lib/glthread/cond.c (glthread_cond_wait_func,
52998         glthread_cond_timedwait_func): Fix variable name.
52999         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
53000
53001 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
53002
53003         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
53004         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
53005         struct sockaddr.sa_len.
53006         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
53007
53008 2008-10-13  Simon Josefsson  <simon@josefsson.org>
53009
53010         * build-aux/pmccabe2html: Add css and css_url parameters.
53011
53012 2008-10-12  Bruno Haible  <bruno@clisp.org>
53013
53014         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
53015         calling aclx_get.
53016         Reported by Rainer Tammer <tammer@tammer.net>.
53017
53018 2008-10-12  Bruno Haible  <bruno@clisp.org>
53019
53020         Use msvcrt aware primitives for creation/termination of Win32 threads.
53021         * lib/glthread/thread.c: Include <process.h>.
53022         (glthread_create_func): Use _beginthreadex instead of CreateThread.
53023         (wrapper_func): Update signature.
53024         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
53025
53026 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
53027             Bruno Haible  <bruno@clisp.org>
53028
53029         Provide a Win32 implementation of the 'cond' module.
53030         * lib/glthread/cond.h [USE_WIN32]: New implementation.
53031         * lib/glthread/cond.c (glthread_cond_init_func,
53032         glthread_cond_wait_func, glthread_cond_timedwait_func,
53033         glthread_cond_signal_func, glthread_cond_broadcast_func,
53034         glthread_cond_destroy_func) [USE_WIN32]: New functions.
53035         * modules/cond (Dependencies): Add gettimeofday.
53036
53037 2008-10-11  Bruno Haible  <bruno@clisp.org>
53038
53039         Make sleep work on older versions of mingw.
53040         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
53041         only whether it exists.
53042         * doc/posix-functions/sleep.texi: Mention the problem with older
53043         versions of mingw.
53044
53045 2008-10-11  Bruno Haible  <bruno@clisp.org>
53046
53047         New module 'shutdown'.
53048         * modules/shutdown: New file.
53049         * lib/sys_socket.in.h (shutdown): New declaration.
53050         * lib/winsock.c (shutdown): New function.
53051         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
53052         GNULIB_SHUTDOWN.
53053         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
53054         * doc/posix-functions/shutdown.texi: Document the new module.
53055
53056 2008-10-11  Jim Meyering  <meyering@redhat.com>
53057
53058         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
53059
53060 2008-10-11  Bruno Haible  <bruno@clisp.org>
53061
53062         New module 'fclose'.
53063         * modules/fclose: New file.
53064         * lib/stdio.in.h (fclose): New declaration.
53065         * lib/fclose.c: New file.
53066         * m4/fclose.m4: New file.
53067         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
53068         REPLACE_FCLOSE.
53069         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
53070         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
53071         REPLACE_FCLOSE.
53072         * modules/close (Depends-on): fclose.
53073         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
53074
53075 2008-10-11  Bruno Haible  <bruno@clisp.org>
53076
53077         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
53078         set errno and don't call _close.
53079
53080 2008-10-10  Bruno Haible  <bruno@clisp.org>
53081
53082         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
53083         ACL, not afterwards. Fixes test failure on Cygwin.
53084
53085 2008-10-09  Ben Pfaff  <blp@gnu.org>
53086
53087         * build-aux/announce-gen: Fix gnulib version related part of usage
53088         message.  Die with a useful error message if no tarballs are
53089         found.
53090
53091 2008-10-10  Jim Meyering  <meyering@redhat.com>
53092
53093         bootstrap: use git's --depth=N option only if it's supported
53094         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
53095         recognize the --depth option.  Reported by Pádraig Brady.
53096
53097 2008-10-09  Bruno Haible  <bruno@clisp.org>
53098
53099         New module 'ioctl'.
53100         * modules/ioctl: New file.
53101         * lib/sys_socket.in.h (ioctl): Remove declaration.
53102         * lib/winsock.c: Include <sys/ioctl.h>.
53103         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
53104         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53105         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
53106         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
53107         * doc/posix-functions/ioctl.texi: Mention the new module.
53108
53109 2008-10-09  Bruno Haible  <bruno@clisp.org>
53110
53111         New module 'sys_ioctl'.
53112         * lib/sys_ioctl.in.h: New file.
53113         * m4/sys_ioctl_h.m4: New file.
53114         * modules/sys_ioctl: New file.
53115         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
53116
53117 2008-10-09  Bruno Haible  <bruno@clisp.org>
53118
53119         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
53120         * lib/winsock.c: Include <stdarg.h>.
53121         (rpl_ioctl): Change to second argument 'int' and then varargs.
53122
53123 2008-10-09  Bruno Haible  <bruno@clisp.org>
53124
53125         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
53126         when the sys_socket module is present and the system has <winsock2.h>.
53127
53128 2008-10-09  Bruno Haible  <bruno@clisp.org>
53129
53130         * doc/posix-functions/close.texi: Mention module 'close' instead of
53131         module 'sys_socket'.
53132
53133 2008-10-09  Bruno Haible  <bruno@clisp.org>
53134
53135         * doc/glibc-headers/sys_ioctl.texi: New file.
53136         * doc/gnulib.texi: Include it.
53137
53138 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53139             Bruno Haible  <bruno@clisp.org>
53140
53141         Combine the two replacements of 'close'.
53142         * lib/sys_socket.in.h (close): Define to a reminder to include
53143         <unistd.h>.
53144         (_gl_close_fd_maybe_socket): New declaration.
53145         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
53146         * lib/winsock.c (close): Remove undefinition.
53147         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
53148         needed for the gnulib module 'close'.
53149         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
53150         define to an error symbol or to a warning, if suitable.
53151         * lib/close.c: Include <sys/socket.h>.
53152         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
53153         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
53154         UNISTD_H_HAVE_WINSOCK2_H.
53155         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
53156         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53157         UNISTD_H_HAVE_WINSOCK2_H.
53158         * modules/sys_socket (Files): Add m4/unistd_h.m4.
53159         (configure.ac): Set a module indicator.
53160         (Makefile.am): Substitute GNULIB_CLOSE.
53161         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
53162         * modules/poll-tests (Depends-on): Add close.
53163         * modules/select-tests (Depends-on): Likewise.
53164
53165 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53166             Bruno Haible  <bruno@clisp.org>
53167
53168         New module 'close'.
53169         * modules/close: New file.
53170         * lib/unistd.in.h (close): Move declaration out of the
53171         FCHDIR_REPLACEMENT scope.
53172         (_gl_unregister_fd): New declaration.
53173         * lib/close.c: New file.
53174         * lib/fchdir.c (rpl_close): Remove function.
53175         * m4/close.m4: New file.
53176         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53177         close.
53178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
53179         REPLACE_CLOSE.
53180         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
53181         REPLACE_CLOSE.
53182         * modules/fchdir (Depends-on): Add close.
53183
53184 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53185             Bruno Haible  <bruno@clisp.org>
53186
53187         * lib/fcntl.in.h (open): Simplify conditionals.
53188         (_gl_register_fd): New declaration.
53189         * lib/fchdir.c (rpl_open): Remove function.
53190         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
53191         also.
53192         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
53193         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
53194         open.
53195
53196 2008-10-09  Jim Meyering  <meyering@redhat.com>
53197
53198         GNUmakefile: use the more name-space-friendly "_version"
53199         * top/GNUmakefile (_dummy): Update.
53200         (_version): Rename from "version".
53201
53202 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53203             Bruno Haible  <bruno@clisp.org>
53204
53205         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
53206         rpl_close.
53207         (_gl_register_fd): New function, extracted from rpl_open.
53208         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
53209         (rpl_open, rpl_opendir): Use _gl_register_fd.
53210
53211 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
53212
53213         Fix organization of 'open' replacement.
53214         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
53215         (gl_FUNC_OPEN): Use it.
53216         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
53217
53218 2008-10-08  Bruno Haible  <bruno@clisp.org>
53219
53220         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
53221
53222 2008-10-08  Simon Josefsson  <simon@josefsson.org>
53223
53224         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
53225         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
53226         listen).
53227
53228 2008-10-08  Eric Blake  <ebb9@byu.net>
53229
53230         GNUmakefile: add 'make version' target
53231         * top/GNUmakefile (_curr-ver): Split version update rules...
53232         (version): ...into a target.
53233
53234 2008-10-07  Bruno Haible  <bruno@clisp.org>
53235
53236         Use a more portable replacement expression for -0.0L.
53237         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
53238         instead of -0.0L. Fix m4 quotation.
53239
53240         * tests/test-signbit.c: Include <float.h>.
53241         (minus_zero): New variable.
53242         (test_signbitl): Use minus_zero instead of -zero.
53243         * modules/signbit-tests (Depends-on): Add float.
53244
53245         * tests/test-ceill.c: Include <float.h>.
53246         (zero): Remove variable.
53247         (minus_zero): New variable.
53248         (main): Use minus_zero instead of -zero.
53249         * modules/ceill-tests (Depends-on): Add float.
53250
53251         * tests/test-floorl.c: Include <float.h>.
53252         (zero): Remove variable.
53253         (minus_zero): New variable.
53254         (main): Use minus_zero instead of -zero.
53255         * modules/floorl-tests (Depends-on): Add float.
53256
53257         * tests/test-roundl.c: Include <float.h>.
53258         (zero): Remove variable.
53259         (minus_zero): New variable.
53260         (main): Use minus_zero instead of -zero.
53261         * modules/roundl-tests (Depends-on): Add float.
53262
53263         * tests/test-truncl.c: Include <float.h>.
53264         (zero): Remove variable.
53265         (minus_zero): New variable.
53266         (main): Use minus_zero instead of -zero.
53267         * modules/truncl-tests (Depends-on): Add float.
53268
53269         * tests/test-frexpl.c (zero): Remove variable.
53270         (minus_zero): New variable.
53271         (main): Use minus_zero instead of -zero.
53272         * modules/frexpl-tests (Depends-on): Add float.
53273
53274         * tests/test-isnan.c (zerol): Remove variable.
53275         (minus_zerol): New variable.
53276         (test_long_double): Use minus_zerol instead of -zerol.
53277         * modules/isnan-tests (Depends-on): Add float.
53278
53279         * tests/test-isnanl.h (zero): Remove variable.
53280         (minus_zero): New variable.
53281         (main): Use minus_zero instead of -zero.
53282         * modules/isnanl-nolibm-tests (Depends-on): Add float.
53283         * modules/isnanl-tests (Depends-on): Add float.
53284
53285         * tests/test-ldexpl.c (zero): Remove variable.
53286         (minus_zero): New variable.
53287         (main): Use minus_zero instead of -zero.
53288         * modules/ldexpl-tests (Depends-on): Add float.
53289
53290         * tests/test-snprintf-posix.h (zerol): Remove variable.
53291         (minus_zerol): New variable.
53292         (test_function): Use minus_zerol instead of -zerol.
53293         * modules/snprintf-posix-tests (Depends-on): Add float.
53294         * modules/vsnprintf-posix-tests (Depends-on): Add float.
53295
53296         * tests/test-sprintf-posix.h (zerol): Remove variable.
53297         (minus_zerol): New variable.
53298         (test_function): Use minus_zerol instead of -zerol.
53299         * modules/sprintf-posix-tests (Depends-on): Add float.
53300         * modules/vsprintf-posix-tests (Depends-on): Add float.
53301
53302         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
53303         (minus_zerol): New variable.
53304         (test_function): Use minus_zerol instead of -zerol.
53305         * modules/vasnprintf-posix-tests (Depends-on): Add float.
53306
53307         * tests/test-vasprintf-posix.c (zerol): Remove variable.
53308         (minus_zerol): New variable.
53309         (test_function): Use minus_zerol instead of -zerol.
53310         * modules/vasprintf-posix-tests (Depends-on): Add float.
53311
53312 2008-10-07  Simon Josefsson  <simon@josefsson.org>
53313
53314         * MODULES.html.sh (Support for building documentation): Mention
53315         pmccabe2html.  Sort entries.
53316
53317         Add pmccabe2html module, from gnupdf.
53318         * build-aux/pmccabe.css: New file.
53319         * build-aux/pmccabe2html: New file.
53320         * m4/pmccabe2html.m4: New file.
53321         * modules/pmccabe2html: New file.
53322
53323 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
53324
53325         flock: new module
53326         * MODULES.html.sh: Add to list of modules.
53327         * lib/flock.c: flock implementation for Windows and Unix systems
53328         which have fcntl.
53329         * doc/glibc-functions/flock.texi: Update documentation.
53330         * lib/sys_file.in.h: <sys/file.h> header file.
53331         * m4/flock.m4: M4 macros.
53332         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
53333         * modules/flock: flock module.
53334         * modules/flock-tests: flock tests module.
53335         * modules/sys_file: sys/file.h module.
53336         * tests/test-flock.c: test suite for flock.
53337
53338 2008-10-06  Jim Meyering  <meyering@redhat.com>
53339
53340         bootstrap: check for LT_INIT more portably still ;-)
53341         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
53342         Spotted by Bruno Haible.
53343
53344 2008-10-06  Eric Blake  <ebb9@byu.net>
53345
53346         test-signbit: avoid tripping Irix cc bug on -0.0L
53347         * tests/test-signbit.c (minus_zerol): Delete, and replace with
53348         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
53349         entire testsuite consistent and avoids an Irix 6.2 bug.
53350
53351 2008-10-05  Bruno Haible  <bruno@clisp.org>
53352             Jim Meyering  <jim@meyering.net>
53353
53354         Add an option for ignoring EPIPE during close_stdout.
53355         * lib/closeout.h: Include <stdbool.h>.
53356         (close_stdout_set_ignore_EPIPE): New declaration.
53357         * lib/closeout.c: Include <stdbool.h>.
53358         (ignore_EPIPE): New variable.
53359         (close_stdout_set_ignore_EPIPE): New function.
53360         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
53361         * lib/close-stream.c (close_stream): Mention the possible EPIPE
53362         failure.
53363         * modules/closeout (Depends-on): Add stdbool.
53364
53365 2008-10-05  Bruno Haible  <bruno@clisp.org>
53366
53367         * modules/accept: New file.
53368         * modules/bind: New file.
53369         * modules/connect: New file.
53370         * modules/getpeername: New file.
53371         * modules/getsockname: New file.
53372         * modules/getsockopt: New file.
53373         * modules/listen: New file.
53374         * modules/recv: New file.
53375         * modules/recvfrom: New file.
53376         * modules/send: New file.
53377         * modules/sendto: New file.
53378         * modules/setsockopt: New file.
53379         * modules/socket: New file.
53380         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
53381         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
53382         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
53383         the particular module is requested. Add a link warning when the
53384         particular module is not requested.
53385         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
53386         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
53387         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
53388         the particular module is requested.
53389         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
53390         gl_SYS_SOCKET_H_DEFAULTS): New macros.
53391         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
53392         * modules/sys_socket (Depends-on): Add link-warning.
53393         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
53394         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
53395         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
53396         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
53397         GL_LINK_WARNING.
53398         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
53399         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
53400         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
53401         * doc/posix-functions/getpeername.texi: Mention the new module
53402         'getpeername'.
53403         * doc/posix-functions/getsockname.texi: Mention the new module
53404         'getsockname'.
53405         * doc/posix-functions/getsockopt.texi: Mention the new module
53406         'getsockopt'.
53407         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
53408         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
53409         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
53410         * doc/posix-functions/send.texi: Mention the new module 'send'.
53411         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
53412         * doc/posix-functions/setsockopt.texi: Mention the new module
53413         'setsockopt'.
53414         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
53415         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
53416         listen, connect, accept.
53417         * modules/select-tests (Depends-on): Likewise.
53418
53419 2008-10-05  Bruno Haible  <bruno@clisp.org>
53420
53421         * lib/winsock.c (strerror): Remove unused #undef.
53422         (rpl_close): Remove unused local variable.
53423
53424         * modules/sys_socket (Depends-on); Add errno.
53425
53426 2008-10-05  Bruno Haible  <bruno@clisp.org>
53427
53428         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
53429         (select): Add a link warning when the 'select' module is not used.
53430         * modules/sys_select (Depends-on): Add link-warning.
53431         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
53432         Suggested by Paolo Bonzini.
53433
53434 2008-10-05  Jim Meyering  <meyering@redhat.com>
53435
53436         bootstrap: check for LT_INIT more portably
53437         * build-aux/bootstrap: Avoid using grep -E, since it's not
53438         portable enough.  Suggestion from Bruno Haible.
53439
53440 2008-10-05  Bruno Haible  <bruno@clisp.org>
53441
53442         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
53443         as being fixed by gnulib.
53444
53445 2008-10-05  Bruno Haible  <bruno@clisp.org>
53446
53447         * modules/select-tests: New file, mostly copied from
53448         modules/sys_select-tests.
53449         * tests/test-select.c: New file, mostly copied from
53450         tests/test-sys_select.c.
53451         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
53452         * modules/sys_select-tests (Depends-on): Remove all dependencies.
53453         (Makefile.am): Remove test_sys_select_LDADD.
53454
53455         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
53456         to an undefined symbol, for an error message.
53457         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
53458         (gl_SYS_SELECT_H_DEFAULTS): New macro.
53459         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
53460         winsock-select.c here.
53461         * modules/sys_select (Files): Remove lib/winsock-select.c.
53462         (Depends-on): Remove alloca.
53463         (Makefile.am): Substitute GNULIB_SELECT.
53464         * modules/select: New file.
53465         * doc/posix-functions/select.texi: Update.
53466
53467 2008-10-05  Bruno Haible  <bruno@clisp.org>
53468
53469         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
53470         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
53471         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
53472         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
53473         getdtablesize.
53474         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
53475         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
53476
53477 2008-10-05  Bruno Haible  <bruno@clisp.org>
53478
53479         * modules/getdtablesize-tests: New file.
53480         * tests/test-getdtablesize.c: New file.
53481
53482         New module 'getdtablesize'.
53483         * lib/unistd.in.h (getdtablesize): New declaration.
53484         * lib/getdtablesize.c: New file.
53485         * m4/getdtablesize.m4: New file.
53486         * modules/getdtablesize: New file.
53487         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53488         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
53489         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
53490         HAVE_GETDTABLESIZE.
53491         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
53492
53493 2008-10-05  Bruno Haible  <bruno@clisp.org>
53494
53495         * modules/sched (Makefile.am): Fix typo.
53496         Reported by Simon Josefsson.
53497
53498 2008-10-05  Jim Meyering  <meyering@redhat.com>
53499
53500         bootstrap: check for LT_INIT, too
53501         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
53502         are deprecated.  Suggestion from Ralf Wildenhues.
53503
53504 2008-10-05  Bruno Haible  <bruno@clisp.org>
53505
53506         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
53507         overriding them by ours.
53508         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
53509
53510 2008-10-05  Jim Meyering  <meyering@redhat.com>
53511
53512         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
53513         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
53514         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
53515
53516 2008-10-04  Bruno Haible  <bruno@clisp.org>
53517
53518         * modules/dup2 (License): Change to LGPLv2+.
53519         * modules/sleep (License): Likewise.
53520         * modules/perror (License): Likewise.
53521         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
53522         Blake.
53523         * modules/signal (License): Likewise.
53524         * modules/sigprocmask (License): Likewise.
53525         * modules/raise (License): Change to LGPLv2+, with approval by Jim
53526         Meyering.
53527
53528 2008-10-04  Bruno Haible  <bruno@clisp.org>
53529
53530         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
53531         Reported by Rainer Tammer <tammer@tammer.net>.
53532
53533 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
53534             Bruno Haible  <bruno@clisp.org>
53535
53536         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
53537         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
53538         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
53539
53540 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
53541
53542         filevercmp: new module
53543         * lib/filevercmp.h: New function filevercmp comparing version strings.
53544         * lib/filevercmp.c: Implementation of filevercmp function.
53545         * modules/filevercmp: Module metadata.
53546         * tests/test-filevercmp.c: Unit test for new module.
53547         * modules/filevercmp-tests: Unit test metadata.
53548         * MODULES.html.sh: Add filevercmp module.
53549
53550 2008-10-03  Bruno Haible  <bruno@clisp.org>
53551
53552         * lib/c-ctype.h: Add comment.
53553         Reported by Jim Meyering.
53554
53555 2008-10-02  Bruno Haible  <bruno@clisp.org>
53556
53557         * modules/posix_spawn-internal (Depends-on): Add 'open'.
53558
53559 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53560
53561         * build-aux/bootstrap: Allow renaming bootstrap, and change the
53562         name of bootstrap.conf accordingly.
53563
53564 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53565
53566         * build-aux/bootstrap: Install git-merge-changelog configuration
53567         items into .gitconfig if needed.
53568
53569 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
53570
53571         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
53572         git repository, and initialize/update it accordingly.
53573
53574 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
53575
53576         * modules/fsync-tests: New file.
53577         * tests/test-fsync.c: New file.
53578
53579         New module 'fsync'.
53580         * lib/fsync.c: New file.
53581         * m4/fsync.m4: New file.
53582         * modules/fsync: New file.
53583         * lib/unistd.in.h (fsync): New declaration.
53584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
53585         GNULIB_FSYNC and HAVE_FSYNC.
53586         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
53587         * MODULES.html.sh (posix_functions): Add fsync.
53588         * doc/posix-functions/fsync.texi: Mention the new module.
53589
53590 2008-10-02  Jim Meyering  <meyering@redhat.com>
53591
53592         fts.c: sync with similar code from coreutils' remove.c
53593         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
53594         Guard also with "#if defined __linux__", since for now at least,
53595         this code is Linux-kernel-specific.
53596
53597 2008-10-02  Jim Meyering  <meyering@redhat.com>
53598
53599         fts: bug fixes
53600         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
53601         Include <sys/vfs.h>, not <sys/statfs.h>.
53602
53603         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
53604         Include <sys/vfs.h>, not <sys/statfs.h>.
53605
53606 2008-10-01  Bruno Haible  <bruno@clisp.org>
53607
53608         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
53609         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
53610         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
53611         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
53612         * doc/posix-functions/posix_spawnp.texi: Likewise.
53613         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
53614         whether posix_spawn actually works.
53615         * m4/pipe.m4 (gl_PIPE): Likewise.
53616         * modules/execute (Files): Add m4/posix_spawn.m4.
53617         * modules/pipe (Files): Add m4/posix_spawn.m4.
53618         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
53619
53620 2008-10-01  Jim Meyering  <meyering@redhat.com>
53621
53622         remove trailing spaces
53623         * NEWS: Likewise.
53624         * lib/poll.c (poll): Likewise.
53625         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
53626         * lib/winsock.c (rpl_close): Likewise.
53627         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
53628         * modules/yield: Likewise.
53629         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
53630         * tests/test-sys_select.c (connect_to_socket): Likewise.
53631
53632         fts.c: adjust a new interface to be more generally useful
53633         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
53634         (fts_build): Adjust caller.
53635
53636 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53637
53638         * modules/cond-tests: New file.
53639         * tests/test-cond.c: New file.
53640
53641 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53642             Bruno Haible  <bruno@clisp.org>
53643
53644         * modules/cond (Dependencies): Add errno, time.
53645         * lib/glthread/cond.h: Include <time.h>.
53646         (gl_cond_define, gl_cond_define_initialized): Use the same definition
53647         across platforms.
53648
53649 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53650             Bruno Haible  <bruno@clisp.org>
53651
53652         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
53653
53654 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53655             Bruno Haible  <bruno@clisp.org>
53656
53657         * modules/tls-tests (Depends-on): Add thread, yield.
53658         (configure.ac): Remove all checks.
53659         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
53660         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53661         gl_thread_self): Remove definitions. Include glthread/thread.h and
53662         glthread/yield.h instead.
53663         (test_tls): Pass an additional NULL argument to gl_thread_join.
53664
53665 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53666             Bruno Haible  <bruno@clisp.org>
53667
53668         * modules/lock-tests (Depends-on): Add thread, yield.
53669         (configure.ac): Remove all checks.
53670         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
53671         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
53672         gl_thread_self): Remove definitions. Include glthread/thread.h and
53673         glthread/yield.h instead.
53674         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
53675         additional NULL argument to gl_thread_join.
53676
53677 2008-09-30  Bruno Haible  <bruno@clisp.org>
53678
53679         Fix the Win32 implementation of the 'thread' module.
53680         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
53681         pointer type.
53682         (gl_thread_self): Invoke gl_thread_self_func.
53683         (gl_thread_self_func): New declaration.
53684         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
53685         (do_init_self_key, init_self_key): New functions.
53686         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
53687         Remove some fields.
53688         (running_threads, running_lock): Remove variables.
53689         (get_current_thread_handle): New function.
53690         (gl_thread_self_func, wrapper_func, glthread_create_func,
53691         glthread_join_func, gl_thread_exit_func): Largely rewritten and
53692         simplified.
53693
53694 2008-09-30  Bruno Haible  <bruno@clisp.org>
53695
53696         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
53697         files.
53698
53699 2008-09-30  Jim Meyering  <meyering@redhat.com>
53700
53701         fts.m4: correct the test for statfs.f_type
53702         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
53703         when checking for statfs.f_type.
53704
53705 2008-09-15  Simon Josefsson  <simon@josefsson.org>
53706
53707         tests: avoid some compiler warnings
53708         * tests/test-memchr.c (main): Pass NULL indirectly.
53709         * tests/test-getdate.c (main): Remove unused variable 'ret'.
53710
53711 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
53712
53713         getdate.y: disallow countable dayshifts like "4 yesterday ago"
53714         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
53715         exactly specified dayshifts.
53716         (dayshift): New rule.
53717         (rel): Add dayshift.
53718         (relative_time_table) [tomorrow, yesterday, today, now]:
53719         Use tDAY_SHIFT in place of tDAY_UNIT.
53720         * tests/test-getdate.c: Add tests for now-disallowed countable
53721         dayshifts, e.g., "4 yesterday ago".
53722
53723 2008-09-29  Bruno Haible  <bruno@clisp.org>
53724
53725         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
53726         * tests/test-posix_spawn1.in.sh: Renamed from
53727         tests/test-posix_spawn.in.sh.
53728         * tests/test-posix_spawn2.c: New file.
53729         * tests/test-posix_spawn2.in.sh: New file.
53730         * modules/posix_spawnp-tests (Files): Update.
53731         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
53732
53733 2008-09-29  Bruno Haible  <bruno@clisp.org>
53734
53735         Propagate effects of putenv/setenv/unsetenv to child processes.
53736         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
53737         * lib/pipe.c (create_pipe): Likewise.
53738
53739 2008-09-29  Bruno Haible  <bruno@clisp.org>
53740
53741         Enable use of shell scripts as executables in mingw.
53742         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
53743         run the program as a shell script.
53744         * lib/pipe.c (create_pipe): Likewise.
53745         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
53746         resulting array.
53747
53748 2008-09-29  Eric Blake  <ebb9@byu.net>
53749
53750         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
53751
53752 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
53753
53754         * doc/posix-functions/accept.texi: Update mingw problems.
53755         * doc/posix-functions/bind.texi: Update mingw problems.
53756         * doc/posix-functions/close.texi: Update mingw problems.
53757         * doc/posix-functions/connect.texi: Update mingw problems.
53758         * doc/posix-functions/getpeername.texi: Update mingw problems.
53759         * doc/posix-functions/getsockname.texi: Update mingw problems.
53760         * doc/posix-functions/getsockopt.texi: Update mingw problems.
53761         * doc/posix-functions/ioctl.texi: Update mingw problems.
53762         * doc/posix-functions/listen.texi: Update mingw problems.
53763         * doc/posix-functions/recv.texi: Update mingw problems.
53764         * doc/posix-functions/recvfrom.texi: Update mingw problems.
53765         * doc/posix-functions/select.texi: Update mingw problems.
53766         * doc/posix-functions/send.texi: Update mingw problems.
53767         * doc/posix-functions/sendto.texi: Update mingw problems.
53768         * doc/posix-functions/setsockopt.texi: Update mingw problems.
53769         * doc/posix-functions/socket.texi: Update mingw problems.
53770
53771 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
53772             Bruno Haible  <bruno@clisp.org>
53773
53774         * lib/sys_select.in.h: Include sys/time.h.
53775         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
53776         * modules/sys_select: Depend on sys_time.
53777         * tests/test-sys_select.c: Test that sys/select.h defines struct
53778         timeval fully.
53779
53780 2008-09-29  Bruno Haible  <bruno@clisp.org>
53781
53782         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
53783         * lib/sys_select.in.h: Likewise.
53784
53785 2008-09-29  Bruno Haible  <bruno@clisp.org>
53786
53787         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
53788
53789 2008-09-29  Bruno Haible  <bruno@clisp.org>
53790
53791         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
53792         Set LIBSOCKET instead of augmenting LIBS.
53793         * modules/sockets (Link): New section.
53794         * modules/sockets-tests (test_sockets_LDADD): New variable.
53795         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
53796         * modules/poll-tests (test_poll_LDADD): New variable.
53797         * NEWS: Document the change.
53798
53799 2008-09-29  Bruno Haible  <bruno@clisp.org>
53800
53801         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
53802         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
53803         ARPA_INET_H directly.
53804         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53805
53806 2008-09-28  Bruno Haible  <bruno@clisp.org>
53807
53808         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
53809         from gl_HEADER_SYS_SOCKET.
53810         (gl_HEADER_SYS_SOCKET): Invoke it.
53811         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
53812
53813 2008-09-28  Bruno Haible  <bruno@clisp.org>
53814
53815         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
53816         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
53817         Needed on OSF/1 4.0.
53818
53819 2008-09-28  Bruno Haible  <bruno@clisp.org>
53820
53821         Override open more carefully.
53822         * lib/open.c (orig_open): New function.
53823         (rpl_open): Use orig_open instead of open.
53824         * lib/fcntl.in.h: Add special invocation convention.
53825         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
53826         (gl_FUNC_OPEN): Invoke it.
53827
53828         Override freopen more carefully.
53829         * lib/freopen.c (orig_freopen): New function.
53830         (rpl_freopen): Use orig_freopen instead of freopen.
53831         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
53832         (gl_FUNC_FREOPEN): Invoke it.
53833
53834         Override fopen more carefully.
53835         * lib/fopen.c (orig_fopen): New function.
53836         (rpl_fopen): Use orig_fopen instead of fopen.
53837         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
53838         (gl_FUNC_FOPEN): Invoke it.
53839         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
53840
53841 2008-09-28  Bruno Haible  <bruno@clisp.org>
53842
53843         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
53844         SIGPIPE.
53845
53846 2008-09-28  Bruno Haible  <bruno@clisp.org>
53847
53848         * tests/test-sigaction.c (handler, main): Disable the check whether
53849         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
53850         glibc systems with LinuxThreads.
53851
53852 2008-09-28  Bruno Haible  <bruno@clisp.org>
53853
53854         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
53855
53856         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
53857         with AIX xlc.
53858         * lib/fcntl.in.h (open): Likewise.
53859         Reported by Rainer Tammer <tammer@tammer.net>.
53860
53861 2008-09-28  Bruno Haible  <bruno@clisp.org>
53862
53863         * modules/posix_spawnp-tests: New file.
53864         * tests/test-posix_spawn.c: New file.
53865         * tests/test-posix_spawn.in.sh: New file.
53866
53867         New module 'posix_spawnp'.
53868         * modules/posix_spawnp: New file.
53869         * lib/spawnp.c: New file, from GNU libc with modifications.
53870         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
53871
53872         New module 'posix_spawn'.
53873         * modules/posix_spawn: New file.
53874         * lib/spawn.c: New file, from GNU libc with modifications.
53875         * doc/posix-functions/posix_spawn.texi: Mention the new module.
53876
53877         New module 'posix_spawnattr_destroy'.
53878         * modules/posix_spawnattr_destroy: New file.
53879         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
53880         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
53881         module.
53882
53883         New module 'posix_spawnattr_setsigmask'.
53884         * modules/posix_spawnattr_setsigmask: New file.
53885         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
53886         modifications.
53887         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
53888         new module.
53889
53890         New module 'posix_spawnattr_getsigmask'.
53891         * modules/posix_spawnattr_getsigmask: New file.
53892         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
53893         modifications.
53894         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
53895         new module.
53896
53897         New module 'posix_spawnattr_setsigdefault'.
53898         * modules/posix_spawnattr_setsigdefault: New file.
53899         * lib/spawnattr_setdefault.c: New file, from GNU libc with
53900         modifications.
53901         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
53902         new module.
53903
53904         New module 'posix_spawnattr_getsigdefault'.
53905         * modules/posix_spawnattr_getsigdefault: New file.
53906         * lib/spawnattr_getdefault.c: New file, from GNU libc with
53907         modifications.
53908         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
53909         new module.
53910
53911         New module 'posix_spawnattr_setschedpolicy'.
53912         * modules/posix_spawnattr_setschedpolicy: New file.
53913         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
53914         modifications.
53915         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
53916         new module.
53917
53918         New module 'posix_spawnattr_getschedpolicy'.
53919         * modules/posix_spawnattr_getschedpolicy: New file.
53920         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
53921         modifications.
53922         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
53923         new module.
53924
53925         New module 'posix_spawnattr_setschedparam'.
53926         * modules/posix_spawnattr_setschedparam: New file.
53927         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
53928         modifications.
53929         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
53930         new module.
53931
53932         New module 'posix_spawnattr_getschedparam'.
53933         * modules/posix_spawnattr_getschedparam: New file.
53934         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
53935         modifications.
53936         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
53937         new module.
53938
53939         New module 'posix_spawnattr_setpgroup'.
53940         * modules/posix_spawnattr_setpgroup: New file.
53941         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
53942         modifications.
53943         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
53944         module.
53945
53946         New module 'posix_spawnattr_getpgroup'.
53947         * modules/posix_spawnattr_getpgroup: New file.
53948         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
53949         modifications.
53950         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
53951         module.
53952
53953         New module 'posix_spawnattr_setflags'.
53954         * modules/posix_spawnattr_setflags: New file.
53955         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
53956         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
53957         module.
53958
53959         New module 'posix_spawnattr_getflags'.
53960         * modules/posix_spawnattr_getflags: New file.
53961         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
53962         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
53963         module.
53964
53965         New module 'posix_spawnattr_init'.
53966         * modules/posix_spawnattr_init: New file.
53967         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
53968         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
53969         module.
53970
53971         New module 'posix_spawn_file_actions_destroy'.
53972         * modules/posix_spawn_file_actions_destroy: New file.
53973         * lib/spawn_faction_destroy.c: New file, from GNU libc with
53974         modifications.
53975         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
53976         the new module.
53977
53978         New module 'posix_spawn_file_actions_addopen'.
53979         * modules/posix_spawn_file_actions_addopen: New file.
53980         * lib/spawn_faction_addopen.c: New file, from GNU libc with
53981         modifications.
53982         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
53983         the new module.
53984
53985         New module 'posix_spawn_file_actions_adddup2'.
53986         * modules/posix_spawn_file_actions_adddup2: New file.
53987         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
53988         modifications.
53989         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
53990         the new module.
53991
53992         New module 'posix_spawn_file_actions_addclose'.
53993         * modules/posix_spawn_file_actions_addclose: New file.
53994         * lib/spawn_faction_addclose.c: New file, from GNU libc with
53995         modifications.
53996         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
53997         the new module.
53998
53999         New module 'posix_spawn_file_actions_init'.
54000         * modules/posix_spawn_file_actions_init: New file.
54001         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
54002         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
54003         new module.
54004
54005         New module 'posix_spawn-internal'.
54006         * modules/posix_spawn-internal: New file.
54007         * lib/spawn_int.h: New file, from GNU libc with modifications.
54008         * lib/spawni.c: New file, from GNU libc with modifications.
54009         * m4/posix_spawn.m4: New file.
54010
54011         New module 'spawn'.
54012         * modules/spawn: New file.
54013         * lib/spawn.in.h: New file, from GNU libc with modifications.
54014         * m4/spawn_h.m4: New file.
54015         * doc/posix-headers/spawn.texi: Mention the new module.
54016
54017 2008-09-28  Bruno Haible  <bruno@clisp.org>
54018
54019         * modules/sched-tests: New file.
54020         * tests/test-sched.c: New file.
54021
54022         New module 'sched'.
54023         * modules/sched: New file.
54024         * lib/sched.in.h: New file.
54025         * m4/sched_h.m4: New file.
54026         * doc/posix-headers/sched.texi: Mention the new module.
54027
54028 2008-09-27  Eric Blake  <ebb9@byu.net>
54029
54030         Fix previous patch, and tweak references to $0.
54031         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
54032         (func_version, func_gnulib_dir): Don't call this program
54033         gnulib-tool.
54034         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
54035         with using $0 in function.
54036         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
54037         (func_fatal_error): Reuse the name the user invoked us with.
54038
54039 2008-09-27  Bruno Haible  <bruno@clisp.org>
54040
54041         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
54042         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
54043         (gl_ICONV_H): Not here.
54044         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
54045         instead of assigning ICONV_H directly.
54046
54047         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
54048         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
54049         WCHAR_H directly.
54050
54051 2008-09-27  Bruno Haible  <bruno@clisp.org>
54052
54053         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
54054         * modules/arpa_inet (Depends-on): Add link-warning.
54055         (Makefile.am): Insert the definition of GL_LINK-WARNING.
54056         * modules/unistd (Makefile.am): Likewise.
54057
54058 2008-09-26  Bruno Haible  <bruno@clisp.org>
54059
54060         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
54061         variables.
54062         (func_version): Essentially copied from gnulib-tool.
54063         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
54064         func_readlink): Copied from gnulib-tool.
54065
54066 2008-09-26  Bruno Haible  <bruno@clisp.org>
54067
54068         * gnulib-tool (func_version): Change directory to $gnulib_dir before
54069         invoking git-version-gen.
54070
54071 2008-09-26  Bruno Haible  <bruno@clisp.org>
54072
54073         * posix-modules: Update to directory names changed on 2008-01-19.
54074         Remove commas in output before splitting into words. No more need to
54075         avoid 'ftruncate' since 2007-02-19.
54076
54077 2008-09-26  Bruno Haible  <bruno@clisp.org>
54078
54079         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
54080
54081 2008-09-26  Bruno Haible  <bruno@clisp.org>
54082
54083         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
54084         * modules/fwriteerror (Depends-on): Add errno.
54085
54086 2008-09-26  Bruno Haible  <bruno@clisp.org>
54087
54088         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
54089         * tests/test-vc-list-files-cvs.sh: Likewise.
54090
54091 2008-09-26  Bruno Haible  <bruno@clisp.org>
54092
54093         * doc/posix-headers/sys_resource.texi: Reorder items.
54094
54095 2008-09-26  Jim Meyering  <meyering@redhat.com>
54096
54097         fts: tweak inode comparison function
54098         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
54099         inode numbers, as documented.
54100
54101         fts: sort dirent entries on inode number before traversing
54102         This avoids a quadratic, seek-related performance penalty when
54103         operating on a directory containing many entries (measurable at 10k;
54104         3.5 hours at 2 million entries with a cold cache) on certain types
54105         of file systems, including ext3 and ext4, but not tmpfs.
54106         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
54107         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
54108         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
54109         (fs_handles_readdir_ordered_dirents_efficiently): New function.
54110         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
54111         (fts_build): Set the stat.st_ino member from D_INO.
54112         If it is likely to be useful, sort dirent entries on inode number.
54113
54114         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
54115         and the struct statfs.f_type member.
54116         * modules/fts (Depends-on): Add d-ino.
54117
54118 2008-09-26  Bruno Haible  <bruno@clisp.org>
54119
54120         * modules/sigpipe-die (Depends-on): Add sigpipe.
54121
54122         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
54123         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
54124         and GNULIB_STDIO_H_SIGPIPE are set.
54125         * lib/stdio-write.c: New file.
54126         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
54127         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54128         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54129         REPLACE_STDIO_WRITE_FUNCS.
54130         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
54131         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54132         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54133         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54134         * modules/stdio (Files): Add lib/stdio-write.c.
54135         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
54136         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
54137         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
54138         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
54139         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
54140         REPLACE_FPRINTF_POSIX.
54141         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
54142         REPLACE_PRINTF_POSIX.
54143         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
54144         REPLACE_VFPRINTF_POSIX.
54145         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
54146         REPLACE_VPRINTF_POSIX.
54147         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
54148         SIGPIPE issue.
54149         * doc/posix-functions/fputc.texi: Likewise.
54150         * doc/posix-functions/fputs.texi: Likewise.
54151         * doc/posix-functions/fwrite.texi: Likewise.
54152         * doc/posix-functions/printf.texi: Likewise.
54153         * doc/posix-functions/putc.texi: Likewise.
54154         * doc/posix-functions/putchar.texi: Likewise.
54155         * doc/posix-functions/puts.texi: Likewise.
54156         * doc/posix-functions/vfprintf.texi: Likewise.
54157         * doc/posix-functions/vprintf.texi: Likewise.
54158
54159         * modules/safe-write (Depends-on): Add write.
54160
54161         * modules/sigpipe-tests: New file.
54162         * tests/test-sigpipe.c: New file.
54163         * tests/test-sigpipe.sh: New file.
54164
54165         * modules/write: New file.
54166         * lib/unistd.in.h: Include <sys/types.h>.
54167         (write): New declaration.
54168         * lib/write.c: New file.
54169         * m4/write.m4: New file.
54170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54171         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
54172         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
54173         GNULIB_WRITE, REPLACE_WRITE.
54174         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
54175         and the SIGPIPE issue.
54176
54177         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
54178         (raise): New declaration.
54179         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
54180         (ext_signal): New function.
54181         (rpl_raise): New function.
54182         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
54183         GNULIB_SIGNAL_H_SIGPIPE.
54184         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
54185         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
54186
54187         * modules/sigpipe: New file.
54188         * m4/sigpipe.m4: New file.
54189
54190 2008-09-25  Derek Price  <derek@ximbiot.com>
54191             Bruno Haible  <bruno@clisp.org>
54192
54193         * gnulib-tool (func_import): Report all license incompatibilities, not
54194         just the first one.
54195
54196 2008-09-25  Bruno Haible  <bruno@clisp.org>
54197
54198         * gnulib-tool (func_import): When computing the edits, consider not
54199         only the Makefile.ams that exist but also those that will be generated.
54200
54201 2008-09-25  Simon Josefsson  <simon@josefsson.org>
54202
54203         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
54204         fixes gnulib-tool --test warning about duplicate dependency.
54205
54206 2008-09-25  Bruno Haible  <bruno@clisp.org>
54207
54208         * gnulib-tool: Don't ask the user to perform edits in the generated
54209         Makefile.ams.
54210         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
54211         apply to the Makefile.am being generated.
54212         (func_emit_tests_Makefile_am): Execute edits that apply to the
54213         Makefile.am being generated.
54214         (func_import): Setup list of Makefile.am edits before emitting the
54215         Makefile.ams, not at the end.
54216         (func_create_testdir): Update.
54217         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54218
54219 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54220
54221         * gnulib-tool (func_import): Store the --tests-base option in the
54222         comment in gnulib-cache.m4.
54223
54224 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
54225
54226         * NEWS: Document increased portability that sys_select now provides.
54227
54228         * lib/sys_select.in.h: Install select wrapper.
54229         * lib/sys_socket.in.h: Use more descriptive name when there is no
54230         select wrapper.
54231         * lib/winsock-select.c: New.
54232         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
54233         Require gl_HEADER_SYS_SOCKET.
54234         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
54235         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
54236         * tests/test-sys_select.c: Add functional tests.
54237
54238 2008-09-24  Eric Blake  <ebb9@byu.net>
54239
54240         open, fopen: close fd leak in last patch
54241         * lib/open.c (rpl_open): Close fd before returning error.
54242         * lib/fopen.c (rpl_fopen): Close fd before returning error.
54243         * doc/posix-functions/open.texi (open): Document that Irix also
54244         has the bug.
54245         * doc/posix-functions/fopen.texi (fopen): Likewise.
54246         Reported by Paolo Bonzini.
54247
54248 2008-09-24  Bruno Haible  <bruno@clisp.org>
54249
54250         Ensure that a filename ending in a slash cannot be used to access a
54251         non-directory.
54252         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
54253         to check whether it's really a directory.
54254         * lib/fopen.c: Include fcntl.h, unistd.h.
54255         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
54256         and fdopen().
54257         * modules/fopen (Depends-on): Add unistd.
54258         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
54259         * tests/test-fopen.c (main): Likewise.
54260         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
54261         * doc/posix-functions/fopen.texi: Likewise.
54262         Reported by Eric Blake.
54263
54264 2008-09-23  Eric Blake  <ebb9@byu.net>
54265
54266         c-stack: avoid compiler optimizations when provoking overflow
54267         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
54268         recursion harder to optimize, to ensure a stack overflow occurs.
54269         * tests/test-c-stack.c (recurse): Likewise.
54270         Borrowed from libsigsegv.
54271
54272         c-stack: work around Irix sigaltstack bug
54273         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
54274         whether sigaltstack uses wrong end of stack_t (copied in part from
54275         libsigsegv).
54276         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
54277         Irix bug, without requiring an over-allocation.
54278         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
54279         bug.
54280
54281         fopen: document mingw bug on directories
54282         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
54283         not allowing a stream visiting a directory, even though reading
54284         from such a stream is not portable.
54285
54286 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54287
54288         * lib/poll.c: Rewrite.
54289         * modules/poll: Depend on alloca.
54290
54291 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54292
54293         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
54294         instead define prototypes for a full set of wrappers.  Ensure
54295         that Cygwin does not use the compatibility code, which is only
54296         for MinGW.
54297         * lib/winsock.c: New.
54298         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
54299         * modules/sys_socket: Add lib/winsock.c.
54300
54301         * modules/poll-tests: Add errno and perror.
54302         * tests/test-poll.c: Use ioctl, not ioctlsocket.
54303
54304 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
54305
54306         * tests/test-poll.c: Downgrade minimum needed Winsock version.
54307
54308 2008-09-23  Bruno Haible  <bruno@clisp.org>
54309
54310         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
54311         * doc/glibc-functions/*: Likewise.
54312
54313 2008-09-23  Simon Josefsson  <simon@josefsson.org>
54314
54315         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
54316         success.
54317
54318 2008-09-22  Eric Blake  <ebb9@byu.net>
54319             Bruno Haible  <bruno@clisp.org>
54320
54321         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
54322         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
54323         supply %A but mishandle pseudo-NaN.
54324         Reported by Simon Josefsson.
54325
54326 2008-09-21  Bruno Haible  <bruno@clisp.org>
54327
54328         * tests/test-lock.c (main): Tweak skip message.
54329         * tests/test-tls.c (main): Likewise.
54330
54331 2008-09-21  Bruno Haible  <bruno@clisp.org>
54332
54333         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
54334         whether 'struct sigaction' has sa_sigaction here...
54335         (gl_PREREQ_SIG_HANDLER_H): ... not here.
54336         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
54337
54338 2008-09-21  Bruno Haible  <bruno@clisp.org>
54339
54340         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
54341         section.
54342         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
54343         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
54344         the new section.
54345         (Support for obsolete systems lacking POSIX:2001): New section.
54346         (String handling <string.h>): Move strdup to the new section.
54347         Suggested by Simon Josefsson and Paolo Bonzini.
54348
54349 2008-09-21  Bruno Haible  <bruno@clisp.org>
54350
54351         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
54352         exponents in %e and %g results on 'long double'. Needed for mingw's
54353         improved *printf functions.
54354         * tests/test-vasprintf-posix.c (test_function): Likewise.
54355         * tests/test-snprintf-posix.h (test_function): Likewise.
54356         * tests/test-sprintf-posix.h (test_function): Likewise.
54357         Reported by Eric Blake.
54358
54359 2008-09-21  Bruno Haible  <bruno@clisp.org>
54360
54361         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
54362         * tests/test-sprintf-posix.h (test_function): Likewise.
54363
54364 2008-09-21  Bruno Haible  <bruno@clisp.org>
54365
54366         * modules/getpass (Depends-on): Add strdup-posix.
54367
54368         New module 'strdup-posix'.
54369         * modules/strdup-posix: New file.
54370         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
54371         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
54372         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
54373         REPLACE_STRDUP.
54374         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
54375         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
54376         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54377         strdup-posix.
54378
54379         * modules/strdup (Depends-on): Remove malloc-posix.
54380
54381 2008-09-20  Bruno Haible  <bruno@clisp.org>
54382
54383         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
54384         Wildenhues.
54385
54386 2008-09-20  Bruno Haible  <bruno@clisp.org>
54387
54388         Ensure that wint_t gets defined on IRIX 5.3.
54389         * lib/wchar.in.h (wint_t): Define if not defined by the system.
54390         * lib/wctype.in.h (wint_t): Likewise.
54391         (__wctype_wint_t): Remove type.
54392         (isw*): Use wint_t instead of __wctype_wint_t.
54393         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
54394         * modules/wchar (Files): Add m4/wint_t.m4.
54395         (Makefile.am): Substitute HAVE_WINT_T.
54396         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
54397         * tests/test-wctype.c: Check that wint_t is defined.
54398         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
54399         * doc/posix-headers/wctype.texi: Likewise.
54400         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54401
54402 2008-09-18  Bruno Haible  <bruno@clisp.org>
54403
54404         * gnulib-tool (func_exit): Update comment.
54405
54406 2008-09-18  Simon Josefsson  <simon@josefsson.org>
54407
54408         * modules/getaddrinfo (Depends-on): Remove strdup, this module
54409         assumes strdup exists and does not depend on strdup to return
54410         ENOMEM on out of memory conditions.
54411
54412 2008-09-18  Bruno Haible  <bruno@clisp.org>
54413
54414         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
54415         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
54416         digits for the exponent.
54417
54418 2008-09-18  Jim Meyering  <meyering@redhat.com>
54419             Bruno Haible  <bruno@clisp.org>
54420
54421         * lib/vasnprintf.c (decimal_point_char): Define also if
54422         NEED_PRINTF_INFINITE_LONG_DOUBLE.
54423
54424 2008-09-16  Bruno Haible  <bruno@clisp.org>
54425         and Eric Blake  <ebb9@byu.net>
54426
54427         vasnprintf: support Irix 5.3
54428         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
54429         that mishandle long double infinity.
54430         Reported by Tom G. Christensen.
54431
54432 2008-09-16  Bruno Haible  <bruno@clisp.org>
54433
54434         * doc/glibc-functions/scandir.texi: Mention the function is missing on
54435         Solaris 9.
54436         * doc/glibc-functions/alphasort.texi: Likewise.
54437         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
54438
54439 2008-09-16  Jim Meyering  <meyering@redhat.com>
54440
54441         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
54442         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
54443         a umask modification leak out of a subshell.  Otherwise, the
54444         opensolaris /bin/sh would be accepted and thus cause unwarranted
54445         failures in the coreutils test suite.
54446
54447 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
54448
54449         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
54450         to succeed.
54451
54452 2008-09-16  Jim Meyering  <meyering@redhat.com>
54453
54454         avoid spurious test failure when library is built without ACL support
54455         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
54456         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
54457         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
54458         * tests/test-copy-acl.sh: Likewise.
54459
54460 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54461
54462         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
54463         based on character occurrence counts.
54464
54465 2008-09-15  Eric Blake  <ebb9@byu.net>
54466
54467         tests: avoid some compiler warnings
54468         * tests/test-memchr.c (main): Pass NULL indirectly.
54469         * tests/test-closein.c (main): Avoid unused variable.
54470
54471 2008-09-15  Bruno Haible  <bruno@clisp.org>
54472
54473         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
54474         are missing on OpenBSD 4.0 individually.
54475         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54476
54477 2008-09-15  Bruno Haible  <bruno@clisp.org>
54478
54479         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
54480         * doc/posix-functions/strerror.texi: Mention also Cygwin.
54481         * doc/posix-functions/perror.texi: Likewise.
54482         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
54483         is missing.
54484         Reported by Eric Blake.
54485
54486         * lib/errno.in.h: Use replacement values >= 2000.
54487         Reported by Eric Blake.
54488
54489 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54490
54491         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
54492         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
54493         limit.
54494         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
54495         compareseq was aborted.
54496
54497 2008-09-14  Bruno Haible  <bruno@clisp.org>
54498
54499         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
54500         yvec_edit_count.
54501         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
54502         (fstrcmp_bounded): Simplify result computation accordingly.
54503
54504 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54505
54506         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
54507         (fstrcmp): Define in terms of fstrcmp_bounded.
54508         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
54509         lower_bound argument.
54510         Return quickly if the result is certainly < lower_bound.
54511         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
54512
54513 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54514
54515         * lib/diffseq.h (EARLY_ABORT): New macro.
54516         (compareseq): Change return type to bool. Return true when EARLY_ABORT
54517         evaluates to true.
54518
54519 2008-09-14  Bruno Haible  <bruno@clisp.org>
54520
54521         * modules/perror-tests: New file.
54522         * tests/test-perror.sh: New file.
54523         * tests/test-perror.c: New file.
54524
54525         New module 'perror'.
54526         * lib/stdio.in.h (perror): New declaration.
54527         * lib/perror.c: New file.
54528         * m4/perror.m4: New file.
54529         * modules/perror: New file.
54530         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
54531         * doc/posix-functions/perror.texi: Mention the perror module.
54532         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
54533         REPLACE_PERROR.
54534         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
54535         REPLACE_PERROR.
54536
54537 2008-09-14  Bruno Haible  <bruno@clisp.org>
54538
54539         * modules/stdio (Makefile.am): Reorder to match the order in
54540         lib/stdio.in.h.
54541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
54542
54543 2008-09-13  Bruno Haible  <bruno@clisp.org>
54544
54545         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
54546
54547 2008-09-13  Bruno Haible  <bruno@clisp.org>
54548
54549         Extend strerror to cover the added errno values.
54550         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
54551         (rpl_strerror): Provide error messages for the added errno values and
54552         for the WSA* values.
54553         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
54554         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
54555         strerror.
54556         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
54557         * modules/strerror (Depends-on): Add errno.
54558         * doc/posix-functions/strerror.texi: Document the change.
54559         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
54560         and EOVERFLOW.
54561
54562 2008-09-13  Bruno Haible  <bruno@clisp.org>
54563
54564         * modules/EOVERFLOW: Remove file.
54565         * m4/eoverflow.m4: Remove file.
54566         * modules/EOVERFLOW-tests: Remove file.
54567         * tests/test-EOVERFLOW.c: Remove file.
54568         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
54569         * modules/ftell (Depends-on): Likewise.
54570         * modules/getdelim (Depends-on): Likewise.
54571         * modules/getugroups (Depends-on): Likewise.
54572         * modules/poll (Depends-on): Likewise.
54573         * modules/snprintf (Depends-on): Likewise.
54574         * modules/sprintf-posix (Depends-on): Likewise.
54575         * modules/vasnprintf (Depends-on): Likewise.
54576         * modules/vasprintf (Depends-on): Likewise.
54577         * modules/vfprintf-posix (Depends-on): Likewise.
54578         * modules/vsnprintf (Depends-on): Likewise.
54579         * modules/vsprintf-posix (Depends-on): Likewise.
54580         * modules/xvasprintf (Depends-on): Likewise.
54581         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
54582         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
54583         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
54584         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
54585         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
54586         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
54587         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
54588         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
54589         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
54590         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
54591         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
54592         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
54593         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
54594         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
54595         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
54596         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
54597         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
54598         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
54599         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
54600         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
54601         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
54602         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
54603         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
54604         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
54605         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
54606         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
54607         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
54608         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
54609         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
54610         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
54611         * MODULES.html.sh: Remove EOVERFLOW.
54612         * NEWS: Mention the change.
54613
54614 2008-09-13  Bruno Haible  <bruno@clisp.org>
54615
54616         * modules/errno-tests: New file.
54617         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
54618
54619         * lib/errno.in.h: New file.
54620         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
54621         * modules/errno: New file.
54622         * doc/posix-headers/errno.texi: Update documentation.
54623         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
54624
54625 2008-09-13  Bruno Haible  <bruno@clisp.org>
54626
54627         * tests/test-poll.c: Use #if for native Windows, rather than testing
54628         __MSVCRT__.
54629
54630 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54631             Bruno Haible  <bruno@clisp.org>
54632
54633         * lib/glob.c: Don't include <pwd.h> on native Windows.
54634         (WINDOWS32): New macro.
54635         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
54636
54637 2008-09-13  Bruno Haible  <bruno@clisp.org>
54638
54639         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
54640         (ETIMEDOUT): Remove macro.
54641         (glthread_cond_timedwait_multithreaded): New declaration.
54642         (glthread_cond_timedwait): Use it.
54643         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
54644         (glthread_cond_timedwait_multithreaded): New function.
54645
54646 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54647
54648         * modules/poll-tests: Do not check for io.h.
54649         * tests/test-poll.c: Check for __MSVCRT__ instead.
54650
54651 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54652
54653         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
54654         * modules/poll-tests: Add inet_pton, stdbool, sockets.
54655         * tests/test-poll.c: Use them.  Use _pipe on Windows.
54656
54657 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
54658
54659         * modules/poll-tests: New.
54660         * tests/test-poll.c: New.
54661
54662 2008-09-12  Eric Blake  <ebb9@byu.net>
54663
54664         frexp: test for NetBSD failure on -0.0
54665         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
54666         not all, bugs from NetBSD 3.0 have been fixed.
54667         * doc/posix-functions/frexp.texi (frexp): Document bug.
54668         Reported by Thomas Klausner.
54669
54670         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
54671         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
54672         literal -0.0.
54673         Reported by Jonathan C. Patschke <jp@centtech.com>.
54674
54675 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54676
54677         * lib/glthread/cond.h: Use dummy implementation also if
54678         USE_WIN32_THREADS.
54679
54680 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54681
54682         * modules/fnmatch-posix (License): Change to LGPLv2+.
54683         * modules/fnmatch-gnu (License): Likewise.
54684
54685 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54686
54687         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
54688
54689 2008-09-11  Jim Meyering  <meyering@redhat.com>
54690
54691         * users.txt: Add gtk-vnc.
54692
54693 2008-09-08  Simon Josefsson  <simon@josefsson.org>
54694
54695         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
54696         rotate amounts.
54697
54698         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
54699         required for 16-bit and 8-bit rotates.
54700         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
54701         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
54702         UINT8_MAX instead of hard-coded constants.
54703         Suggested by Paul Eggert.
54704
54705 2008-09-07  Bruno Haible  <bruno@clisp.org>
54706
54707         * tests/test-striconveh.c (main): Check behaviour when converting from
54708         UTF-7.
54709
54710         Make striconveh work better with stateful encodings.
54711         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
54712         that iconv does not increment the inptr when returning -1/EINVAL.
54713
54714 2008-09-07  Bruno Haible  <bruno@clisp.org>
54715
54716         * build-aux/config.rpath: Update according to libtool-2.2.6.
54717         * build-aux/config.libpath: Likewise.
54718
54719 2008-09-06  Bruno Haible  <bruno@clisp.org>
54720
54721         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
54722         * lib/freadptr.c (freadptr): Likewise.
54723         * lib/freadseek.c (freadptrinc): Likewise.
54724         Reported by Simon Josefsson.
54725
54726 2008-09-06  Bruno Haible  <bruno@clisp.org>
54727
54728         * modules/freadptr (License): Change to LGPLv2+.
54729         * modules/freadseek (License): Likewise.
54730         Suggested by Eric Blake.
54731
54732         * modules/memchr2 (License): Change to LGPLv2+.
54733         Approved by Eric Blake.
54734
54735 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54736             Bruno Haible  <bruno@clisp.org>
54737
54738         Make gnulib-tool work with native 'sed' on AIX.
54739         * gnulib-tool (sed_noop): New variable.
54740         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
54741         func_add_or_update, func_create_testdir): Use it to initialize sed
54742         script variables.
54743         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54744
54745 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
54746             Bruno Haible  <bruno@clisp.org>
54747
54748         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
54749         also works after #include directives.
54750
54751 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
54752
54753         getdate.y: reject an out-of-range timezone value
54754         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
54755         the range [-24...+24].  When specified with only one or two digits,
54756         * tests/test-getdate.c: Tests for the fix.
54757         * doc/getdate.texi: Document this change.
54758
54759 2008-09-03  Bruno Haible  <bruno@clisp.org>
54760
54761         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
54762
54763 2008-09-02  Simon Josefsson  <simon@josefsson.org>
54764
54765         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
54766         <bruce.korb@gmail.com> with ideas from Ben Pfaff
54767         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
54768         Blake <ebb9@byu.net>.
54769
54770         * tests/test-bitrotate.c: Add more test vectors.
54771
54772 2008-09-02  Eric Blake  <ebb9@byu.net>
54773
54774         vasnprintf-posix: handle large precision via %.*d
54775         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
54776         when handling it ourselves.
54777         * tests/test-vasnprintf-posix.c (test_function): Add test.
54778         * tests/test-snprintf-posix.h (test_function): Likewise.
54779         * tests/test-sprintf-posix.h (test_function): Likewise.
54780         * tests/test-vasprintf-posix.c (test_function): Likewise.
54781         Reported by Alain Guibert.
54782
54783 2008-09-01  Eric Blake  <ebb9@byu.net>
54784
54785         c-stack: make configure-time check more robust
54786         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
54787         successful sigaction call.
54788         Reported by Tom G. Christensen.
54789
54790 2008-09-01  Bruno Haible  <bruno@clisp.org>
54791
54792         New module 'findprog-lgpl'.
54793         * modules/findprog-lgpl: New file.
54794         * lib/findprog-lgpl.c: New file.
54795         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
54796         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
54797         to decide whether to use strdup or xstrdup, concatenated_filename or
54798         xconcatenated_filename.
54799
54800 2008-09-01  Bruno Haible  <bruno@clisp.org>
54801
54802         Split module 'concat-filename' into 'concat-filename' (LGPL) and
54803         'xconcat-filename' (GPL).
54804         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
54805         (License): Change to LGPLv2+.
54806         * modules/xconcat-filename: New file.
54807         * lib/concat-filename.h (concatenated_filename): Change specification.
54808         (xconcatenated_filename): New declaration.
54809         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
54810         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
54811         memory situations.
54812         * lib/xconcat-filename.c: New file.
54813         * NEWS: Mention the change.
54814         * lib/findprog.c: Include concat-filename.h, not filename.h.
54815         (find_in_path): Use xconcatenated_filename instead of
54816         concatenated_filename.
54817         * lib/javacomp.c: Include concat-filename.h, not filename.h.
54818         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
54819         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
54820         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
54821         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
54822         instead of concatenated_filename.
54823         * lib/javaexec.c: Include concat-filename.h, not filename.h.
54824         (execute_java_class): Use xconcatenated_filename instead of
54825         concatenated_filename.
54826         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
54827         * modules/javacomp (Depends-on): Likewise.
54828         * modules/javaexec (Depends-on): Likewise.
54829
54830 2008-09-01  Bruno Haible  <bruno@clisp.org>
54831
54832         Split module 'filename' into 'filename' and 'concat-filename'.
54833         * modules/filename: Keep only lib/filename.h.
54834         (License): Change to LGPLv2+.
54835         * modules/concat-filename: New file, extracted from modules/filename.
54836         * lib/filename.h (concatenated_filename): Remove declaration.
54837         * lib/concat-filename.h: New file, extracted from lib/filename.h.
54838         * lib/concat-filename.c: Include concat-filename.h.
54839         * NEWS: Mention the change.
54840
54841 2008-09-01  Simon Josefsson  <simon@josefsson.org>
54842
54843         * lib/bitrotate.h (rotl8, rotr8): Add.
54844
54845         * modules/bitrotate (configure.ac): Need
54846         AC_REQUIRE([AC_C_INLINE]).
54847         (Description): Mention stdint.h.  Reported by Bruno Haible
54848         <bruno@clisp.org>.
54849
54850         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
54851         Paolo Bonzini <bonzini@gnu.org>.
54852
54853 2008-08-31  Bruno Haible  <bruno@clisp.org>
54854
54855         Assume Solaris specific bi-arch conventions on Solaris systems.
54856         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
54857         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
54858         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
54859         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
54860         like acl_libdirstem.
54861         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
54862         acl_libdirstem.
54863         * NEWS: Mention the change.
54864         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
54865
54866 2008-08-31  Jim Meyering  <meyering@redhat.com>
54867
54868         * lib/strftime.h: Add comments describing the two added arguments.
54869
54870         remove duplicate #include directives
54871         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
54872         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
54873
54874 2008-08-31  Bruno Haible  <bruno@clisp.org>
54875
54876         New module 'sigpipe-die'.
54877         * modules/sigpipe-die: New file.
54878         * lib/sigpipe-die.h: New file.
54879         * lib/sigpipe-die.c: New file.
54880         * MODULES.html.sh (Signal handling): Add sigpipe-die.
54881
54882 2008-08-31  Bruno Haible  <bruno@clisp.org>
54883
54884         Don't override previously installed signal handlers.
54885         * lib/fatal-signal.c (saved_sigactions): New variable.
54886         (uninstall_handlers): Reset the signal to the saved handler, not
54887         to SIG_DFL (except when ignored).
54888         (install_handlers): Save the previous handlers.
54889
54890 2008-08-30  Bruno Haible  <bruno@clisp.org>
54891
54892         * gnulib-tool (func_reset_sigpipe): New function.
54893         (func_get_automake_snippet, func_modules_transitive_closure,
54894         func_import): Invoke it before a join command that reads from stdin,
54895         to avoid "echo: write error: Broken pipe" error messages on stderr.
54896         Reported by Sam Steingold <sds@gnu.org>.
54897
54898 2008-08-30  Bruno Haible  <bruno@clisp.org>
54899
54900         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
54901         Code copied from m4/open.m4.
54902         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
54903         access and the filename ends in a slash. Code copied from lib/open.c.
54904         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
54905         * tests/test-fopen.c (main): Check against bug with trailing slash.
54906
54907 2008-08-29  Bruno Haible  <bruno@clisp.org>
54908
54909         Avoid some "gcc -pedantic" warnings.
54910         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
54911         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
54912         * lib/dirent.in.h: Likewise.
54913         * lib/fcntl.in.h: Likewise.
54914         * lib/float.in.h: Likewise.
54915         * lib/iconv.in.h: Likewise.
54916         * lib/inttypes.in.h: Likewise.
54917         * lib/locale.in.h: Likewise.
54918         * lib/math.in.h: Likewise.
54919         * lib/netinet_in.in.h: Likewise.
54920         * lib/search.in.h: Likewise.
54921         * lib/signal.in.h: Likewise.
54922         * lib/stdarg.in.h: Likewise.
54923         * lib/stdint.in.h: Likewise.
54924         * lib/stdio.in.h: Likewise.
54925         * lib/stdlib.in.h: Likewise.
54926         * lib/string.in.h: Likewise.
54927         * lib/strings.in.h: Likewise.
54928         * lib/sys_select.in.h: Likewise.
54929         * lib/sys_socket.in.h: Likewise.
54930         * lib/sys_stat.in.h: Likewise.
54931         * lib/sys_time.in.h: Likewise.
54932         * lib/sysexits.in.h: Likewise.
54933         * lib/time.in.h: Likewise.
54934         * lib/unistd.in.h: Likewise.
54935         * lib/wchar.in.h: Likewise.
54936         * lib/wctype.in.h: Likewise.
54937         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
54938         * modules/fchdir (Makefile.am): Likewise.
54939         * modules/fcntl (Makefile.am): Likewise.
54940         * modules/float (Makefile.am): Likewise.
54941         * modules/iconv_open (Makefile.am): Likewise.
54942         * modules/inttypes (Makefile.am): Likewise.
54943         * modules/locale (Makefile.am): Likewise.
54944         * modules/math (Makefile.am): Likewise.
54945         * modules/netinet_in (Makefile.am): Likewise.
54946         * modules/search (Makefile.am): Likewise.
54947         * modules/signal (Makefile.am): Likewise.
54948         * modules/stdarg (Makefile.am): Likewise.
54949         * modules/stdint (Makefile.am): Likewise.
54950         * modules/stdio (Makefile.am): Likewise.
54951         * modules/stdlib (Makefile.am): Likewise.
54952         * modules/string (Makefile.am): Likewise.
54953         * modules/strings (Makefile.am): Likewise.
54954         * modules/sys_select (Makefile.am): Likewise.
54955         * modules/sys_socket (Makefile.am): Likewise.
54956         * modules/sys_stat (Makefile.am): Likewise.
54957         * modules/sys_time (Makefile.am): Likewise.
54958         * modules/sysexits (Makefile.am): Likewise.
54959         * modules/time (Makefile.am): Likewise.
54960         * modules/unistd (Makefile.am): Likewise.
54961         * modules/wchar (Makefile.am): Likewise.
54962         * modules/wctype (Makefile.am): Likewise.
54963         Reported by Reuben Thomas <rrt@sc3d.org>.
54964
54965 2008-08-29  Bruno Haible  <bruno@clisp.org>
54966
54967         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
54968         any more.
54969
54970 2008-08-29  Simon Josefsson  <simon@josefsson.org>
54971
54972         * MODULES.html.sh (Misc): Add bitrotate.
54973
54974         * modules/bitrotate: New file.
54975
54976         * lib/bitrotate.h: New file.
54977
54978         * modules/bitrotate-tests: New file.
54979
54980         * tests/test-bitrotate.c: New file.
54981
54982         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
54983         on the bitrotate module.
54984
54985         * lib/arctwo.c: Use new bitrotate module.
54986
54987 2008-08-29  Jim Meyering  <meyering@redhat.com>
54988
54989         bootstrap: merge changes from coreutils
54990         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
54991         of copied files.  Remove a kludge, now that this is fixed.
54992         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
54993         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
54994         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
54995
54996 2008-08-29  Bruno Haible  <bruno@clisp.org>
54997
54998         * MODULES.html.sh: Remove --cvs-urls option.
54999
55000 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
55001
55002         maint.mk: adjust to file name change
55003         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
55004
55005 2008-08-28  Jim Meyering  <meyering@redhat.com>
55006
55007         * modules/getndelim2 (License): Relicense to LGPLv2+.
55008         Approved by Richard Stallman for the version of 1995, and by
55009         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
55010
55011 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
55012
55013         * lib/getdelim.c (flockfile, funlockfile): Make all of them
55014         dummy if one is not available.  Do not touch them if
55015         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
55016         (getc_maybe_unlocked): New.
55017         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
55018
55019 2008-08-26  Eric Blake  <ebb9@byu.net>
55020
55021         doc/INSTALL: resync from autoconf
55022         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
55023         (INSTALL_PRELUDE): Delete; this is done more efficiently by
55024         moving...
55025         * install.texi [!autoconf]: ...here.  Resync from autoconf.
55026         * INSTALL: Regenerate.
55027         * INSTALL.ISO: New file.
55028         * INSTALL.UTF-8: Likewise.
55029
55030 2008-08-26  Jim Meyering  <meyering@redhat.com>
55031
55032         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
55033         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
55034         these definitions conditional, so that they may be overridden, too.
55035
55036 2008-08-26  Bruno Haible  <bruno@clisp.org>
55037
55038         Generate INSTALL file variants with prettier quotes.
55039         * doc/Makefile (INSTALL_PRELUDE): New macro.
55040         (INSTALL): Use it.
55041         (INSTALL.ISO, INSTALL.UTF-8): New rules.
55042
55043 2008-08-26  Bruno Haible  <bruno@clisp.org>
55044
55045         Run makeinfo in an English locale.
55046         * doc/Makefile (MAKEINFO): New variable.
55047
55048 2008-08-26  Bruno Haible  <bruno@clisp.org>
55049
55050         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
55051         Suggested by Eric Blake.
55052
55053 2008-08-25  Bruno Haible  <bruno@clisp.org>
55054
55055         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
55056
55057 2008-08-25  Eric Blake  <ebb9@byu.net>
55058
55059         c-stack: test that stack overflow can be caught
55060         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
55061         that platform allows handling stack overflow; at least OS/2 EMX
55062         has sigaltstack, but crashes before transferring control to
55063         handler on stack overflow.
55064         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
55065         check for HAVE_STACK_OVERFLOW_HANDLING.
55066         Reported by Elbert Pol.
55067
55068 2008-08-25  Bruno Haible  <bruno@clisp.org>
55069
55070         * doc/posix-functions/strftime.texi: Fix description of strftime
55071         module.
55072
55073 2008-08-24  Bruno Haible  <bruno@clisp.org>
55074
55075         * tests/uniwidth/test-uc_width2.c: New file.
55076         * tests/uniwidth/test-uc_width2.sh: New file.
55077         * modules/uniwidth/width-tests (Files): Add the new files.
55078         (TESTS): Add uniwidth/test-uc_width2.sh.
55079         (TESTS_ENVIRONMENT): New variable.
55080         (check_PROGRAMS): Add test-uc_width2.
55081         (test_uc_width2_SOURCES): New variable.
55082
55083         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
55084         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
55085         not 0x00AB.
55086         Reported by Alexander V. Lukyanov <lav@netis.ru>.
55087
55088 2008-08-22  Eric Blake  <ebb9@byu.net>
55089
55090         test-lock, test-tls: mention why a test is skipped
55091         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
55092         skipped.
55093         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
55094
55095         count-one-bits: relax license
55096         * modules/count-one-bits (License): Relicense to LGPLv2+.
55097         Suggested by Ludovic Courtès, approved by Ben Pfaff.
55098
55099 2008-08-22  Andreas Schwab  <schwab@suse.de>
55100
55101         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
55102         Remove spurious space in assignment.
55103
55104 2008-08-21  Simon Josefsson  <simon@josefsson.org>
55105
55106         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
55107         Paul Eggert <eggert@CS.UCLA.EDU>.
55108
55109 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
55110
55111         * modules/gettext: Add m4/threadlib.m4.
55112
55113 2008-08-19  Eric Blake  <ebb9@byu.net>
55114
55115         test-c-stack: fix compilation failure on FreeBSD 5.0
55116         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
55117         headers before <sys/resource.h>.
55118         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
55119         the bug.
55120         Reported by Nelson H. F. Beebe.
55121
55122         strverscmp: migrate from "strverscmp.h" to <string.h>
55123         * modules/string (Makefile.am): Add new hooks.
55124         * modules/strverscmp (Files): Remove strverscmp.h.
55125         (Depends-on): Add string.
55126         (configure.ac): Add indicator.
55127         (Include): Mention new header.
55128         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
55129         defaults.
55130         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
55131         results.
55132         * lib/strverscmp.h: Delete.
55133         * lib/string.in.h (strverscmp): Provide declaration, when needed.
55134         * tests/test-strverscmp.c (includes): Adjust client.
55135         * lib/check-version.c (includes): Likewise.
55136         * NEWS: Document the change.
55137
55138         strverscmp: add unit test
55139         * modules/strverscmp-tests: New file.
55140         * tests/test-strverscmp.c: Likewise.
55141
55142 2008-08-19  Simon Josefsson  <simon@josefsson.org>
55143
55144         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
55145         regarding Windows crypto stuff, from Mono.
55146
55147 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
55148
55149         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
55150         if present, for intel RND.  Return error on failures.
55151
55152 2008-08-18  Ben Pfaff  <blp@gnu.org>
55153
55154         gitlog-to-changelog: give better diagnostic for failed pipe-open
55155         * build-aux/gitlog-to-changelog: Improve error message: suggest
55156         that the version of Git may be too old.
55157
55158 2008-08-18  Simon Josefsson  <simon@josefsson.org>
55159
55160         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
55161         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
55162
55163 2008-08-18  Bruno Haible  <bruno@clisp.org>
55164
55165         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
55166         pthread_in_use().
55167
55168 2008-08-18  Bruno Haible  <bruno@clisp.org>
55169
55170         * lib/glthread/threadlib.c: Include <pthread.h>.
55171
55172 2008-08-18  Bruno Haible  <bruno@clisp.org>
55173
55174         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
55175         glthread_recursive_lock_* macros.
55176         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
55177         Fix syntax error.
55178
55179 2008-08-18  Bruno Haible  <bruno@clisp.org>
55180
55181         * lib/glthread/thread.c: Avoid forcing a context switch right after
55182         thread creation.
55183
55184 2008-08-17  Bruno Haible  <bruno@clisp.org>
55185
55186         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
55187         * lib/glthread/thread.h: Provide Win32 specific implementation.
55188         * modules/thread (Files): Add lib/glthread/thread.c.
55189         (Depends-on): Add lock.
55190         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
55191
55192 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55193
55194         New module 'yield'.
55195         * modules/yield: New file.
55196         * lib/glthread/yield.h: New file.
55197         * m4/yield.m4: New file.
55198         * MODULES.html.sh (Multithreading): Add yield.
55199
55200 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55201
55202         New module 'thread'.
55203         * modules/thread: New file.
55204         * lib/glthread/thread.h: New file.
55205         * m4/thread.m4: New file.
55206         * MODULES.html.sh (Multithreading): Add thread.
55207
55208 2008-08-17  Bruno Haible  <bruno@clisp.org>
55209
55210         * lib/glthread/lock.h: Include <stdlib.h> always.
55211         * lib/glthread/tls.h: Likewise.
55212         * lib/glthread/cond.h: Likewise.
55213
55214 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55215
55216         New module 'cond'.
55217         * modules/cond: New file.
55218         * lib/glthread/cond.h: New file.
55219         * lib/glthread/cond.c: New file.
55220         * m4/cond.m4: New file.
55221         * MODULES.html.sh (Multithreading): Add cond.
55222
55223 2008-08-16  Eric Blake  <ebb9@byu.net>
55224
55225         c-stack: fix regression on Irix 5.3 from 2008-06-21
55226         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
55227         sa_sigaction...
55228         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
55229         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
55230         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
55231         * modules/signal (Makefile.am): Use the value.
55232         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
55233         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
55234         * doc/posix-headers/signal.texi (signal.h): Document this
55235         portability issue.
55236         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
55237         Reported by Tom G. Christensen.
55238
55239 2008-08-17  Bruno Haible  <bruno@clisp.org>
55240
55241         New module 'threadlib'.
55242         * modules/threadlib: New file.
55243         * lib/glthread/threadlib.c: New file, extracted from
55244         lib/glthread/lock.c.
55245         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
55246         functions.
55247         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
55248         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
55249         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
55250         macros.
55251         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
55252         (gl_DISABLE_THREADS): Remove macro.
55253         * modules/lock (Files): Remove build-aux/config.rpath.
55254         (Depends-on): Remove havelib. Add threadlib.
55255         (configure.ac-early): Remove section.
55256         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
55257         * modules/tls (Depends-on): Remove lock. Add threadlib.
55258         (Link): New section, copied from threadlib.
55259         * MODULES.html.sh (Multithreading): Add threadlib.
55260
55261 2008-08-14  Bruno Haible  <bruno@clisp.org>
55262
55263         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
55264         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
55265         glthread_rwlock_unlock, glthread_rwlock_destroy,
55266         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
55267         glthread_recursive_lock_destroy): Define as macros always.
55268         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
55269         glthread_lock_lock.
55270         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
55271         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
55272         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
55273         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
55274         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
55275         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
55276         (glthread_recursive_lock_lock_func): Renamed from
55277         glthread_recursive_lock_lock.
55278         (glthread_recursive_lock_unlock_func): Renamed from
55279         glthread_recursive_lock_unlock.
55280         (glthread_recursive_lock_destroy_func): Renamed from
55281         glthread_recursive_lock_destroy.
55282
55283 2008-08-14  Bruno Haible  <bruno@clisp.org>
55284
55285         * lib/glthread/lock.h: Renamed from lib/lock.h.
55286         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
55287         * lib/glthread/tls.h: Renamed from lib/tls.h.
55288         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
55289         * lib/fstrcmp.c: Update includes.
55290         * lib/strsignal.c: Update includes.
55291         * modules/lock (Files, Makefile.am): Update.
55292         (Include): Change to "glthread/lock.h".
55293         * modules/tls (Files, Makefile.am): Update.
55294         (Include): Change to "glthread/tls.h".
55295         * tests/test-lock.c: Update includes.
55296         * tests/test-tls.c: Update includes.
55297         * NEWS: Mention the renamed header files.
55298
55299 2008-08-11  Jim Meyering  <meyering@redhat.com>
55300
55301         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
55302
55303 2008-08-11  Eric Blake  <ebb9@byu.net>
55304
55305         test-c-stack: avoid C99-ism
55306         * tests/test-c-stack.c (main): Fix whitespace, move declaration
55307         before statement.
55308         Reported by Alain Guibert.
55309
55310 2008-08-10  Jim Meyering  <meyering@redhat.com>
55311
55312         ensure that return value of uinttostr et al are not ignored
55313         * lib/inttostr.h (__GNUC_PREREQ): Define.
55314         (__attribute_warn_unused_result__): Define.
55315         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
55316
55317 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
55318
55319         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
55320         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
55321
55322 2008-08-07  Jim Meyering  <meyering@redhat.com>
55323
55324         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
55325
55326         * modules/mkstemp (License): Relicense under LGPLv2+.
55327         * modules/tempname (License): Likewise.
55328
55329 2008-08-06  Bruno Haible  <bruno@clisp.org>
55330
55331         * lib/poll.c (poll): Further micro-optimization.
55332
55333 2008-08-06  Jim Meyering  <meyering@redhat.com>
55334
55335         inet_pton.c: use locale-independent tolower
55336         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
55337         (inet_pton6): Use c_tolower rather than tolower.
55338         * modules/inet_pton (Depends-on): Add c-ctype.
55339
55340 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
55341
55342         * lib/poll.c (poll): Avoid division when timeout is 0, cache
55343         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
55344
55345 2008-08-06  Jim Meyering  <meyering@redhat.com>
55346
55347         * modules/inet_pton (License): Relicense under LGPLv2+.
55348
55349 2008-08-03  Bruno Haible  <bruno@clisp.org>
55350
55351         Additional non-aborting API for lock and tls.
55352         * lib/lock.h: Include <errno.h>.
55353         (glthread_lock_init): New macro/function.
55354         (gl_lock_init): Define as wrapper around glthread_lock_init.
55355         (glthread_lock_lock): New macro/function.
55356         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
55357         (glthread_lock_unlock): New macro/function.
55358         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
55359         (glthread_lock_destroy): New macro/function.
55360         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
55361         (glthread_rwlock_init): New macro/function.
55362         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
55363         (glthread_rwlock_rdlock): New macro/function.
55364         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
55365         (glthread_rwlock_wrlock): New macro/function.
55366         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
55367         (glthread_rwlock_unlock): New macro/function.
55368         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
55369         (glthread_rwlock_destroy): New macro/function.
55370         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
55371         (glthread_recursive_lock_init): New macro/function.
55372         (gl_recursive_lock_init): Define as wrapper around
55373         glthread_recursive_lock_init.
55374         (glthread_recursive_lock_lock): New macro/function.
55375         (gl_recursive_lock_lock): Define as wrapper around
55376         glthread_recursive_lock_lock.
55377         (glthread_recursive_lock_unlock): New macro/function.
55378         (gl_recursive_lock_unlock): Define as wrapper around
55379         glthread_recursive_lock_unlock.
55380         (glthread_recursive_lock_destroy): New macro/function.
55381         (gl_recursive_lock_destroy): Define as wrapper around
55382         glthread_recursive_lock_destroy.
55383         (glthread_once): New macro/function.
55384         (gl_once): Define as wrapper around glthread_once.
55385         Update function declarations.
55386         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
55387         glthread_rwlock_init. Return error code.
55388         (glthread_rwlock_rdlock_multithreaded): Renamed from
55389         glthread_rwlock_rdlock. Return error code.
55390         (glthread_rwlock_wrlock_multithreaded): Renamed from
55391         glthread_rwlock_wrlock. Return error code.
55392         (glthread_rwlock_unlock_multithreaded): Renamed from
55393         glthread_rwlock_unlock. Return error code.
55394         (glthread_rwlock_destroy_multithreaded): Renamed from
55395         glthread_rwlock_destroy. Return error code.
55396         (glthread_recursive_lock_init_multithreaded): Renamed from
55397         glthread_recursive_lock_init. Return error code.
55398         (glthread_recursive_lock_lock_multithreaded): Renamed from
55399         glthread_recursive_lock_lock. Return error code.
55400         (glthread_recursive_lock_unlock_multithreaded): Renamed from
55401         glthread_recursive_lock_unlock. Return error code.
55402         (glthread_recursive_lock_destroy_multithreaded): Renamed from
55403         glthread_recursive_lock_destroy. Return error code.
55404         (glthread_once_call): Make static.
55405         (glthread_once_multithreaded): Renamed from glthread_once.
55406         * lib/tls.h: Include <errno.h>.
55407         (glthread_tls_key_init): New macro/function.
55408         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
55409         (glthread_tls_set): New macro/function.
55410         (gl_tls_set): Define as wrapper around glthread_tls_set.
55411         (glthread_tls_key_destroy): New macro/function.
55412         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
55413         Update function declarations.
55414         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
55415         glthread_tls_get.
55416         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55417
55418 2008-08-04  Eric Blake  <ebb9@byu.net>
55419
55420         gnumakefile: use space, not TAB, outside of targets
55421         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
55422
55423 2008-08-02  Jim Meyering  <meyering@redhat.com>
55424
55425         getdate.y: avoid locale-dependent date parsing failure
55426         In Turkish locales, getdate would fail to recognize keywords
55427         containing a lowercase "i".  The solution is not to rely on
55428         locale-sensitive case-conversion.
55429         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
55430         (lookup_word): Use c_toupper in place of toupper.
55431         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
55432         Reported by Vefa Bicakci <bicave@superonline.com> in
55433         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
55434         * modules/getdate (Depends-on): Add c-ctype.
55435
55436 2008-08-02  Bruno Haible  <bruno@clisp.org>
55437
55438         * gnulib-tool (func_import): When updating or creating a .gitignore
55439         file, prepend each added line with a slash, and ignore leading slashes
55440         from the existing lines.
55441         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
55442
55443 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55444
55445         Portability fix for GNU make 3.79.1.
55446         * top/GNUmakefile: Avoid 'else COND', which older GNU make
55447         versions do not understand.
55448
55449 2008-08-01  Bruno Haible  <bruno@clisp.org>
55450
55451         Work around bug of HP-UX 10.20 cc with -0.0 literal.
55452         * tests/test-isnanf.h (zero): New variable.
55453         (main): Avoid literal -0.0f.
55454         * tests/test-isnand.h (zero): New variable.
55455         (main): Avoid literal -0.0.
55456         * tests/test-isnanl.h (zero): New variable.
55457         (main): Avoid literal -0.0L.
55458         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
55459         (test_float, test_double, test_long_double): Avoid literals -0.0f,
55460         -0.0, -0.0L.
55461         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
55462         (test_signbitd): Avoid literal -0.0.
55463         (test_signbitl): Avoid literal -0.0L.
55464         * tests/test-ceilf1.c (zero): New variable.
55465         (main): Avoid literal -0.0f.
55466         * tests/test-ceill.c (zero): New variable.
55467         (main): Avoid literal -0.0L.
55468         * tests/test-floorf1.c (zero): New variable.
55469         (main): Avoid literal -0.0f.
55470         * tests/test-floorl.c (zero): New variable.
55471         (main): Avoid literal -0.0L.
55472         * tests/test-roundf1.c (zero): New variable.
55473         (main): Avoid literal -0.0f.
55474         * tests/test-round1.c (zero): New variable.
55475         (main): Avoid literal -0.0.
55476         * tests/test-roundl.c (zero): New variable.
55477         (main): Avoid literal -0.0L.
55478         * tests/test-truncf1.c (zero): New variable.
55479         (main): Avoid literal -0.0f.
55480         * tests/test-trunc1.c (zero): New variable.
55481         (main): Avoid literal -0.0.
55482         * tests/test-truncl.c (zero): New variable.
55483         (main): Avoid literal -0.0L.
55484         * tests/test-frexp.c (zero): New variable.
55485         (main): Avoid literal -0.0.
55486         * tests/test-frexpl.c (zero): New variable.
55487         (main): Avoid literal -0.0L.
55488         * tests/test-ldexpl.c (zero): New variable.
55489         (main): Avoid literal -0.0L.
55490         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55491         (zerod, zerol): New variables.
55492         (test_function): Avoid literals -0.0, -0.0L.
55493         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
55494         (zerod, zerol): New variables.
55495         (test_function): Avoid literals -0.0, -0.0L.
55496         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55497         (zerod, zerol): New variables.
55498         (test_function): Avoid literals -0.0, -0.0L.
55499         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
55500         (zerod, zerol): New variables.
55501         (test_function): Avoid literals -0.0, -0.0L.
55502         * tests/test-strtod.c (zero): New variable.
55503         (main): Avoid literal -0.0.
55504         Reported by Jonathan C. Patschke <jp@centtech.com>.
55505
55506 2008-07-31  Jim Meyering  <meyering@redhat.com>
55507
55508         sha256.h: correct definition of SHA224_DIGEST_SIZE
55509         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
55510         Reported by Paulie Pena IV <paulie4@gmail.com>.
55511         Define as 224 / 8, rather than as a literal.
55512         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
55513         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
55514         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
55515
55516 2008-07-31  Bruno Haible  <bruno@clisp.org>
55517
55518         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
55519         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
55520         Reported by Jonathan Patschke <jp@centtech.com>.
55521
55522 2008-07-31  Bruno Haible  <bruno@clisp.org>
55523
55524         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
55525         Reported by Paolo Bonzini <bonzini@gnu.org>.
55526
55527 2008-07-30  Eric Blake  <ebb9@byu.net>
55528
55529         test-strtod: allow compilation without -lm
55530         * tests/test-strtod.c (main): Avoid link dependence on fabs.
55531         Reported by Dennis Clarke <blastwave@gmail.com>.
55532
55533 2008-07-28  Jim Meyering  <meyering@redhat.com>
55534
55535         bootstrap: work also when there are no .po files in po/
55536         * build-aux/bootstrap (update_po_files): Complete the change
55537         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
55538
55539 2008-07-27  Jim Meyering  <meyering@redhat.com>
55540
55541         * users.txt: Add zile.
55542
55543 2008-07-26  Ben Pfaff  <blp@gnu.org>
55544
55545         Add missing dependencies on new m4/exponent[fdl].m4 files.
55546         * modules/isnanf-nolibm: Add m4/exponentf.m4.
55547         * modules/isnand-nolibm: Add m4/exponentd.m4.
55548         * modules/isnanl-nolibm: Add m4/exponentl.m4.
55549         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
55550         m4/isnan[fdl].m4, because the macros actually used moved.
55551         Reported by Jim Meyering.
55552
55553 2008-07-14  Ben Pfaff  <blp@gnu.org>
55554
55555         Add isinf module.
55556         * lib/isinf.c: New file.
55557         * lib/math.in.h: Define isinf macro if we have decided to replace
55558         it.
55559         * m4/isinf.m4: New file.
55560         * m4/math_h.m4: Initialize and substitute variables for isinf
55561         module.
55562         * modules/isinf: New file.
55563         * modules/isinf-tests: New file.
55564         * modules/math: Add substitutions for new module.
55565         * tests/test-isinf.c: New file.
55566         * doc/posix-functions/isinf.texi: Mention new module.
55567         * MODULES.html.sh: Mention new module.
55568
55569 2008-07-14  Ben Pfaff  <blp@gnu.org>
55570
55571         Factor out some macros for use by additional modules.
55572         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
55573         exponentf.m4.
55574         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
55575         exponentd.m4.
55576         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
55577         file exponentl.m4.
55578         * m4/exponentf.m4: New file.
55579         * m4/exponentd.m4: New file.
55580         * m4/exponentl.m4: New file.
55581         * modules/isnanf: Use new file m4/exponentf.m4.
55582         * modules/isnand: Use new file m4/exponentd.m4.
55583         * modules/isnanl: Use new file m4/exponentl.m4.
55584
55585 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
55586
55587         mktime.c: normalize tp->tm_isdst value to -1/0/1.
55588         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
55589         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
55590         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
55591
55592         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
55593         readlink on platforms without PATH_MAX.
55594
55595 2008-07-21  Eric Blake  <ebb9@byu.net>
55596
55597         Warn, not fail, on stale version.
55598         * top/GNUmakefile (_curr-ver): Tone down previous patch.
55599
55600         Don't allow installation with stale devel version number.
55601         * top/GNUmakefile (_is-install-target): New macro.
55602         (_curr-ver): Forbid installation with stale version number.
55603
55604 2008-07-20  Bruno Haible  <bruno@clisp.org>
55605
55606         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
55607         TESTS_ENVIRONMENT.
55608         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
55609
55610 2008-07-20  Bruno Haible  <bruno@clisp.org>
55611
55612         * lib/c-stack.h (c_stack_action): Add documentation.
55613         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
55614
55615 2008-07-20  Bruno Haible  <bruno@clisp.org>
55616
55617         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
55618         * modules/readlink (License): Likewise.
55619
55620 2008-07-17  Eric Blake  <ebb9@byu.net>
55621
55622         * modules/c-stack (Link): Fix typo.
55623
55624         Make c-stack use libsigsegv, when available.
55625         * modules/c-stack (Depends-on): Add libsigsegv.
55626         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
55627         needed.
55628         * lib/c-stack.c (SIGSTKSZ): Define fallback.
55629         (segv_handler, overflow_handler, c_stack_action)
55630         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
55631         implementation when libsigsegv is available, but only when using
55632         the library is necessary.
55633         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
55634         comment, explaining why XSI check fails on Linux.
55635         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
55636         * tests/test-c-stack2.sh: Tweak skip message.
55637         * NEWS: Document new link-time requirements.
55638
55639 2008-07-16  Eric Blake  <ebb9@byu.net>
55640
55641         c-stack: Expose false positives when not using libsigsegv.
55642         * modules/c-stack-tests (Files): Expand test.
55643         * tests/test-c-stack.c (main): Add means to conditionally trigger
55644         non-overflow SIGSEGV.
55645         * tests/test-c-stack2.sh: New file.
55646
55647 2008-07-14  Bruno Haible  <bruno@clisp.org>
55648
55649         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
55650         Reported by Eric Blake.
55651
55652 2008-07-14  Sam Steingold  <sds@gnu.org>
55653             Bruno Haible  <bruno@clisp.org>
55654
55655         New module libsigsegv.
55656         * modules/libsigsegv: New file.
55657         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
55658         modifications.
55659         * MODULES.html.sh (Signal handling): New section.
55660
55661 2008-07-14  Bruno Haible  <bruno@clisp.org>
55662
55663         * modules/unictype/ctype-* (Description): Add the word "function".
55664         Improves the resulting doc in MODULES.html.
55665
55666 2008-07-12  Ben Pfaff  <blp@gnu.org>
55667
55668         Add longlong module.
55669         * modules/longlong: New file.
55670
55671 2008-07-12  Bruno Haible  <bruno@clisp.org>
55672
55673         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
55674         to empty.
55675
55676 2008-07-10  Ben Pfaff  <blp@gnu.org>
55677
55678         Add isnan module.
55679         * doc/posix-functions/isnan.texi: Mention new module.
55680         * lib/math.in.h: Define isnan macro if we have decided to replace
55681         it.
55682         * m4/isnan.m4: New file.
55683         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
55684         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
55685         also.
55686         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
55687         redundancy.
55688         * m4/math_h.m4: Initialize and substitute variables for isnan
55689         module.
55690         * modules/isnan: New file.
55691         * modules/isnan-tests: New file.
55692         * modules/math: Add substitutions for new module.
55693         * tests/test-isnan.c: New file.
55694         * MODULES.html.sh: Mention new module.
55695
55696 2008-07-10  Ben Pfaff  <blp@gnu.org>
55697
55698         Add isnanf module.
55699         * lib/isnanf.m4: New file.
55700         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
55701         (gl_HAVE_ISNANF_IN_LIBM): New macro.
55702         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
55703         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
55704         * modules/isnanf: New file.
55705         * modules/isnanf-tests: New file.
55706         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
55707         files.
55708         * tests/test-isnanf-nolibm.c: factored most of its contents into
55709         new file tests/test-isnanf.h.
55710         * tests/test-isnanf.h: New file.
55711         * tests/test-isnanf.c: New file.
55712         * MODULES.html.sh: Mention new module.
55713         * doc/glibc-functions/isnanf.texi: Mention new module.
55714
55715 2008-07-10  Ben Pfaff  <blp@gnu.org>
55716
55717         Add isnand module.
55718         * lib/isnand.h: New file.
55719         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
55720         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
55721         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
55722         functionality also.
55723         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
55724         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
55725         (gl_HAVE_ISNAND_IN_LIBM): New macro.
55726         * modules/isnand: New file.
55727         * modules/isnand-tests: New file.
55728         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
55729         files.
55730         * tests/test-isnand-nolibm.c: factored most of its contents into
55731         new file tests/test-isnand.h.
55732         * tests/test-isnand.h: New file.
55733         * tests/test-isnand.c: New file.
55734         * MODULES.html.sh: Mention new module.
55735
55736 2008-07-10  Ben Pfaff  <blp@gnu.org>
55737
55738         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
55739         * lib/isnand.h: Rename lib/isnand-nolibm.h.
55740         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
55741         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
55742         * modules/isnanf-nolibm: Update references to renamed files.
55743         * modules/isnand-nolibm: Likewise.
55744         * modules/isnanf-nolibm-tests: Likewise.
55745         * modules/isnand-nolibm-tests: Likewise.
55746         * lib/frexp.c: Likewise.
55747         * lib/isfinite.c: Likewise.
55748         * lib/signbitd.c: Likewise.
55749         * lib/signbitf.c: Likewise.
55750         * lib/vasnprintf.c: Likewise.
55751         * tests/test-ceilf1.c: Likewise.
55752         * tests/test-ceilf2.c: Likewise.
55753         * tests/test-floorf1.c: Likewise.
55754         * tests/test-floorf2.c: Likewise.
55755         * tests/test-frexp.c: Likewise.
55756         * tests/test-round1.c: Likewise.
55757         * tests/test-round2.c: Likewise.
55758         * tests/test-roundf1.c: Likewise.
55759         * tests/test-strtod.c: Likewise.
55760         * tests/test-trunc1.c: Likewise.
55761         * tests/test-trunc2.c: Likewise.
55762         * tests/test-truncf1.c: Likewise.
55763         * tests/test-truncf2.c: Likewise.
55764         * NEWS: Mention the renamed header files.
55765
55766 2008-07-11  Jim Meyering  <meyering@redhat.com>
55767
55768         vc-list-files: make the last-resort awk code more portable
55769         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
55770         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
55771         does not support it.
55772
55773 2008-07-10  Eric Blake  <ebb9@byu.net>
55774
55775         Work with tar's bootstrap.
55776         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
55777         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
55778         an m4 comment.
55779
55780 2008-07-09  Jim Meyering  <meyering@redhat.com>
55781
55782         posix-shell.m4: fix typo that made this test malfunction
55783         * m4/posix-shell.m4: Remove capitalization in variable name.
55784
55785 2008-07-08  Bruno Haible  <bruno@clisp.org>
55786
55787         * m4/onceonly.m4: Update comments.
55788         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55789
55790 2008-07-04  Jim Meyering  <meyering@redhat.com>
55791
55792         * users.txt: Add vc-dwim.
55793         (bison, coreutils): Use the gitweb URL.
55794
55795 2008-07-03  Jim Meyering  <meyering@redhat.com>
55796
55797         * users.txt: Add libffcall.  From Sam Steingold.
55798
55799 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
55800
55801         getdate.y: do not ignore TZ with relative day, month or year offset
55802         * lib/getdate.y (get_date): Move the tz-handling block to follow the
55803         relative-date-handling, since otherwise, the latter would clobber the
55804         sole output (an updated Start value) of the tz-handling block.
55805         * tests/test-getdate.c: Tests for the fix
55806
55807 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55808
55809         Recognize 'foo_LIBRARIES += libgnu.a'.
55810         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
55811         makefile snippet has already specified an installation location,
55812         also using '+='.
55813
55814 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
55815
55816         getdate.y: factor out common actions
55817         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
55818         Use them in place of open-coded actions.
55819
55820 2008-07-01  Simon Josefsson  <simon@josefsson.org>
55821
55822         Add self-test for getdate module.
55823         * modules/getdate-tests: New file.
55824         * tests/test-getdate.c: New file.
55825
55826 2008-06-29  Bruno Haible  <bruno@clisp.org>
55827
55828         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
55829         .gitignore.
55830         Reported by Sylvain Beucler <beuc@beuc.net>.
55831
55832 2008-06-29  Bruno Haible  <bruno@clisp.org>
55833
55834         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
55835         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
55836
55837 2008-06-29  Bruno Haible  <bruno@clisp.org>
55838
55839         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
55840         EXTRA_DIST.
55841         Reported by Sylvain Beucler <beuc@beuc.net>.
55842
55843 2008-06-26  Jim Meyering  <meyering@redhat.com>
55844
55845         make several modules depend on the "open" module
55846         This provides slightly increased consistency when opening-for-write
55847         the name of a non-directory spelled with a trailing slash.
55848         * modules/chdir-safer: Likewise.
55849         * modules/chown: Likewise.
55850         * modules/clean-temp: Likewise.
55851         * modules/copy-file: Likewise.
55852         * modules/fchdir: Likewise.
55853         * modules/fcntl-safer: Likewise.
55854         * modules/pipe: Likewise.
55855         * modules/utime: Likewise.
55856         Prompted by Eric Blake and Bruno Haible.
55857
55858 2008-06-24  Andreas Schwab  <schwab@suse.de>
55859
55860         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
55861         literals can be used as initializers for global variables.
55862
55863 2008-06-23  Eric Blake  <ebb9@byu.net>
55864
55865         Make gnulib-cache.m4 easier to diff.
55866         * gnulib-tool (func_import): Allow newlines when reading cached
55867         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
55868
55869 2008-06-23  Bruno Haible  <bruno@clisp.org>
55870
55871         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
55872         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
55873         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
55874         m4/signalblocking.m4.
55875         (gl_PREREQ_SIGACTION): Don't invoke it.
55876         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
55877         gl_PREREQ_SIG_HANDLER_H.
55878         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
55879         Don't check for sigaction here.
55880
55881 2008-06-23  Bruno Haible  <bruno@clisp.org>
55882
55883         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
55884         (install_handlers): Don't set the SA_RESETHAND flag.
55885
55886 2008-06-23  Bruno Haible  <bruno@clisp.org>
55887
55888         * m4/sigaction.m4: Comment fixes.
55889         * lib/signal.in.h: Likewise.
55890
55891 2008-06-23  Eric Blake  <ebb9@byu.net>
55892
55893         Fix typo.
55894         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
55895
55896         Avoid SA_ namespace.
55897         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
55898         Reported by Ralf Wildenhues.
55899
55900         Avoid test failure due to SA_RESTORER.
55901         * tests/test-sigaction.c (SA_MASK): New macro.
55902         (main): Avoid failing due to extension flags being set.
55903         Reported by Jim Meyering.
55904
55905         Revert use of sig-handler.h in sigprocmask.c.
55906         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
55907         it requires the existence of struct sigaction.
55908         * lib/sigprocmask.c (handler_t): Restore typedef.
55909         (rpl_signal, old_handlers): Use local type.
55910
55911 2008-06-22  Bruno Haible  <bruno@clisp.org>
55912
55913         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
55914         conditionally.
55915         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55916
55917 2008-06-22  Bruno Haible  <bruno@clisp.org>
55918
55919         * doc/posix-functions/siginterrupt.texi: Move note.
55920
55921         * lib/signal.in.h (SA_RESTART): New macro.
55922         * lib/sigaction.c: Update comment.
55923
55924         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
55925
55926         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
55927         (gl_PREREQ_SIGPROCMASK): Invoke it.
55928         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
55929
55930         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
55931
55932         * lib/sigprocmask.c: Update a comment.
55933
55934 2008-06-21  Eric Blake  <ebb9@byu.net>
55935
55936         Use sigaction module rather than signal().
55937         * modules/c-stack (Depends-on): Add sigaction.
55938         * modules/fatal-signal (Depends-on): Likewise.
55939         * modules/nanosleep (Depends-on): Likewise.
55940         * modules/sigprocmask (Files): Add sig-handler.h.
55941         * modules/sigaction (Files): Likewise.
55942         * lib/sig-handler.h (get_handler): New file, suggested by Paul
55943         Eggert.
55944         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
55945         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
55946         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
55947         (init_fatal_signals): Likewise.
55948         * lib/nanosleep.c (rpl_nanosleep): Likewise.
55949         (siginterrupt): Delete fallback.
55950         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
55951         instead.
55952         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
55953         siginterrupt.
55954
55955         New module sigaction, for mingw.
55956         * modules/sigaction: New module...
55957         * modules/sigaction-tests: ...and its test.
55958         * m4/sigaction.m4: New file.
55959         * lib/sigaction.c: Likewise.
55960         * tests/test-sigaction.c: Likewise.
55961         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
55962         * modules/signal (Makefile.am): Likewise.
55963         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
55964         needed.
55965         * doc/posix-headers/signal.texi (signal.h): Mention provided
55966         types.
55967         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
55968         that sigaction is preferable.
55969         * doc/posix-functions/sigaction.texi (sigaction): Mention new
55970         module.
55971         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55972         sigaction.
55973
55974         Improve robustness of sigprocmask by overriding signal.
55975         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
55976         is in use.
55977         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
55978         (SIGKILL, SIGSTOP): Provide fallbacks.
55979         (rpl_signal): Implement.
55980         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
55981         signal can be called inside handlers.
55982
55983         Fix nanosleep module on mingw.
55984         * modules/nanosleep (Depends-on): Add sys_select.
55985         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
55986
55987         Fix licensing of sigprocmask.
55988         * modules/raise (License): Relicense as LGPL.
55989
55990 2008-06-21  Bruno Haible  <bruno@clisp.org>
55991
55992         * lib/propername.c (proper_name_utf8): Don't use the transliterated
55993         result if it contains question marks.
55994         Reported by Michael Geng <linux@michaelgeng.de>.
55995
55996 2008-06-19  Bruno Haible  <bruno@clisp.org>
55997
55998         Fix CVS-ism.
55999         * doc/gnulib.texi: Include updated-stamp.texi.
56000         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
56001         (updated-stamp.texi): New rule.
56002         (gnulib.info): Depend on it.
56003         * doc/.gitignore: Add updated-stamp.texi.
56004         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
56005
56006 2008-06-19  Bruno Haible  <bruno@clisp.org>
56007
56008         * doc/Makefile (gnulib.info): Update and simplify dependencies.
56009         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
56010
56011 2008-06-19  Eric Blake  <ebb9@byu.net>
56012
56013         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
56014         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
56015         Reported by Stepan Kasal.
56016
56017 2008-06-18  Bruno Haible  <bruno@clisp.org>
56018
56019         * lib/fatal-signal.c (init_fatal_signals): Add comment.
56020         Reported by Eric Blake.
56021
56022 2008-06-18  Eric Blake  <ebb9@byu.net>
56023
56024         Work around cygwin 1.5.25 strsignal bug.
56025         * tests/test-strsignal.c: Allow for const char *.
56026         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
56027
56028 2008-06-18  Simon Josefsson  <simon@josefsson.org>
56029
56030         * users.txt: Update URL to article and add author/date
56031         information.
56032
56033 2008-06-17  Bruno Haible  <bruno@clisp.org>
56034
56035         New macro gl_DISABLE_THREADS.
56036         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
56037         if the user did not pass --enable-threads or --disable-threads option.
56038         (gl_DISABLE_THREADS): New macro.
56039         Reported by Eric Blake <ebb9@byu.net>.
56040
56041 2008-06-17  Bruno Haible  <bruno@clisp.org>
56042
56043         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
56044         when the macro ignores it.
56045         Based on a patch by Eric Blake <ebb9@byu.net>.
56046
56047 2008-06-17  Bruno Haible  <bruno@clisp.org>
56048
56049         * modules/tls (License): Change to LGPLv2+.
56050         Reported by Eric Blake.
56051
56052 2008-06-17  Eric Blake  <ebb9@byu.net>
56053
56054         Simplify c-stack prerequisites.
56055         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
56056         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
56057         no longer requires <ucontext.h> to exist.  Optimize setrlimit
56058         check.
56059         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
56060         <sys/resource.h>.
56061
56062         Move c-stack test into testsuite.
56063         * modules/c-stack-tests: New file.
56064         * lib/c-stack.c [DEBUG]: Move test program...
56065         * tests/test-c-stack.c: ...into this new file.  Skip rather than
56066         fail test if sigaltstack is lacking.
56067         * tests/test-c-stack.sh: New driver file.
56068
56069 2008-06-16  Eric Blake  <ebb9@byu.net>
56070
56071         Use raise module consistently.
56072         * modules/fatal-signal (Depends-on): Add raise.
56073         * modules/sigprocmask (Depends-on): Likewise.
56074         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
56075         * lib/sigprocmask.c (sigprocmask): Likewise.
56076         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
56077         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
56078
56079         Fix compliance bug in sigpending.
56080         * lib/sigprocmask.c (sigpending): Return pending array via
56081         parameter, not return value.
56082
56083 2008-06-14  Eric Blake  <ebb9@byu.net>
56084
56085         Improve obstack-printf test code.
56086         * tests/test-obstack-printf.c (test_function): Fix comment, and
56087         simplify usage of obstack_* in macros.  Add a test for coverage.
56088         Reported by Bruno Haible.
56089
56090 2008-06-14  Bruno Haible  <bruno@clisp.org>
56091
56092         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
56093         array size as a constant, not as a const variable.
56094         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
56095         AC_USE_SYSTEM_EXTENSIONS.
56096         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
56097         Test whether the obstack_printf function actually exists.
56098         * modules/obstack-printf (Depends-on): Add extensions.
56099         (Include): Remove obstack.h.
56100         * modules/obstack-printf-posix (Depends-on): Add extensions.
56101         (Include): Remove obstack.h.
56102
56103 2008-06-13  Eric Blake  <ebb9@byu.net>
56104
56105         Add obstack-printf and obstack-printf-posix modules.
56106         * modules/obstack-printf: New file.
56107         * modules/obstack-printf-posix: Likewise.
56108         * MODULES.html.sh (Misc): Mention them.
56109         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
56110         Likewise.
56111         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
56112         Likewise.
56113         * modules/stdio (Makefile.am): Accomodate new modules.
56114         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56115         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
56116         Declare.
56117         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
56118         functions.
56119         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
56120         (gl_REPLACE_OBSTACK_PRINTF): New macros
56121         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
56122         * tests/test-obstack-printf.c: New file.
56123         * modules/obstack-printf-tests: Likewise.
56124         * modules/obstack-printf-posix-tests: Likewise.
56125
56126 2008-06-11  Bruno Haible  <bruno@clisp.org>
56127
56128         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
56129         * lib/open.c: Include errno.h.
56130         (open): Fail when attempting to write to a file that has a trailing
56131         slash.
56132         * tests/test-open.c (main): Test against trailing slash bug.
56133         * doc/posix-functions/open.texi: Mention the trailing slash bug.
56134
56135 2008-06-10  Bruno Haible  <bruno@clisp.org>
56136
56137         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
56138         for $? to work inside the trap command, with various /bin/sh-s.
56139         * tests/test-vc-list-files-cvs.sh: Likewise.
56140
56141 2008-06-10  Bruno Haible  <bruno@clisp.org>
56142
56143         * lib/acl-internal.h: Don't include gettext.h here.
56144         * lib/set-mode-acl.c: Include gettext.h here.
56145         * lib/copy-acl.c: Likewise.
56146
56147 2008-06-10  Bruno Haible  <bruno@clisp.org>
56148
56149         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
56150         * lib/wait-process.c (wait_subprocess): Likewise.
56151         * lib/execute.h (execute): Add termsigp argument.
56152         * lib/execute.c (execute): Likewise.
56153         * lib/csharpcomp.c (compile_csharp_using_pnet,
56154         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
56155         * lib/csharpexec.c (execute_csharp_using_pnet,
56156         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
56157         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
56158         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
56159         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
56160         is_jikes_present): Update.
56161         * lib/javaexec.c (execute_java_class): Update.
56162         * lib/javaversion.c (execute_and_read_line): Update.
56163         * NEWS: Document the changes.
56164         Reported by Eric Blake.
56165
56166 2008-06-10  Eric Blake  <ebb9@byu.net>
56167
56168         Add missing include.
56169         * tests/test-strstr.c (includes): Add <signal.h>.
56170         * tests/test-strcasestr.c (includes): Likewise.
56171         * tests/test-memmem.c (includes): Likewise.
56172
56173 2008-06-10  Bruno Haible  <bruno@clisp.org>
56174
56175         * lib/wait-process.c (wait_subprocess): Add an assertion.
56176
56177 2008-06-10  Bruno Haible  <bruno@clisp.org>
56178
56179         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
56180
56181 2008-06-10  Bruno Haible  <bruno@clisp.org>
56182
56183         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
56184         using alarm().
56185         * tests/test-strcasestr.c (main): Likewise.
56186         * tests/test-strstr.c (main): Likewise.
56187
56188 2008-06-09  Bruno Haible  <bruno@clisp.org>
56189
56190         Work around the Solaris 10 ACE ACLs ABI change.
56191         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
56192         declare if ACL_NO_TRIVIAL is present.
56193         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
56194         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
56195         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
56196         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
56197         define if ACL_NO_TRIVIAL is present.
56198         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
56199         and use the current ABI.
56200         (file_has_acl): Use same #if condition as elsewhere.
56201         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
56202         in use, and use the current ABI.
56203         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
56204         Reported by Jim Meyering.
56205
56206 2008-06-09  Eric Blake  <ebb9@byu.net>
56207
56208         Work around environments that (stupidly) ignore SIGALRM.
56209         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
56210         before using alarm().
56211         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56212         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
56213         Reported by Ian Beckwith <ianb@erislabs.net>.
56214
56215         Produce autobuild blurb earlier in log.
56216         * modules/autobuild (configure.ac-early): Move AB_INIT here.
56217
56218 2008-06-09  Jim Meyering  <meyering@redhat.com>
56219         and Ondřej Vašík  <ovasik@redhat.com>
56220
56221         utimens.c: correct kernel bug work-around
56222         Ondřej Vašík found that the invalid return value of 280 indicates
56223         failure, not success, and the kernel bug we're trying to work
56224         around affects not just the utimensat call, but also the fallback
56225         futimens call.
56226         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
56227         not success.
56228         [HAVE_FUTIMENS]: Use the same work-around, here.
56229
56230 2008-06-09  Jim Meyering  <meyering@redhat.com>
56231
56232         add more guards around definition of ACE_-related code
56233         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
56234         ALLOW and ACE_OWNER are also defined.
56235
56236 2008-06-08  Bruno Haible  <bruno@clisp.org>
56237
56238         * lib/acl-internal.h: Add me as co-author.
56239         * lib/file-has-acl.c: Likewise.
56240         * lib/set-mode-acl.c: Likewise.
56241         * lib/copy-acl.c: Likewise.
56242
56243 2008-06-08  Bruno Haible  <bruno@clisp.org>
56244
56245         Add support for AIX ACLs.
56246         * lib/acl-internal.h (acl_nontrivial): New declaration.
56247         * lib/file-has-acl.c (acl_nontrivial): New function.
56248         (file_has_acl): Add implementation using AIX 4 ACL API.
56249         * lib/set-mode-acl.c (qset_acl): Likewise.
56250         * lib/copy-acl.c (qcopy_acl): Likewise.
56251
56252 2008-06-08  Bruno Haible  <bruno@clisp.org>
56253
56254         Add support for HP-UX ACLs.
56255         * lib/acl-internal.h (acl_nontrivial): New declaration.
56256         * lib/file-has-acl.c (acl_nontrivial): New function.
56257         (file_has_acl): Add implementation using HP-UX 11 ACL API.
56258         * lib/set-mode-acl.c (qset_acl): Likewise.
56259         * lib/copy-acl.c (qcopy_acl): Likewise.
56260
56261 2008-06-08  Bruno Haible  <bruno@clisp.org>
56262
56263         Add support for Cygwin ACLs.
56264         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
56265         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
56266         the chmod_or_fchmod call.
56267         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
56268
56269 2008-06-08  Bruno Haible  <bruno@clisp.org>
56270
56271         Fix bug with setuid modes in Solaris 10+ code.
56272         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
56273         succeeded, when the mode contains some special bits.
56274
56275 2008-06-08  Bruno Haible  <bruno@clisp.org>
56276
56277         Add support for Solaris 7..10 ACLs.
56278         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
56279         declarations.
56280         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
56281         functions.
56282         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
56283         * lib/set-mode-acl.c (qset_acl): Likewise.
56284         * lib/copy-acl.c (qcopy_acl): Likewise.
56285
56286 2008-06-08  Bruno Haible  <bruno@clisp.org>
56287
56288         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
56289         declaration.
56290         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
56291         (acl_access_nontrivial): Remove MacOS X case.
56292         (file_has_acl): Use acl_extended_nontrivial.
56293         * lib/copy-acl.c (qcopy_acl): Likewise.
56294
56295 2008-06-08  Bruno Haible  <bruno@clisp.org>
56296
56297         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
56298
56299 2008-06-08  Jim Meyering  <meyering@redhat.com>
56300
56301         * modules/acl (Maintainer): Add Bruno Haible.
56302
56303 2008-06-07  Bruno Haible  <bruno@clisp.org>
56304
56305         Improve support for Tru64 ACLs.
56306         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
56307         ACL on OSF/1.
56308
56309 2008-06-07  Bruno Haible  <bruno@clisp.org>
56310
56311         Add support for MacOS X ACLs.
56312         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
56313         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
56314         * lib/set-mode-acl.c (qset_acl): Likewise.
56315         * lib/copy-acl.c (qcopy_acl): Likewise.
56316
56317 2008-06-07  Bruno Haible  <bruno@clisp.org>
56318
56319         Fix memory leak introduced on 2008-05-22.
56320         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
56321         use.
56322
56323 2008-06-07  Bruno Haible  <bruno@clisp.org>
56324
56325         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
56326         to construct an empty ACL.
56327
56328 2008-06-07  Bruno Haible  <bruno@clisp.org>
56329
56330         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
56331         precisely.
56332         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
56333
56334 2008-06-07  Bruno Haible  <bruno@clisp.org>
56335
56336         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
56337         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
56338
56339 2008-06-07  Bruno Haible  <bruno@clisp.org>
56340
56341         * doc/posix-functions/_setjmp.texi: Explain the use of this function
56342         regardless of POSIX.
56343         * doc/posix-functions/_longjmp.texi: Likewise.
56344         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
56345         SystemV platform in this case.
56346
56347 2008-06-06  Eric Blake  <ebb9@byu.net>
56348
56349         Document abort() bugs.
56350         * doc/posix-functions/abort.texi (abort): Mention anomalies.
56351
56352         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
56353         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
56354         sigsetjmp.
56355         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
56356         siglongjmp, but only as a macro.
56357         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
56358         is obsolete.
56359         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
56360
56361         Tweak documentation to cover cygwin argz bugs.
56362         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
56363         argz bug fix; no code change needed since no cygwin releases
56364         occurred between the last fix and the bug being tested.
56365         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
56366         module and recently fixed cygwin bugs.
56367         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
56368         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
56369         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
56370         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
56371         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
56372         Likewise.
56373         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
56374         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
56375         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
56376         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
56377         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
56378         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
56379         Likewise.
56380
56381         Avoid gcc warning on cygwin.
56382         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
56383         !ACL_NO_TRIVIAL]: Avoid unused variable.
56384
56385 2008-06-05  Eric Blake  <ebb9@byu.net>
56386
56387         Be tolerant of UNKNOWN version in gnulib-tool test dir.
56388         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
56389         git-version-gen fails to come up with a version.
56390         Reported by Simon Josefsson.
56391
56392 2008-06-05  Jim Meyering  <meyering@redhat.com>
56393             Paul Eggert  <eggert@cs.ucla.edu>
56394
56395         utimens.c: work around a probable Linux kernel bug
56396         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
56397         appears to be a kernel bug that causes utimensat to return 280
56398         instead of 0, indicating success.
56399
56400 2008-06-04  Bruno Haible  <bruno@clisp.org>
56401
56402         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
56403         2008-06-01 commit.
56404
56405 2008-06-04  Bruno Haible  <bruno@clisp.org>
56406
56407         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
56408         * lib/file-has-acl.c (acl_access_nontrivial): New function.
56409         (file_has_acl): Use it. Save errno afterwards.
56410         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
56411
56412 2008-06-03  Bruno Haible  <bruno@clisp.org>
56413
56414         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
56415         draft code. Simplify #ifs.
56416         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
56417         Put Solaris code after POSIX-draft code. Fix comments regarding
56418         Solaris 10, HP-UX. Mention Cygwin.
56419         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
56420
56421 2008-06-03  Eric Blake  <ebb9@byu.net>
56422
56423         Provide fallback for older kernels.
56424         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
56425         Provide runtime fallback if kernel lacks support.
56426         Reported by Mike Frysinger.
56427
56428 2008-06-02  Bruno Haible  <bruno@clisp.org>
56429
56430         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
56431         it exists.
56432
56433 2008-06-02  Bruno Haible  <bruno@clisp.org>
56434
56435         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
56436         * lib/copy-acl.c (qcopy_acl): Update comment.
56437
56438 2008-06-02  Bruno Haible  <bruno@clisp.org>
56439
56440         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
56441         like ACL APIs.
56442
56443 2008-06-02  Bruno Haible  <bruno@clisp.org>
56444
56445         * tests/test-file-has-acl.sh: Use different code for Cygwin.
56446         * tests/test-set-mode-acl.sh: Likewise.
56447         * tests/test-copy-acl.sh: Likewise.
56448         * tests/test-copy-file.sh: Likewise.
56449
56450 2008-06-02  Bruno Haible  <bruno@clisp.org>
56451
56452         * tests/test-file-has-acl.sh: Remove unused code.
56453
56454 2008-06-01  Bruno Haible  <bruno@clisp.org>
56455
56456         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
56457         (copy_acl): Just a wrapper around qcopy_acl that emits the error
56458         messages.
56459         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
56460
56461 2008-06-01  Bruno Haible  <bruno@clisp.org>
56462
56463         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
56464         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
56465         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
56466         APIs.
56467         * modules/acl-tests (configure.ac): Remove tests now contained in
56468         m4/acl.m4.
56469
56470 2008-06-02  Jim Meyering  <meyering@redhat.com>
56471
56472         announce-gen: use a better key-server host name
56473         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
56474         it may be more consistently reliable.  Suggested by Werner Koch
56475         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
56476
56477 2008-06-01  Bruno Haible  <bruno@clisp.org>
56478
56479         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
56480         Reported by Voroskoi Andras <voroskoi@gmail.com>.
56481
56482 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
56483
56484         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
56485
56486 2008-06-01  Bruno Haible  <bruno@clisp.org>
56487
56488         New ACL tests.
56489         * tests/test-file-has-acl.sh: New file.
56490         * tests/test-file-has-acl.c: New file.
56491         * tests/test-set-mode-acl.sh: New file.
56492         * tests/test-set-mode-acl.c: New file.
56493         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
56494         * tests/test-copy-acl.c: New file.
56495         * modules/acl-tests: New file, based on modules/copy-file-tests.
56496         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
56497         (Depends-on): Add acl-tests.
56498         (configure.ac): Remove checks.
56499         (Makefile.am): Don't create test-sameacls program here any more.
56500
56501 2008-06-01  Bruno Haible  <bruno@clisp.org>
56502
56503         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
56504         * tests/test-sameacls.c: Include progname.h.
56505         (main): Invoke set_program_name. Portability fixes for MacOS X,
56506         Solaris, HP-UX.
56507
56508 2008-06-01  Bruno Haible  <bruno@clisp.org>
56509
56510         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
56511         function.
56512         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
56513
56514 2008-06-01  Bruno Haible  <bruno@clisp.org>
56515
56516         * modules/rpmatch (Depends-on): Add strdup.
56517
56518 2008-06-01  Bruno Haible  <bruno@clisp.org>
56519
56520         * lib/pipe.c: Include unistd-safer.h.
56521         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
56522         * modules/pipe (Depends-on): Add unistd-safer.
56523
56524 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56525
56526         * modules/autobuild (configure.ac): Call AB_INIT.
56527
56528 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56529
56530         * tests/test-getaddrinfo.c: Don't print debug messages by default.
56531         Suggested by Bruno Haible <bruno@clisp.org>.
56532
56533 2008-05-30  Simon Josefsson  <simon@josefsson.org>
56534
56535         * tests/test-base64.c: Cast size_t to unsigned long when invoking
56536         printf.  Use %lu instead of %d.  Reported by Bruno Haible
56537         <bruno@clisp.org>.
56538
56539 2008-05-29  Eric Blake  <ebb9@byu.net>
56540
56541         Prefer new POSIX 200x interfaces over futimesat.
56542         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
56543         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
56544         when available.
56545         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
56546
56547 2008-05-28  Bruno Haible  <bruno@clisp.org>
56548
56549         * modules/stpcpy (License): Change to LGPLv2+.
56550         Requested by David Lutterkort <dlutter@redhat.com>.
56551
56552 2008-05-27  Bruno Haible  <bruno@clisp.org>
56553
56554         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
56555         current mingw.
56556         Reported by Jose E. Marchesi <jemarch@gnu.org>.
56557
56558 2008-05-27  Bruno Haible  <bruno@clisp.org>
56559
56560         * modules/iconv_open (Link): New section, from module 'iconv'.
56561         * modules/striconv (Link): Likewise.
56562         * modules/striconveh (Link): Likewise.
56563         * modules/xstriconv (Link): Likewise.
56564         * modules/unicodeio (Link): Likewise.
56565         * modules/propername (Link): Likewise.
56566         Reported by Jim Meyering.
56567
56568 2008-05-26  Jim Meyering  <meyering@redhat.com>
56569
56570         sha256: do not artificially restrict buffer length to be < 2^32
56571         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
56572         uint32_t to size_t.
56573         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
56574         to match.
56575
56576         avoid unaligned access errors, e.g., on sparc
56577         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
56578         direct access through a possibly-unaligned uint64* pointer.
56579         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
56580         direct access through a possibly-unaligned uint32* pointer.
56581         Prompted by this patch from Tom "spot" Callaway:
56582         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
56583
56584         sha512.c: fix typo in comment
56585         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
56586
56587 2008-05-25  Bruno Haible  <bruno@clisp.org>
56588
56589         * lib/set-mode-acl.c: Renamed from lib/acl.c.
56590         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
56591         (Makefile.am): Update lib_SOURCES.
56592
56593 2008-05-25  Bruno Haible  <bruno@clisp.org>
56594
56595         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
56596
56597 2008-05-25  Jim Meyering  <meyering@redhat.com>
56598
56599         useless-if-before-free: freed expr may have white-space differences
56600         * build-aux/useless-if-before-free: Recognize cases in which the
56601         freed expression differs from the tested one in embedded white
56602         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
56603         $1 was used, so we can't make any regexp shy.  Improved tests now
56604         detect this.
56605
56606         useless-if-before-free: accept white space in the expression.
56607         * build-aux/useless-if-before-free: For now, any white space
56608         in the expression must be identical in the free argument.
56609
56610         useless-if-before-free: efficiency tweak
56611         * build-aux/useless-if-before-free: Make the expression-matching
56612         regexp "shy".
56613         Make the *outer* regexp shy, not the expr-matching one.
56614
56615         update code-in-comment to accept cast of free arg
56616         * build-aux/useless-if-before-free: Update regexp.
56617
56618 2008-05-25  Bruno Haible  <bruno@clisp.org>
56619
56620         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
56621         * modules/copy-file-tests (Files, Makefile.am): Update.
56622         * tests/test-copy-file.c (func_test_copy): Update.
56623
56624 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
56625
56626         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
56627
56628 2008-05-23  Bruno Haible  <bruno@clisp.org>
56629
56630         Improve support for ACLs on OSF/1.
56631         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
56632         Remove fallback for unknown flavors of ACLs.
56633
56634 2008-05-22  Bruno Haible  <bruno@clisp.org>
56635
56636         Add support for ACLs on OSF/1.
56637         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
56638         replacements.
56639         (acl_free_text): New macro fallback.
56640         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
56641         acl_free.
56642         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
56643         acl_free_text function. Require AC_C_INLINE.
56644
56645 2008-05-22  Bruno Haible  <bruno@clisp.org>
56646
56647         Make copy_acl work on MacOS X 10.5.
56648         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
56649         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
56650         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
56651         If MODE_INSIDE_ACL, don't assume that every system has the same text
56652         representation for ACLs as FreeBSD.
56653         * lib/copy-acl.c (copy_acl): Add support for platforms with
56654         !MODE_INSIDE_ACL.
56655         * lib/file-has-acl.c (file_has_acl): Likewise.
56656         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
56657         FreeBSD, MacOS X, or IRIX, respectively.
56658
56659 2008-05-22  Bruno Haible  <bruno@clisp.org>
56660
56661         * lib/acl.h: Don't include <sys/acl.h>.
56662         (GETACLCNT): Move fallback to lib/acl-internal.h.
56663         * lib/acl-internal.h: Include <sys/acl.h> here.
56664         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
56665
56666 2008-05-22  Bruno Haible  <bruno@clisp.org>
56667
56668         Split off copy_acl function to separate file.
56669         * lib/copy-acl.c: New file, extracted from lib/acl.c.
56670         * lib/acl.c (copy_acl): Moved function to separate file.
56671         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
56672         * modules/acl (Files): Add lib/copy-acl.c.
56673         (Makefiles.am): Augment lib_SOURCES.
56674
56675 2008-05-22  Bruno Haible  <bruno@clisp.org>
56676
56677         * modules/copy-file-tests: New file.
56678         * tests/test-copy-file.sh: New file.
56679         * tests/test-copy-file.c: New file.
56680         * tests/test-copy-file-sameacls.c: New file.
56681
56682 2008-05-22  Eric Blake  <ebb9@byu.net>
56683
56684         Avoid gcc warning.
56685         * tests/test-memcmp.c (main): Pass NULL indirectly.
56686
56687 2008-05-21  Bruno Haible  <bruno@clisp.org>
56688
56689         Add reference doc about ACLs.
56690         * doc/acl-resources.txt: New file.
56691         * doc/acl-cygwin.txt: New file.
56692
56693 2008-05-21  Bruno Haible  <bruno@clisp.org>
56694
56695         Avoid one more warning from gcc.
56696         * lib/vasnprintf.c (IF_LINT): Update comments.
56697         (VASNPRINTF): Use it also for the 'prefix' array initializer.
56698
56699 2008-05-21  Jim Meyering  <meyering@redhat.com>
56700
56701         avoid a warning from gcc
56702         * lib/vasnprintf.c (IF_LINT): Define.
56703         (scale10_round_decimal_long_double):
56704         Use it to avoid a "may be used uninitialized" warning.
56705         (scale10_round_decimal_double): Likewise.
56706
56707 2008-05-21  Simon Josefsson  <simon@josefsson.org>
56708
56709         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
56710         declared.
56711
56712 2008-05-20  Bruno Haible  <bruno@clisp.org>
56713
56714         * tests/test-memcmp.c (main): Test also the sign of the result. Test
56715         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
56716
56717 2008-05-20  Simon Josefsson  <simon@josefsson.org>
56718
56719         * modules/memcmp-tests: New file.
56720         * tests/test-memcmp.c: New file.
56721
56722 2008-05-19  Bruno Haible  <bruno@clisp.org>
56723
56724         * modules/propername (Notice, configure.ac): Put quoted "..." into
56725         --keyword option.
56726         * lib/propername.h: Update comments accordingly.
56727         Reported by Eric Blake.
56728
56729 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
56730
56731         * modules/getpass-gnu (Depends-on): Add fseeko.
56732
56733 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56734
56735         * modules/base64-tests: New file.
56736
56737 2008-05-19  Bo Borgerson <gigabo@gmail.com>
56738
56739         * lib/base64.c (base64_decode_ctx): If a decode context structure
56740         was passed in use it to ignore newlines.  If a context structure
56741         was _not_ passed in, continue to treat newlines as garbage (this
56742         is the historical behavior).  Formerly base64_decode.
56743         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56744         takes a decode context structure.
56745         * lib/base64.h (base64_decode): Macro for four-argument calls.
56746         (base64_decode_alloc): Likewise.
56747         * lib/base64.c (base64_decode_ctx): If a decode context structure
56748         was passed in use it to ignore newlines.  If a context structure
56749         was _not_ passed in, continue to treat newlines as garbage (this
56750         is the historical behavior).  Formerly base64_decode.
56751         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
56752         takes a decode context structure.
56753         * lib/base64.h (base64_decode): Macro for four-argument calls.
56754         (base64_decode_alloc): Likewise.
56755
56756 2008-05-19  Jim Meyering  <meyering@redhat.com>
56757
56758         avoid a warning from gcc
56759         * lib/trim.c (IF_LINT): Define.
56760         (trim2): Use it to avoid a "may be used uninitialized" warning.
56761
56762         Fix doc typo.
56763         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
56764
56765 2008-05-19  Bruno Haible  <bruno@clisp.org>
56766
56767         * doc/glibc-functions/getpass.texi: Document limits of other
56768         implementations.
56769
56770 2008-05-19  Simon Josefsson  <simon@josefsson.org>
56771             Bruno Haible <bruno@clisp.org>
56772
56773         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
56774
56775 2008-05-18  Bruno Haible  <bruno@clisp.org>
56776
56777         * modules/propername: New file, from GNU gettext.
56778         * lib/propername.h: New file, from GNU gettext.
56779         * lib/propername.c: New file, from GNU gettext.
56780         * MODULES.html.sh (Internationalization functions): Add propername.
56781
56782 2008-05-16  Jim Meyering  <meyering@redhat.com>
56783             Bruno Haible  <bruno@clisp.org>
56784
56785         Avoid some warnings from "gcc -Wshadow".
56786         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
56787
56788 2008-05-15  Eric Blake  <ebb9@byu.net>
56789
56790         Extend previous patch to cygwin 1.7.0.
56791         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
56792         fast implementation in cygwin >= 1.7.0.
56793         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56794         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56795
56796 2008-05-15  Bruno Haible  <bruno@clisp.org>
56797
56798         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
56799         implementation in glibc >= 2.9.
56800         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
56801         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
56802
56803 2008-05-15  Bruno Haible  <bruno@clisp.org>
56804
56805         * MODULES.html.sh (Internationalization functions): Remove linebreak.
56806         (Unicode string functions): Add unilbrk/*.
56807         Reported by Karl Berry.
56808
56809 2008-05-15  Eric Blake  <ebb9@byu.net>
56810
56811         Fix violation of <stdbool.h> replacement in regex.
56812         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
56813         * lib/regexec.c (re_search_internal): Likewise.
56814         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
56815
56816 2008-05-15  Jim Meyering  <meyering@redhat.com>
56817
56818         avoid distracting test output when git or cvs is not found
56819         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
56820         * tests/test-vc-list-files-git.sh: Likewise.
56821
56822 2008-05-15  Eric Blake  <ebb9@byu.net>
56823
56824         Glibc finally accepted the memmem speedup code, bugzilla #5514.
56825         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
56826         glibc version.
56827         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
56828         * doc/posix-functions/strstr.texi (strstr): Likewise.
56829         * lib/str-two-way.h (MAX): Sychronize with glibc.
56830
56831 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
56832
56833         * lib/regcomp.c (optimize_utf8): Add a note on why we test
56834         opr.ctx_type.
56835         (calc_first): Initialize constraint field.
56836         (duplicate_node_closure): Use it instead of special casing ANCHORS.
56837         Fix grammar.
56838         (duplicate_node): Merge constraint field for all node types.
56839         (calc_eclosure_iter): Look at constraint field for all node types.
56840         * lib/regex_internal.c (create_cd_newstate): Don't look at
56841         opr.ctx_type.
56842
56843 2008-05-14  Bruno Haible  <bruno@clisp.org>
56844
56845         Help GCC to do better code generation.
56846         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
56847         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
56848         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
56849         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
56850         Declare with attribute 'malloc' if supported.
56851
56852 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
56853
56854         use "echo STR|wc -c" rather than unportable "expr length STR"
56855         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
56856         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
56857
56858 2008-05-14  Jim Meyering  <meyering@redhat.com>
56859
56860         use dd ibs=$n count=1 ... rather than less-portable head -c$n
56861         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
56862         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
56863         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
56864         via Collin Lasse.
56865
56866 2008-05-14  Eric Blake  <ebb9@byu.net>
56867
56868         Avoid quadratic growth in gl_LIBSOURCES.
56869         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
56870         Suggested by Bruno Haible.
56871
56872         Test xmemdup0.
56873         * modules/xmemdup0-tests: New file.
56874         * tests/test-xmemdup0.c: Likewise.
56875
56876 2008-05-13  Eric Blake  <ebb9@byu.net>
56877
56878         Split xmemdup0 into its own module.
56879         * modules/xmemdup0: New file.
56880         * lib/xmemdup0.h: Likewise.
56881         * lib/xmemdup0.c: Likewise.
56882         * MODULES.html.sh (Memory management functions): Add xmemdup0.
56883         * lib/xalloc.h (xmemdup0): Remove.
56884         * lib/xmalloc.c (xmemdup0): Likewise.
56885
56886 2008-05-13  Eric Blake  <ebb9@byu.net>
56887             Bruno Haible  <bruno@clisp.org>
56888
56889         Reduce number of forks required during autoconf.
56890         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
56891         and gl_LIBSOURCES_DIR.
56892         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
56893         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
56894         m4_syscmd per file.
56895         <m4_foreach_w>: Move...
56896         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
56897
56898 2008-05-13  Eric Blake  <ebb9@byu.net>
56899
56900         * gnulib-tool: Fix various comment typos.
56901
56902 2008-05-12  Bruno Haible  <bruno@clisp.org>
56903
56904         Tailor the linebreaking algorithm.
56905         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
56906
56907 2008-05-12  Bruno Haible  <bruno@clisp.org>
56908
56909         Update to Unicode 5.0.0.
56910         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56911         LBP_JV, LBP_JT. Redistribute values.
56912         (unilbrk_table): Change size.
56913         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
56914         Unicode TR#14 rev. 22.
56915         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
56916         LBP_JV, LBP_JT. Redistribute values.
56917         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
56918         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
56919         Update.
56920         * lib/unilbrk/lbrkprop1.h: Regenerated.
56921         * lib/unilbrk/lbrkprop2.h: Regenerated.
56922         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
56923         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
56924         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
56925         Likewise.
56926         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
56927         Likewise.
56928         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
56929         result.
56930         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
56931         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
56932         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
56933         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
56934         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
56935         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
56936
56937 2008-05-11  Bruno Haible  <bruno@clisp.org>
56938
56939         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
56940
56941 2008-05-11  Bruno Haible  <bruno@clisp.org>
56942
56943         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
56944         * modules/unilbrk/gen-lbrk: New file.
56945
56946 2008-05-11  Bruno Haible  <bruno@clisp.org>
56947
56948         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
56949         * m4/sha512.m4 (gl_SHA512): Likewise.
56950
56951 2008-05-11  Jim Meyering  <meyering@redhat.com>
56952
56953         New modules: crypto/sha256, crypto/sha512 (from coreutils)
56954         * modules/crypto/sha256: New file.
56955         * modules/crypto/sha512: Likewise.
56956         * lib/sha256.c: Likewise.
56957         * lib/sha256.h: Likewise.
56958         * lib/sha512.c: Likewise.
56959         * lib/sha512.h: Likewise.
56960         * lib/u64.h: Likewise.
56961         * m4/sha256.m4: Likewise.
56962         * m4/sha512.m4: Likewise.
56963         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
56964
56965 2008-05-10  Bruno Haible  <bruno@clisp.org>
56966
56967         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
56968         (Input/Output <stdio.h>): Add xprintf.
56969         (Signal handling <signal.h>): Add strsignal.
56970         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
56971         (Core language properties): Add func.
56972         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
56973         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
56974         strings.
56975         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
56976         (Input/output): New section.
56977         (File system functions): Add openat-die, stat-macros.
56978         (Networking functions): Add sockets.
56979         (Unicode string functions): Add unictype/*.
56980         (Support for building libraries and executables): Add gperf.
56981         (Support for building documentation): Add agpl-3.0.
56982         (Misc): Add nocrash.
56983
56984 2008-05-10  Bruno Haible  <bruno@clisp.org>
56985
56986         * modules/unictype/gen-ctype: New file.
56987
56988 2008-05-10  Jim Meyering  <meyering@redhat.com>
56989
56990         Make chdir-safer.c more efficient on a system with no symlinks.
56991         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
56992         also if ELOOP is zero.  Suggested by Bruno Haible.
56993
56994         Make chdir-safer.c slightly safer.
56995         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
56996         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
56997
56998         Avoid compile failure on systems without ELOOP (like mingw).
56999         * lib/chdir-safer.c (ELOOP): Define if not already defined.
57000         Reported by Bruno Haible.
57001
57002 2008-05-10  Bruno Haible  <bruno@clisp.org>
57003
57004         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
57005         (is_utf8_encoding): Use a case-insensitive comparison.
57006         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
57007         streq.
57008
57009 2008-05-10  Bruno Haible  <bruno@clisp.org>
57010
57011         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
57012         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
57013         * lib/unilbrk/ulc-common.h (iconv_string_length,
57014         iconv_string_keeping_offsets): Remove declarations.
57015         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
57016         Don't include <iconv.h>, streq.h, xsize.h.
57017         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
57018         conversion.
57019         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
57020         <iconv.h>, streq.h, xsize.h.
57021         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
57022         conversion.
57023         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
57024         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
57025         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
57026         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
57027
57028 2008-05-10  Bruno Haible  <bruno@clisp.org>
57029
57030         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
57031         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
57032
57033         * modules/unilbrk/u32-width-linebreaks-tests: New file.
57034         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
57035
57036         * modules/unilbrk/u16-width-linebreaks-tests: New file.
57037         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
57038
57039         * modules/unilbrk/u8-width-linebreaks-tests: New file.
57040         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
57041
57042         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
57043         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
57044
57045         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
57046         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
57047
57048         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
57049         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
57050
57051         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
57052         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
57053
57054 2008-05-10  Bruno Haible  <bruno@clisp.org>
57055
57056         Split up 'linebreak' module.
57057         * lib/unilbrk.h: New file, based on lib/linebreak.h.
57058         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
57059         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
57060         modifications.
57061         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
57062         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
57063         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
57064         lib/linebreak.c.
57065         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
57066         lib/linebreak.c.
57067         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
57068         lib/linebreak.c.
57069         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
57070         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
57071         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
57072         lib/linebreak.c.
57073         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
57074         lib/linebreak.c.
57075         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
57076         lib/linebreak.c.
57077         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
57078         lib/linebreak.c.
57079         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
57080         lib/linebreak.c.
57081         * modules/unilbrk/base: New file.
57082         * modules/unilbrk/tables: New file.
57083         * modules/unilbrk/u8-possible-linebreaks: New file.
57084         * modules/unilbrk/u16-possible-linebreaks: New file.
57085         * modules/unilbrk/u32-possible-linebreaks: New file.
57086         * modules/unilbrk/ulc-common: New file.
57087         * modules/unilbrk/ulc-possible-linebreaks: New file.
57088         * modules/unilbrk/u8-width-linebreaks: New file.
57089         * modules/unilbrk/u16-width-linebreaks: New file.
57090         * modules/unilbrk/u32-width-linebreaks: New file.
57091         * modules/unilbrk/ulc-width-linebreaks: New file.
57092         * lib/linebreak.h: Remove file.
57093         * lib/linebreak.c: Remove file.
57094         * m4/linebreak.m4: Remove file.
57095         * modules/linebreak: Remove file.
57096         * NEWS: Mention the changes.
57097
57098 2008-05-09  Eric Blake  <ebb9@byu.net>
57099
57100         Add xmemdup0.
57101         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
57102         implementation.
57103         * lib/xmalloc.c (xmemdup0): New C implementation.
57104
57105 2008-05-08  Bruno Haible  <bruno@clisp.org>
57106
57107         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
57108
57109 2008-05-07  Eric Blake  <ebb9@byu.net>
57110
57111         Support cross-compilation of <wctype.h>.
57112         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
57113         AC_CACHE_CHECK.
57114
57115 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
57116
57117         * build-aux/vc-list-files: Add support for bzr.
57118
57119 2008-05-03  Jim Meyering  <meyering@redhat.com>
57120
57121         avoid failed assertion with tight malloc
57122         * tests/test-getndelim2.c: Correct an off-by-one assertion.
57123
57124 2008-05-03  Simon Josefsson  <simon@josefsson.org>
57125
57126         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
57127         are needed from arpa/inet.h.
57128         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
57129         Reported by Bruno Haible.
57130
57131 2008-05-02  Jim Meyering  <meyering@redhat.com>
57132
57133         avoid compilation error on FreeBSD 6
57134         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
57135
57136 2008-05-01  Jim Meyering  <meyering@redhat.com>
57137
57138         useless-if-before-free: correct --help's exit status description
57139         * build-aux/useless-if-before-free (usage): Like grep, exit 0
57140         for one or more matches, etc.  Reported by Bruno Haible.
57141
57142         vc-list-files: make the stand-alone gnulib test work
57143         * modules/vc-list-files-tests (configure.ac):
57144         Define and AC_SUBST abs_aux_dir.
57145         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
57146         $(abs_top_srcdir) to each script and having each of them
57147         duplicate the work of setting PATH, set PATH here, using
57148         the new variable, abs_aux_dir instead.
57149         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
57150         * tests/test-vc-list-files-git.sh: Likewise.
57151         Reported by Bruno Haible.
57152
57153 2008-05-01  Bruno Haible  <bruno@clisp.org>
57154
57155         * lib/getndelim2.c (getndelim2): Fix newsize computation during
57156         reallocation. Rename 'done' to 'found_delimiter'.
57157
57158 2008-05-01  Jim Meyering  <meyering@redhat.com>
57159
57160         vc-list-files: accommodate /bin/sh like the one from Solaris 10
57161         * build-aux/vc-list-files: Use `...`, not $(...).
57162
57163 2008-04-30  Jim Meyering  <meyering@redhat.com>
57164
57165         add tests for vc-list-files
57166         * modules/vc-list-files-tests: New module.
57167         * tests/test-vc-list-files-cvs.sh: New file.
57168         * tests/test-vc-list-files-git.sh: New file.
57169
57170         avoid a warning from gcc
57171         * lib/getndelim2.c (IF_LINT): Define.
57172         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
57173
57174         vc-list-files: work properly with build-aux/cvsu, too
57175         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
57176         to all cvs-based clauses.
57177
57178         vc-list-files: work properly in the CVS+awk case, too
57179         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
57180
57181         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
57182         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
57183         take more than one file argument, so .  Add quotes, just in case $dir
57184         ever contains a shell meta-character.  Prompted by Soren Hansen in
57185         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
57186
57187 2008-04-29  Eric Blake  <ebb9@byu.net>
57188
57189         Optimize getndelim2 to use block operations when possible.
57190         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
57191         freadseek, and memchr2.
57192         * lib/getndelim2.c (getndelim2): Use them for block reads.
57193
57194 2008-04-29  Bruno Haible  <bruno@clisp.org>
57195
57196         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
57197         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57198         * modules/inet_ntop (Depends-on): Add extensions.
57199         * modules/inet_pton (Depends-on): Likewise.
57200         Reported by Simon Josefsson.
57201
57202 2008-04-29  Jim Meyering  <meyering@redhat.com>
57203
57204         When the is more than one match in a block, match all of them.
57205         * build-aux/useless-if-before-free: Iterate through each block
57206         until there are no more matches.
57207
57208         Fix broken useless-if-before-free script.
57209         * build-aux/useless-if-before-free: Fix typo: missing "?" after
57210         the expression to match cast of argument to free-like function.
57211
57212 2008-04-29  Eric Blake  <ebb9@byu.net>
57213
57214         Use new header.
57215         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
57216
57217 2008-04-29  Jim Meyering  <meyering@redhat.com>
57218
57219         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
57220         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
57221         by gnulib to exist and to declare e.g., inet_ntop.
57222         Don't include "inet_ntop.h", now removed.
57223
57224         * m4/arpa_inet_h.m4: Remove trailing blanks.
57225
57226 2008-04-29  Eric Blake  <ebb9@byu.net>
57227
57228         Silence valgrind on safe reads beyond potential array bounds.
57229         * lib/rawmemchr.valgrind: New file.
57230         * lib/strchrnul.valgrind: Likewise.
57231         * modules/rawmemchr (Files): Distribute new file.
57232         * modules/strchrnul (Files): Likewise.
57233         Suggested by Bruno Haible.
57234
57235 2008-04-29  Bruno Haible  <bruno@clisp.org>
57236
57237         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
57238         (inet_ntop, inet_pton): Change portability warning's wording.
57239         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
57240         Invoke gl_CHECK_NEXT_HEADERS.
57241         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
57242         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
57243         set ARPA_INET_H.
57244         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
57245         * modules/arpa_inet (Description): No longer only for systems that
57246         lack it.
57247         (Depends-on): Add include_next.
57248         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
57249         HAVE_ARPA_INET_H.
57250
57251 2008-04-29  Jim Meyering  <meyering@redhat.com>
57252
57253         * modules/mkdir (License): Re-license as LGPLv2+.
57254
57255 2008-04-29  Bruno Haible  <bruno@clisp.org>
57256
57257         * modules/rawmemchr (Maintainer): Set to Eric.
57258         * modules/strchrnul (Maintainer): Likewise.
57259
57260 2008-04-29  Simon Josefsson  <simon@josefsson.org>
57261
57262         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
57263         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
57264
57265         * modules/arpa_inet (arpa/inet.h): Use them.
57266
57267 2008-04-28  Eric Blake  <ebb9@byu.net>
57268
57269         Test getndelim2.
57270         * modules/getndelim2-tests: New file.
57271         * tests/test-getndelim2.c: Likewise.
57272         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
57273         stream.
57274         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
57275
57276         * MODULES.html.sh: Document new module.
57277
57278 2008-04-20  Bruno Haible  <bruno@clisp.org>
57279
57280         * lib/c-stack.c (die): Use raise.
57281         * modules/c-stack (Depends-on): Add raise.
57282
57283 2008-04-28  Bruno Haible  <bruno@clisp.org>
57284
57285         Expect rpmatch to be declared.
57286         * lib/yesno.c (rpmatch): Remove declaration.
57287
57288         Declare rpmatch.
57289         * lib/stdlib.in.h (rpmatch): New declaration.
57290         * lib/rpmatch.c: Include <stdlib.h> first.
57291         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
57292         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
57293         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
57294         HAVE_RPMATCH.
57295         * modules/rpmatch (Depends-on): Add stdlib, extensions.
57296         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
57297         (Include): Set to <stdlib.h>.
57298         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
57299         HAVE_RPMATCH.
57300         * NEWS: Document the change.
57301
57302 2008-04-28  Bruno Haible  <bruno@clisp.org>
57303
57304         Change rpmatch to use nl_langinfo when appropriate.
57305         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
57306         (N_): New macro.
57307         (localized_pattern): New function/macro.
57308         (try): Remove match, nomatch arguments. Copy the pattern into safe
57309         memory before caching it.
57310         (rpmatch): Use localized_pattern. Add translator comments.
57311         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
57312         Suggested by Eric Blake.
57313         * modules/rpmatch (Depends-on): Add stdbool.
57314
57315 2008-04-28  Eric Blake  <ebb9@byu.net>
57316
57317         Add rawmemchr module, matching glibc.
57318         * modules/string (Makefile.am): New indicator.
57319         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
57320         * lib/string.in.h (rawmemchr): Declare when appropriate.
57321         * modules/rawmemchr: New file.
57322         * m4/rawmemchr.m4: Likewise.
57323         * lib/rawmemchr.c: Likewise.
57324         * modules/rawmemchr-tests: Likewise.
57325         * tests/test-rawmemchr.c: Likewise.
57326         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
57327         module.
57328         * modules/strchrnul (Depends-on): Add rawmemchr.
57329         * lib/strchrnul.c (strchrnul): Optimize a corner case.
57330
57331         Whitespace cleanup.
57332         * tests/test-strchrnul.c: Reindent.
57333         * lib/strchrnul.c: Likewise.
57334
57335         Optimize and test strchrnul.
57336         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
57337         * modules/strchrnul-tests: New file.
57338         * tests/test-strchrnul.c: Likewise.
57339
57340         Remove intprops dependency.
57341         * modules/memchr (Depends-on): Remove intprops.
57342         * modules/memrchr (Depends-on): Likewise.
57343         * modules/memchr2 (Depends-on): Likewise.
57344         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
57345         * lib/memrchr.c (__memrchr): Likewise.
57346         * lib/memrchr2.c (memchr2): Likewise.
57347         Reported by Simon Josefsson.
57348
57349 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57350
57351         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
57352         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57353
57354 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57355
57356         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
57357
57358         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
57359
57360         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
57361
57362         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
57363         declarations.
57364         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
57365
57366         * m4/inet_pton.m4: Don't check for header files.
57367
57368         * m4/inet_ntop.m4: Don't check for header files.
57369
57370 2008-04-28  Simon Josefsson  <simon@josefsson.org>
57371
57372         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
57373         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
57374         trigger for cygwin).
57375         Reported by Bruno Haible  <bruno@clisp.org>.
57376
57377 2008-04-28  Bruno Haible  <bruno@clisp.org>
57378
57379         * doc/posix-functions/strdup.texi: Mention mingw problem.
57380
57381 2008-04-27  Bruno Haible  <bruno@clisp.org>
57382
57383         * modules/stat-time-tests (Depends-on): Add sleep.
57384         * tests/test-stat-time.c (force_unlink): New function.
57385         (cleanup): Use it.
57386         (test_mtime): Remove the ctime related tests.
57387         (test_ctime): New function, containing the ctime related tests.
57388         (main): Call test_ctime, except on native Windows platforms.
57389
57390 2008-04-27  Bruno Haible  <bruno@clisp.org>
57391
57392         * lib/rpmatch.c (rpmatch): Add some comments.
57393         Reported by James Youngman <jay@gnu.org>.
57394
57395 2008-04-27  Bruno Haible  <bruno@clisp.org>
57396
57397         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
57398         quiet NaNs.
57399
57400 2008-04-27  Bruno Haible  <bruno@clisp.org>
57401
57402         Make test-yesno.sh work on mingw.
57403         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
57404         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
57405         (main): Set stdin to binary mode.
57406         * modules/yesno-tests (Depends-on): Add binary-io.
57407
57408 2008-04-27  Bruno Haible  <bruno@clisp.org>
57409
57410         Fix 'isfinite' on x86, x86_64, ia64 platforms.
57411         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
57412         argument that lie outside the IEEE 854 domain.
57413         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
57414         (gl_ISFINITE): Use it.
57415         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
57416
57417 2008-04-27  Bruno Haible  <bruno@clisp.org>
57418
57419         Allow local renaming in config.h.
57420         * lib/memrchr.c (memrchr): Don't undefine outside libc.
57421
57422 2008-04-27  Bruno Haible  <bruno@clisp.org>
57423
57424         * lib/memchr.c (__memchr): Change type of 'i'.
57425         * lib/memchr2.c (memchr2): Likewise.
57426
57427 2008-04-26  Eric Blake  <ebb9@byu.net>
57428         and Bruno Haible  <bruno@clisp.org>
57429
57430         Optimize and test memrchr.
57431         * modules/memrchr (Depends-on): Add intprops.
57432         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
57433         * modules/memrchr-tests: New file.
57434         * tests/test-memrchr.c: New file.
57435
57436 2008-04-26  Bruno Haible  <bruno@clisp.org>
57437
57438         Add tentative support for DragonFly BSD.
57439         * lib/stdio-impl.h: Add macros for DragonFly BSD.
57440         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
57441         fp.
57442         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57443         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
57444         * lib/fpurge.c (fpurge): Likewise.
57445         * lib/freadable.c (freaadable): Likewise.
57446         * lib/freadahead.c (freadahead): Likewise.
57447         * lib/freading.c (freading): Likewise.
57448         * lib/freadptr.c (freadptr): Likewise.
57449         * lib/freadseek.c (freadptrinc): Likewise.
57450         * lib/fseeko.c (fseeko): Likewise.
57451         * lib/fseterr.c (fseterr): Likewise.
57452         * lib/fwritable.c (fwritable): Likewise.
57453         * lib/fwriting.c (fwriting): Likewise.
57454
57455 2008-04-26  Bruno Haible  <bruno@clisp.org>
57456
57457         * lib/stdio-impl.h: New file.
57458         * lib/fbufmode.c: Include stdio-impl.h.
57459         (fbufmode): Use fp_, remove redundant #defines.
57460         * lib/fflush.c: Include stdio-impl.h.
57461         (clear_ungetc_buffer): Remove redundant #defines.
57462         * lib/fpurge.c: Include stdio-impl.h.
57463         (fpurge): Remove redundant #defines.
57464         * lib/freadable.c: Include stdio-impl.h.
57465         (freadable): Remove redundant #defines.
57466         * lib/freadahead.c: Include stdio-impl.h.
57467         (freadahead): Remove redundant #defines.
57468         * lib/freading.c: Include stdio-impl.h.
57469         (freading): Remove redundant #defines.
57470         * lib/freadptr.c: Include stdio-impl.h.
57471         (freadptr): Remove redundant #defines.
57472         * lib/freadseek.c: Include stdio-impl.h.
57473         (freadptrinc): Remove redundant #defines.
57474         * lib/fseeko.c: Include stdio-impl.h.
57475         (rpl_fseeko): Remove redundant #defines.
57476         * lib/fseterr.c: Include stdio-impl.h.
57477         (fseterr): Remove redundant #defines.
57478         * lib/fwritable.c: Include stdio-impl.h.
57479         (fwritable: Remove redundant #defines.
57480         * lib/fwriting.c: Include stdio-impl.h.
57481         (fwriting): Remove redundant #defines.
57482         * modules/fbufmode (Files): Add lib/stdio-impl.h.
57483         * modules/fflush (Files): Likewise.
57484         * modules/fpurge (Files): Likewise.
57485         * modules/freadable (Files): Likewise.
57486         * modules/freadahead (Files): Likewise.
57487         * modules/freading (Files): Likewise.
57488         * modules/freadptr (Files): Likewise.
57489         * modules/freadseek (Files): Likewise.
57490         * modules/fseeko (Files): Likewise.
57491         * modules/fseterr (Files): Likewise.
57492         * modules/fwritable (Files): Likewise.
57493         * modules/fwriting (Files): Likewise.
57494
57495 2008-04-26  Bruno Haible  <bruno@clisp.org>
57496
57497         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
57498         restore_seek_optimization, update_fpos_cache): New functions, extracted
57499         from rpl_fflush.
57500         (rpl_fflush): Use them.
57501         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
57502         (gl_REPLACE_FFLUSH): Use it.
57503
57504 2008-04-26  Bruno Haible  <bruno@clisp.org>
57505
57506         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
57507         on Solaris.
57508         * tests/test-xstrtoimax.sh: Likewise.
57509         * tests/test-xstrtoumax.sh: Likewise.
57510         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57511
57512 2008-04-26  Bruno Haible  <bruno@clisp.org>
57513
57514         * modules/memchr-tests: New file.
57515         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
57516
57517 2008-04-26  Eric Blake  <ebb9@byu.net>
57518             Bruno Haible  <bruno@clisp.org>
57519
57520         * lib/memchr.c: Include intprops.h.
57521         (__memchr): Optimize parallel detection of matching bytes. Rename local
57522         variables. Add explanatory comments.
57523
57524 2008-04-26  Bruno Haible  <bruno@clisp.org>
57525
57526         Fix module 'memchr', broken since 2000-10-28.
57527         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
57528
57529 2008-04-26  Bruno Haible  <bruno@clisp.org>
57530
57531         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
57532         comments.
57533
57534 2008-04-25  Eric Blake  <ebb9@byu.net>
57535
57536         Use native fstatat on cygwin 1.7.0.
57537         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
57538         first.
57539
57540 2008-04-23  Eric Blake  <ebb9@byu.net>
57541
57542         Improve memchr2 performance.
57543         * lib/memchr2.c (memchr2): Further optimize parallel detection of
57544         NUL bytes.
57545         * modules/memchr2 (Depends-on): Use intprops.h.
57546
57547 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57548
57549         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
57550         an inline function instead of a CPP macro.  Patch by Ben Pfaff
57551         <blp@cs.stanford.edu>.
57552
57553 2008-04-23  Simon Josefsson  <simon@josefsson.org>
57554
57555         * lib/arpa_inet.in.h: New file.
57556
57557         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
57558         (Makefile.am): Sed in substitute header file.
57559
57560         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
57561         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
57562
57563         * modules/inet_ntop (configure.ac): Use
57564         gl_ARPA_INET_MODULE_INDICATOR.
57565
57566         * modules/inet_pton (configure.ac): Use
57567         gl_ARPA_INET_MODULE_INDICATOR.
57568
57569 2008-04-22  Jim Meyering  <meyering@redhat.com>
57570
57571         * modules/verify (License): Re-license as LGPLv2+.
57572
57573 2008-04-22  Simon Josefsson  <simon@josefsson.org>
57574
57575         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
57576         parameter to void* as per POSIX standard (MinGW uses char*).
57577
57578 2008-04-21  Bruno Haible  <bruno@clisp.org>
57579
57580         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
57581         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
57582         Define to replacements if REPLACE_ISWCNTRL is 1.
57583         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
57584         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
57585         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
57586         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
57587         what it fixes.
57588         * doc/posix-functions/iswalpha.texi: Likewise.
57589         * doc/posix-functions/iswblank.texi: Likewise.
57590         * doc/posix-functions/iswcntrl.texi: Likewise.
57591         * doc/posix-functions/iswdigit.texi: Likewise.
57592         * doc/posix-functions/iswgraph.texi: Likewise.
57593         * doc/posix-functions/iswlower.texi: Likewise.
57594         * doc/posix-functions/iswprint.texi: Likewise.
57595         * doc/posix-functions/iswpunct.texi: Likewise.
57596         * doc/posix-functions/iswspace.texi: Likewise.
57597         * doc/posix-functions/iswupper.texi: Likewise.
57598         * doc/posix-functions/iswxdigit.texi: Likewise.
57599         Reported by Alain Guibert.
57600
57601 2008-04-21  Bruno Haible  <bruno@clisp.org>
57602
57603         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
57604         Patch by Alain Guibert.
57605
57606 2008-04-21  Bruno Haible  <bruno@clisp.org>
57607
57608         Fix test failures on mingw.
57609         * tests/test-xstrtol.c (print_no_progname): New function.
57610         (main): Install it in error_print_progname hook.
57611         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
57612         * tests/test-xstrtoimax.sh: Likewise.
57613         * tests/test-xstrtoumax.sh: Likewise.
57614
57615 2008-04-21  Bruno Haible  <bruno@clisp.org>
57616
57617         Fix test failure on mingw.
57618         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
57619
57620 2008-04-21  Bruno Haible  <bruno@clisp.org>
57621
57622         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
57623         Actually assign a value.
57624
57625 2008-04-20  Bruno Haible  <bruno@clisp.org>
57626
57627         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
57628         take 2.
57629         * lib/canonicalize.c (canonicalize_file_name): Elide if the
57630         'canonicalize-lgpl' module is also used.
57631         * lib/canonicalize-lgpl.c: Undo last change.
57632         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
57633
57634 2008-04-20  Bruno Haible  <bruno@clisp.org>
57635
57636         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
57637         config.h. Provide _mkdir based fallback for mingw.
57638         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
57639         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
57640         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
57641         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
57642         rather than defining mkdir in config.h.
57643         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
57644         (gl_SYS_STAT_H_DEFAULTS): New macro.
57645         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
57646         HAVE_IO_H any more.
57647         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
57648         HAVE_DECL_MKDIR and HAVE_IO_H.
57649
57650 2008-04-20  Bruno Haible  <bruno@clisp.org>
57651
57652         * lib/isapipe.c: Port to native Windows platforms.
57653
57654 2008-04-20  Bruno Haible  <bruno@clisp.org>
57655
57656         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
57657
57658 2008-04-21  Eric Blake  <ebb9@byu.net>
57659
57660         Work around preprocessors that don't handle UINTMAX_MAX.
57661         * lib/memchr2.c (memchr2): Avoid embedded #if.
57662         Reported by Alain Guibert, fix suggested by Bruno Haible.
57663
57664 2008-04-21  Simon Josefsson  <simon@josefsson.org>
57665
57666         * doc/posix-functions/strftime.texi (strftime): Explain better
57667         Windows incompatibility.  Suggested by Micah Cowan
57668         <micah@cowan.name>.
57669
57670 2008-04-20  Bruno Haible  <bruno@clisp.org>
57671
57672         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
57673         unistr/u8-mblen.
57674
57675 2008-04-20  Bruno Haible  <bruno@clisp.org>
57676
57677         Fix test failure on platforms with non-GNU iconv.
57678         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
57679         (U_TO_U8): Use it, rather than u16_to_u8.
57680         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
57681         units at the end of the input string.
57682         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
57683
57684 2008-04-20  Bruno Haible  <bruno@clisp.org>
57685
57686         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
57687         when the resulting length is 0.
57688         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
57689
57690 2008-04-20  Bruno Haible  <bruno@clisp.org>
57691
57692         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
57693         works.
57694         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
57695
57696 2008-04-20  Bruno Haible  <bruno@clisp.org>
57697
57698         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
57699         * modules/tsearch-tests (configure.ac): Test for initstate function.
57700
57701 2008-04-20  Bruno Haible  <bruno@clisp.org>
57702
57703         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
57704         for nlink_t if missing.
57705         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
57706
57707 2008-04-19  Bruno Haible  <bruno@clisp.org>
57708
57709         Work around snprintf bug on Linux libc5.
57710         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
57711         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
57712         gl_SNPRINTF_SIZE1.
57713         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
57714         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
57715         that test failed.
57716         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
57717         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
57718         * modules/snprintf (Files): Add m4/printf.m4.
57719         * modules/vsnprintf (Files): Likewise.
57720         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
57721         * doc/posix-functions/vsnprintf.texi: Likewise.
57722
57723 2008-04-19  Bruno Haible  <bruno@clisp.org>
57724
57725         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
57726         from 0.0058 to less than 10^-7.
57727
57728 2008-04-19  Bruno Haible  <bruno@clisp.org>
57729
57730         Fix rounding when a precision is given.
57731         * lib/vasnprintf.c (is_borderline): New function.
57732         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
57733         9...9x.
57734         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
57735         %e, %g.
57736         * tests/test-vasprintf-posix.c (test_function): Likewise.
57737         * tests/test-snprintf-posix.h (test_function): Likewise.
57738         * tests/test-sprintf-posix.h (test_function): Likewise.
57739         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
57740         * tests/test-printf-posix.h (test_function): Likewise.
57741         * tests/test-printf-posix.output: Update.
57742         Reported by John Darrington <john@darrington.wattle.id.au> via
57743         Ben Pfaff <blp@cs.stanford.edu>.
57744
57745 2008-04-18  Simon Josefsson  <simon@josefsson.org>
57746
57747         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
57748         Suggested by Bruno Haible <bruno@clisp.org>.
57749
57750 2008-04-17  Bruno Haible  <bruno@clisp.org>
57751
57752         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
57753         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
57754         implementation.
57755         Patch by Bruce Merry <bmerry@gmail.com>.
57756
57757 2008-04-17  Simon Josefsson  <simon@josefsson.org>
57758
57759         * doc/posix-functions/strftime.texi (strftime): Mention that %e
57760         doesn't work under Windows.
57761
57762 2008-04-16  Bruno Haible  <bruno@clisp.org>
57763
57764         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
57765         New macros.
57766         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
57767         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
57768         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
57769         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
57770         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
57771         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
57772         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
57773         macros.
57774         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
57775         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
57776         Northern Sotho, Uighur.
57777
57778 2008-04-16  Bruno Haible  <bruno@clisp.org>
57779
57780         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
57781         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
57782         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
57783         Reported by Daniel Bergström <daniel@octocode.com>.
57784
57785 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
57786             Bruno Haible  <bruno@clisp.org>
57787
57788         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
57789         function.
57790         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
57791         New functions, mostly extracted from gl_locale_name_default.
57792         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
57793
57794 2008-04-16  Eric Blake  <ebb9@byu.net>
57795
57796         Adjust strtod detection to catch glibc 2.7 bug.
57797         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
57798         Reported by John Gatewood Ham.
57799
57800 2008-04-16  Bruno Haible  <bruno@clisp.org>
57801
57802         Add tentative support for Linux libc5.
57803         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
57804         * lib/fpurge.c (fpurge): Likewise.
57805         * lib/freadable.c (freadable): Likewise.
57806         * lib/freadahead.c (freadahead): Likewise.
57807         * lib/freading.c (freading): Likewise.
57808         * lib/freadptr.c (freadptr): Likewise.
57809         * lib/freadseek.c (freadptrinc): Likewise.
57810         * lib/fseeko.c (rpl_fseeko): Likewise.
57811         * lib/fseterr.c (fseterr): Likewise.
57812         * lib/fwritable.c (fwritable): Likewise.
57813         * lib/fwriting.c (fwriting): Likewise.
57814         Reported by Alain Guibert <alguibert+bts@free.fr>.
57815
57816 2008-04-15  Bruno Haible  <bruno@clisp.org>
57817
57818         * modules/mathl (configure.ac): Define module indicator.
57819
57820 2008-04-15  Bruno Haible  <bruno@clisp.org>
57821
57822         * lib/logl.c (logl): Remove unused variables.
57823
57824 2008-04-15  Bruno Haible  <bruno@clisp.org>
57825
57826         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
57827         fails.
57828
57829 2008-04-15  Bruno Haible  <bruno@clisp.org>
57830
57831         * lib/trim.c (trim2): Fix argument of isspace() macro.
57832
57833 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
57834
57835         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
57836         to 0.
57837         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
57838
57839 2008-04-14  Bruno Haible  <bruno@clisp.org>
57840
57841         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
57842         AC_LANG_PROGRAM argument.
57843         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
57844         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
57845         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
57846         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
57847         * m4/math_h.m4 (gl_MATH_H): Likewise.
57848         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
57849         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57850         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
57851         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
57852         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
57853         * m4/regex.m4 (gl_REGEX): Likewise.
57854         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
57855         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
57856         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57857         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
57858         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
57859         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57860         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
57861         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
57862
57863 2008-04-14  Jim Meyering  <meyering@redhat.com>
57864
57865         test-strtod: fix typos: s/abs/fabs/
57866         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
57867
57868 2008-04-13  Bruno Haible  <bruno@clisp.org>
57869
57870         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
57871         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
57872         module is also used and while not building the reloc-wrapper.
57873
57874 2008-04-13  Bruno Haible  <bruno@clisp.org>
57875
57876         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
57877
57878 2008-04-13  Bruno Haible  <bruno@clisp.org>
57879
57880         Fix AIX compilation failure introduced on 2008-04-02.
57881         * tests/test-frexp.c (exp): Undefine before redefining.
57882         * tests/test-frexpl.c (exp): Likewise.
57883
57884 2008-04-13  Bruno Haible  <bruno@clisp.org>
57885
57886         Work around a HP-UX stdio bug.
57887         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
57888         * tests/test-ftello.c (main): Likewise.
57889         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
57890         * doc/posix-functions/ftello.texi: Likewise.
57891
57892 2008-04-13  Bruno Haible  <bruno@clisp.org>
57893
57894         Make test-signbit pass on HP-UX/hppa.
57895         * tests/test-signbit.c (minus_zerol): New variable.
57896         (test_signbitl): Use it.
57897
57898 2008-04-13  Bruno Haible  <bruno@clisp.org>
57899
57900         Make truncl work on OSF/1 4.0.
57901         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
57902         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57903         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
57904         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
57905         HAVE_DECL_TRUNCL.
57906         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
57907         HAVE_DECL_TRUNCL.
57908         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
57909
57910 2008-04-13  Bruno Haible  <bruno@clisp.org>
57911
57912         * lib/unictype.h: Remove trailing comma from enumeration definitions.
57913
57914 2008-04-13  Bruno Haible  <bruno@clisp.org>
57915
57916         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
57917         expression, so as to avoid HP-UX 11 cc compiler bug.
57918
57919 2008-04-13  Bruno Haible  <bruno@clisp.org>
57920
57921         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
57922
57923 2008-04-13  Bruno Haible  <bruno@clisp.org>
57924
57925         * lib/git-merge-changelog.c: Remove empty declaration outside of
57926         functions.
57927
57928 2008-04-13  Bruno Haible  <bruno@clisp.org>
57929
57930         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
57931
57932 2008-04-13  Bruno Haible  <bruno@clisp.org>
57933
57934         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
57935         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
57936         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
57937         also if it exists but lacks definitions of the SHUT_* macros.
57938         * modules/sys_socket (Description): Update.
57939         Reported by Elbert Pol <e.pol@chello.nl>.
57940
57941 2008-04-13  Bruno Haible  <bruno@clisp.org>
57942
57943         * lib/localcharset.c (OS2): Don't redefine if already defined.
57944         Reported by Elbert Pol <e.pol@chello.nl>.
57945
57946 2008-04-13  Bruno Haible  <bruno@clisp.org>
57947
57948         * lib/binary-io.h [__EMX__]: Include <io.h>.
57949         Reported by Elbert Pol <e.pol@chello.nl>.
57950
57951 2008-04-12  Bruno Haible  <bruno@clisp.org>
57952
57953         * lib/fpucw.h: Enable the definitions also for x86_64.
57954         Needed for NetBSD/x86_64.
57955         Reported by Thomas Klausner <tk@giga.or.at>.
57956
57957 2008-04-12  Bruno Haible  <bruno@clisp.org>
57958
57959         * tests/test-strtod.c: Include isnand.h.
57960         (main): Use isnand instead of isnan.
57961         Reported by Jim Meyering.
57962
57963 2008-04-12  Bruno Haible  <bruno@clisp.org>
57964
57965         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
57966         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
57967
57968 2008-04-12  Jim Meyering  <meyering@redhat.com>
57969
57970         * m4/math_h.m4 (gl_MATH_H): Fix typos.
57971
57972 2008-04-12  Bruno Haible  <bruno@clisp.org>
57973
57974         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
57975         Reported by Elbert Pol <e.pol@chello.nl>.
57976
57977 2008-04-12  Eric Blake  <ebb9@byu.net>
57978
57979         Work around Solaris 10 math.h bug.
57980         * m4/math_h.m4 (gl_MATH_H): Check for bug.
57981         (gl_MATH_H_DEFAULTS): Set up default.
57982         * modules/math (Makefile.am): Replace new indicators.
57983         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
57984         * tests/test-math.c (main): Test this.
57985         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
57986         * doc/posix-headers/math.texi (math.h): Mention bug.
57987         Reported by Nelson H. F. Beebe and Jim Meyering.
57988
57989 2008-04-11  Bruno Haible  <bruno@clisp.org>
57990
57991         Adapt to future versions of Apple GCC.
57992         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
57993         Reported by Peter O'Gorman <peter@pogma.com>.
57994
57995 2008-04-11  Bruno Haible  <bruno@clisp.org>
57996
57997         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
57998
57999 2008-04-11  Bruno Haible  <bruno@clisp.org>
58000
58001         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
58002
58003         * modules/getaddrinfo-tests (Makefile.am): Define
58004         test_getaddrinfo_LDADD.
58005
58006 2008-04-11  Bruno Haible  <bruno@clisp.org>
58007
58008         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
58009         (init): Fix syntax error.
58010         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
58011         is declared.
58012
58013 2008-04-11  Bruno Haible  <bruno@clisp.org>
58014
58015         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
58016         * modules/glob (Depends-on): Add stdbool.
58017
58018 2008-04-11  Bruno Haible  <bruno@clisp.org>
58019
58020         * lib/trim.c: Include <string.h>.
58021
58022 2008-04-11  Eric Blake  <ebb9@byu.net>
58023
58024         Avoid compile failure on OS/2.
58025         * lib/regex_internal.h (internal_function): Disable optimization
58026         on OS/2 (__EMX__), where it caused compiler error.
58027         Reported by Elbert Pol.
58028
58029 2008-04-11  Bruno Haible  <bruno@clisp.org>
58030
58031         Flush the standard error stream before aborting. Needed on mingw.
58032         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
58033         * tests/test-array_list.c (ASSERT): Likewise.
58034         * tests/test-array_oset.c (ASSERT): Likewise.
58035         * tests/test-avltree_list.c (ASSERT): Likewise.
58036         * tests/test-avltree_oset.c (ASSERT): Likewise.
58037         * tests/test-avltreehash_list.c (ASSERT): Likewise.
58038         * tests/test-binary-io.c (ASSERT): Likewise.
58039         * tests/test-byteswap.c (ASSERT): Likewise.
58040         * tests/test-c-ctype.c (ASSERT): Likewise.
58041         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
58042         * tests/test-c-strcasestr.c (ASSERT): Likewise.
58043         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
58044         * tests/test-c-strstr.c (ASSERT): Likewise.
58045         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
58046         * tests/test-canonicalize.c (ASSERT): Likewise.
58047         * tests/test-carray_list.c (ASSERT): Likewise.
58048         * tests/test-ceilf1.c (ASSERT): Likewise.
58049         * tests/test-ceilf2.c (ASSERT): Likewise.
58050         * tests/test-ceill.c (ASSERT): Likewise.
58051         * tests/test-count-one-bits.c (ASSERT): Likewise.
58052         * tests/test-fbufmode.c (ASSERT): Likewise.
58053         * tests/test-fflush2.c (ASSERT): Likewise.
58054         * tests/test-floorf1.c (ASSERT): Likewise.
58055         * tests/test-floorf2.c (ASSERT): Likewise.
58056         * tests/test-floorl.c (ASSERT): Likewise.
58057         * tests/test-fopen.c (ASSERT): Likewise.
58058         * tests/test-fpending.c (ASSERT): Likewise.
58059         * tests/test-fprintf-posix.c (ASSERT): Likewise.
58060         * tests/test-fpurge.c (ASSERT): Likewise.
58061         * tests/test-freadable.c (ASSERT): Likewise.
58062         * tests/test-freadahead.c (ASSERT): Likewise.
58063         * tests/test-freading.c (ASSERT): Likewise.
58064         * tests/test-freadptr.c (ASSERT): Likewise.
58065         * tests/test-freadptr2.c (ASSERT): Likewise.
58066         * tests/test-freadseek.c (ASSERT): Likewise.
58067         * tests/test-freopen.c (ASSERT): Likewise.
58068         * tests/test-frexp.c (ASSERT): Likewise.
58069         * tests/test-frexpl.c (ASSERT): Likewise.
58070         * tests/test-fseek.c (ASSERT): Likewise.
58071         * tests/test-fseeko.c (ASSERT): Likewise.
58072         * tests/test-fstrcmp.c (ASSERT): Likewise.
58073         * tests/test-ftell.c (ASSERT): Likewise.
58074         * tests/test-ftello.c (ASSERT): Likewise.
58075         * tests/test-func.c (ASSERT): Likewise.
58076         * tests/test-fwritable.c (ASSERT): Likewise.
58077         * tests/test-fwriting.c (ASSERT): Likewise.
58078         * tests/test-getdelim.c (ASSERT): Likewise.
58079         * tests/test-getline.c (ASSERT): Likewise.
58080         * tests/test-i-ring.c (ASSERT): Likewise.
58081         * tests/test-iconv-utf.c (ASSERT): Likewise.
58082         * tests/test-iconv.c (ASSERT): Likewise.
58083         * tests/test-isfinite.c (ASSERT): Likewise.
58084         * tests/test-isnand.c (ASSERT): Likewise.
58085         * tests/test-isnanf.c (ASSERT): Likewise.
58086         * tests/test-isnanl.h (ASSERT): Likewise.
58087         * tests/test-ldexpl.c (ASSERT): Likewise.
58088         * tests/test-linked_list.c (ASSERT): Likewise.
58089         * tests/test-linkedhash_list.c (ASSERT): Likewise.
58090         * tests/test-localename.c (ASSERT): Likewise.
58091         * tests/test-lseek.c (ASSERT): Likewise.
58092         * tests/test-mbscasecmp.c (ASSERT): Likewise.
58093         * tests/test-mbscasestr1.c (ASSERT): Likewise.
58094         * tests/test-mbscasestr2.c (ASSERT): Likewise.
58095         * tests/test-mbscasestr3.c (ASSERT): Likewise.
58096         * tests/test-mbscasestr4.c (ASSERT): Likewise.
58097         * tests/test-mbschr.c (ASSERT): Likewise.
58098         * tests/test-mbscspn.c (ASSERT): Likewise.
58099         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
58100         * tests/test-mbspbrk.c (ASSERT): Likewise.
58101         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
58102         * tests/test-mbsrchr.c (ASSERT): Likewise.
58103         * tests/test-mbsspn.c (ASSERT): Likewise.
58104         * tests/test-mbsstr1.c (ASSERT): Likewise.
58105         * tests/test-mbsstr2.c (ASSERT): Likewise.
58106         * tests/test-mbsstr3.c (ASSERT): Likewise.
58107         * tests/test-memchr2.c (ASSERT): Likewise.
58108         * tests/test-memmem.c (ASSERT): Likewise.
58109         * tests/test-open.c (ASSERT): Likewise.
58110         * tests/test-printf-frexp.c (ASSERT): Likewise.
58111         * tests/test-printf-frexpl.c (ASSERT): Likewise.
58112         * tests/test-printf-posix.c (ASSERT): Likewise.
58113         * tests/test-quotearg.c (ASSERT): Likewise.
58114         * tests/test-rbtree_list.c (ASSERT): Likewise.
58115         * tests/test-rbtree_oset.c (ASSERT): Likewise.
58116         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
58117         * tests/test-round1.c (ASSERT): Likewise.
58118         * tests/test-roundf1.c (ASSERT): Likewise.
58119         * tests/test-roundl.c (ASSERT): Likewise.
58120         * tests/test-signbit.c (ASSERT): Likewise.
58121         * tests/test-sleep.c (ASSERT): Likewise.
58122         * tests/test-snprintf-posix.c (ASSERT): Likewise.
58123         * tests/test-snprintf.c (ASSERT): Likewise.
58124         * tests/test-sprintf-posix.c (ASSERT): Likewise.
58125         * tests/test-stat-time.c (ASSERT): Likewise.
58126         * tests/test-strcasestr.c (ASSERT): Likewise.
58127         * tests/test-strerror.c (ASSERT): Likewise.
58128         * tests/test-striconv.c (ASSERT): Likewise.
58129         * tests/test-striconveh.c (ASSERT): Likewise.
58130         * tests/test-striconveha.c (ASSERT): Likewise.
58131         * tests/test-strsignal.c (ASSERT): Likewise.
58132         * tests/test-strstr.c (ASSERT): Likewise.
58133         * tests/test-strtod.c (ASSERT): Likewise.
58134         * tests/test-trunc1.c (ASSERT): Likewise.
58135         * tests/test-trunc2.c (ASSERT): Likewise.
58136         * tests/test-truncf1.c (ASSERT): Likewise.
58137         * tests/test-truncf2.c (ASSERT): Likewise.
58138         * tests/test-truncl.c (ASSERT): Likewise.
58139         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
58140         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
58141         * tests/test-vasnprintf.c (ASSERT): Likewise.
58142         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
58143         * tests/test-vasprintf.c (ASSERT): Likewise.
58144         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
58145         * tests/test-vprintf-posix.c (ASSERT): Likewise.
58146         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
58147         * tests/test-vsnprintf.c (ASSERT): Likewise.
58148         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
58149         * tests/test-wcwidth.c (ASSERT): Likewise.
58150         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
58151         * tests/test-xprintf-posix.c (ASSERT): Likewise.
58152         * tests/test-xvasprintf.c (ASSERT): Likewise.
58153         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
58154         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
58155         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
58156         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
58157         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
58158         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
58159         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
58160         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
58161         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
58162         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
58163         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
58164         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
58165         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
58166         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
58167         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
58168         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
58169         * tests/unictype/test-block_list.c (ASSERT): Likewise.
58170         * tests/unictype/test-block_of.c (ASSERT): Likewise.
58171         * tests/unictype/test-block_test.c (ASSERT): Likewise.
58172         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
58173         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
58174         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
58175         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
58176         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
58177         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
58178         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
58179         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
58180         * tests/unictype/test-combining.c (ASSERT): Likewise.
58181         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
58182         * tests/unictype/test-digit.c (ASSERT): Likewise.
58183         * tests/unictype/test-mirror.c (ASSERT): Likewise.
58184         * tests/unictype/test-numeric.c (ASSERT): Likewise.
58185         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
58186         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
58187         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
58188         * tests/unictype/test-scripts.c (ASSERT): Likewise.
58189         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
58190         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
58191         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
58192         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
58193         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
58194         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
58195         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
58196         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
58197         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
58198         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
58199         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
58200         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
58201         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
58202         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
58203         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
58204         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
58205         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
58206         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
58207         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
58208         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
58209         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
58210         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
58211         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
58212         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
58213         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
58214         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
58215         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
58216         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
58217         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
58218         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
58219         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
58220         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
58221         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
58222         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
58223         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
58224         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
58225         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
58226         Reported by Eric Blake.
58227
58228 2008-04-11  Bruno Haible  <bruno@clisp.org>
58229
58230         * lib/wchar.in.h: Tweak comment.
58231
58232 2008-04-11  Bruno Haible  <bruno@clisp.org>
58233
58234         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
58235         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
58236         gl_COMMON.
58237         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
58238
58239 2008-04-11  Bruno Haible  <bruno@clisp.org>
58240
58241         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
58242
58243 2008-04-11  Simon Josefsson  <simon@josefsson.org>
58244
58245         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
58246         of attempting to use non-existing /dev/*random.  Based on patch
58247         from Adam Strzelecki <ono@java.pl> in
58248         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
58249
58250 2008-04-08  Bruno Haible  <bruno@clisp.org>
58251
58252         Add tentative support for emx+gcc.
58253         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
58254         * lib/fpurge.c (fpurge): Likewise.
58255         * lib/freadable.c (freadable): Likewise.
58256         * lib/freadahead.c (freadahead): Likewise.
58257         * lib/freading.c (freading): Likewise.
58258         * lib/freadptr.c (freadptr): Likewise.
58259         * lib/freadseek.c (freadptrinc): Likewise.
58260         * lib/fseeko.c (rpl_fseeko): Likewise.
58261         * lib/fseterr.c (fseterr): Likewise.
58262         * lib/fwritable.c (fwritable): Likewise.
58263         * lib/fwriting.c (fwriting): Likewise.
58264         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
58265
58266 2008-04-09  Eric Blake  <ebb9@byu.net>
58267
58268         Avoid some autoconf warnings.
58269         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
58270         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
58271         * m4/afs.m4 (gl_AFS): Likewise.
58272         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
58273         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
58274         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58275         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
58276         (gl_INTEGER_TYPE_SUFFIX): Likewise.
58277         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
58278         (AC_CHECK_DECLS_ONCE): Likewise.
58279         Rename file...
58280         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
58281         gnulib-tool requires autoconf 2.59 or better.
58282         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
58283
58284 2008-04-08  Eric Blake  <ebb9@byu.net>
58285
58286         Use 'git describe --match' if present (added in git 1.5.5).
58287         * build-aux/git-version-gen: Limit result to tags that match 'v*'
58288         if possible.
58289
58290 2008-04-08  Bruno Haible  <bruno@clisp.org>
58291
58292         Add tentative support for OpenServer.
58293         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
58294         _ptr, _cnt.
58295         * lib/fpurge.c (fpurge): Likewise.
58296         * lib/freadable.c (freadable): Likewise.
58297         * lib/freadahead.c (freadahead): Likewise.
58298         * lib/freading.c (freading): Likewise.
58299         * lib/freadptr.c (freadptr): Likewise.
58300         * lib/freadseek.c (freadptrinc): Likewise.
58301         * lib/fseeko.c (rpl_fseeko): Likewise.
58302         * lib/fseterr.c (fseterr): Likewise.
58303         * lib/fwritable.c (fwritable): Likewise.
58304         * lib/fwriting.c (fwriting): Likewise.
58305         Reported by Roger Cornelius <rac@tenzing.org> and
58306         Brian K. White <brian@aljex.com>.
58307
58308 2008-04-06  Jim Meyering  <meyering@redhat.com>
58309
58310         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
58311
58312 2008-04-06  Bruno Haible  <bruno@clisp.org>
58313
58314         Avoid possible error with non-ASCII bytes in UTF-8 locales.
58315         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
58316         * tests/test-printf-posix.sh: Likewise.
58317         * tests/test-vfprintf-posix.sh: Likewise.
58318         * tests/test-vprintf-posix.sh: Likewise.
58319         * tests/test-xprintf-posix.sh: Likewise.
58320
58321 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58322
58323         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
58324         hide error from 'ls', needed on OS/2.
58325         Report by Elbert Pol <elbert.pol@gmail.com>.
58326
58327 2008-04-04  Eric Blake  <ebb9@byu.net>
58328
58329         Make test-fseeko.c failures meaningful.
58330         * tests/test-fseeko.c: Print line number on failure.
58331         * tests/test-fseek.c: Likewise.
58332         Reported by Nelson H. F. Beebe.
58333
58334         Improve strtod bug detection check.
58335         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
58336         required for Solaris 10.
58337         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
58338
58339 2008-04-04  Bruno Haible  <bruno@clisp.org>
58340
58341         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
58342         by m4/setenv.m4.
58343
58344 2008-04-03  Eric Blake  <ebb9@byu.net>
58345
58346         Ensure sane .version contents.
58347         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
58348         version string.
58349         * build-aux/git-version-gen: Improve documentation.
58350
58351         Make GNU make output nicer.
58352         * top/GNUmakefile [!_have-Makefile]: Add dependency on
58353         MAKECMDGOALS to enforce message for all command line targets.  Set
58354         srcdir for use in maint.mk.
58355
58356         Another maintainer tweak.
58357         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
58358         a target that regenerates version.
58359
58360 2008-04-03  Jim Meyering  <meyering@redhat.com>
58361
58362         vc-list-files: don't cause coreutils "make po-check" failure
58363         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
58364
58365 2008-04-03  Eric Blake  <ebb9@byu.net>
58366
58367         Allow VPATH usage of vc-list-files.
58368         * build-aux/vc-list-files (scriptversion): Add timestamp.
58369         (options): Add --help, --version, -C.
58370         (CVS): Support installed cvsu.
58371
58372 2008-04-02  Bruno Haible  <bruno@clisp.org>
58373
58374         Avoid some "statement with no effect" warnings from gcc.
58375         * tests/test-wctype.c (main): Explicitly ignore unused values.
58376         Reported by Jim Meyering.
58377
58378 2008-04-02  Jim Meyering  <meyering@redhat.com>
58379
58380         Avoid some warnings from "gcc -Wshadow".
58381         * tests/test-frexp.c (exp): Define to a different identifier.
58382         * tests/test-frexpl.c (exp): Likewise.
58383
58384 2008-04-03  Jim Meyering  <meyering@redhat.com>
58385
58386         bootstrap: remove dangling *.[ch] symlinks from lib
58387         * build-aux/bootstrap [dangling symlink removal]: Move find's
58388         -depth option to precede all others, to avoid a warning.
58389         Remove *.[ch] files too, and from "$source_base" (usually lib/).
58390
58391 2008-04-02  Bruno Haible  <bruno@clisp.org>
58392
58393         Avoid some warnings from "gcc -Wshadow".
58394         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
58395         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
58396         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
58397         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
58398         Reported by Jim Meyering.
58399
58400 2008-04-01  Bruno Haible  <bruno@clisp.org>
58401
58402         Fix test to work on IRIX 6.5 with cc.
58403         * tests/test-math.c (numeric_equal): New function.
58404         (main): Use it.
58405
58406 2008-04-01  Bruno Haible  <bruno@clisp.org>
58407
58408         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
58409
58410 2008-04-01  Bruno Haible  <bruno@clisp.org>
58411
58412         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
58413         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58414         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
58415         (Depends-on): Remove math.
58416
58417         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
58418         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58419         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
58420         (Depends-on): Remove math.
58421
58422         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
58423         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58424         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
58425         (Depends-on): Remove math.
58426         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
58427         (Depends-on): Remove math.
58428
58429         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
58430         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
58431         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
58432         (Depends-on): Remove math.
58433         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
58434         (Depends-on): Remove math.
58435
58436         * tests/test-round1.c: Include nan.h.
58437         (main): Use NaNd instead of NAN.
58438         * modules/round-tests (Files): Add tests/nan.h.
58439
58440         * tests/test-trunc1.c: Include nan.h.
58441         (main): Use NaNd instead of NAN.
58442         * modules/trunc-tests (Files): Add tests/nan.h.
58443
58444         * tests/test-roundf1.c: Include nan.h.
58445         (main): Use NaNf instead of NAN.
58446         * modules/roundf-tests (Files): Add tests/nan.h.
58447
58448         * tests/test-truncf1.c: Include nan.h.
58449         (main): Use NaNf instead of NAN.
58450         * modules/truncf-tests (Files): Add tests/nan.h.
58451
58452         * tests/test-ceilf1.c: Include nan.h.
58453         (main): Use NaNf instead of NAN.
58454         * modules/ceilf-tests (Files): Add tests/nan.h.
58455
58456         * tests/test-floorf1.c: Include nan.h.
58457         (main): Use NaNf instead of NAN.
58458         * modules/floorf-tests (Files): Add tests/nan.h.
58459
58460         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
58461         (main): Use NaNf instead of NAN.
58462         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
58463
58464         * tests/test-isnand.c: Include nan.h instead of <math.h>.
58465         (main): Use NaNd instead of NAN.
58466         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
58467
58468         * tests/test-frexp.c: Include nan.h.
58469         (main): Use NaNd instead of NAN.
58470         * modules/frexp-tests (Files): Add tests/nan.h.
58471
58472         * lib/isnan.c: Don't include <math.h>.
58473         (FUNC): Don't use NAN macro.
58474         * modules/isnand-nolibm (Depends-on): Remove math.
58475         * modules/isnanf-nolibm (Depends-on): Remove math.
58476         * modules/isnanl (Depends-on): Remove math.
58477         * modules/isnanl-nolibm (Depends-on): Remove math.
58478
58479         * tests/nan.h: New file.
58480
58481 2008-04-01  Eric Blake  <ebb9@byu.net>
58482
58483         Fix typos.
58484         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
58485         values to be the right type.
58486
58487         For now, cater to gnulib strtod inaccuracies.
58488         * tests/test-strtod.c (main): Allow 1-ulp error on expected
58489         fractional results.  While not as nice from a QoI perspective, it
58490         is a quicker patch than correctly implementing decimal to binary
58491         rounding.
58492
58493 2008-03-31  Eric Blake  <ebb9@byu.net>
58494
58495         Guarantee a definition of NAN.
58496         * lib/math.in.h (NAN): Define if missing.
58497         * tests/test-math.c (main): Test it.
58498         * doc/posix-headers/math.texi (math.h): Document this.
58499         * lib/isnan.c (rpl_isnand): Use it.
58500         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
58501         * tests/test-floorf1.c (NaN): Likewise.
58502         * tests/test-frexp.c (NaN): Likewise.
58503         * tests/test-isnand.c (NaN): Likewise.
58504         * tests/test-isnanf.c (NaN): Likewise.
58505         * tests/test-round1.c (NaN): Likewise.
58506         * tests/test-roundf1.c (NaN): Likewise.
58507         * tests/test-snprintf-posix.h (NaN): Likewise.
58508         * tests/test-sprintf-posix.h (NaN): Likewise.
58509         * tests/test-trunc1.c (NaN): Likewise.
58510         * tests/test-truncf1.c (NaN): Likewise.
58511         * tests/test-vasnprintf-posix.c (NaN): Likewise.
58512         * tests/test-vasprintf-posix.c (NaN): Likewise.
58513         * modules/isnand-nolibm (Depends-on): Add math.
58514         * modules/isnanf-nolibm (Depends-on): Likewise.
58515         * modules/isnanl (Depends-on): Likewise.
58516         * modules/isnanl-nolibm (Depends-on): Likewise.
58517         * modules/snprintf-posix-tests (Depends-on): Likewise.
58518         * modules/sprintf-posix-tests (Depends-on): Likewise.
58519         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
58520         * modules/vsprintf-posix-tests (Depends-on): Likewise.
58521         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
58522         * modules/vasprintf-posix-tests (Depends-on): Likewise.
58523
58524 2008-03-31  Bruno Haible  <bruno@clisp.org>
58525
58526         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
58527         * doc/posix-functions/strtod.texi: Likewise.
58528
58529 2008-03-31  Bruno Haible  <bruno@clisp.org>
58530
58531         * tests/test-strtod.c (main): Don't use C99 syntax.
58532
58533 2008-03-31  Bruno Haible  <bruno@clisp.org>
58534
58535         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
58536         Reported by Eric Blake.
58537
58538 2008-03-31  Jim Meyering  <meyering@redhat.com>
58539
58540         Don't compare actual signbit return values.
58541         * tests/test-strtod.c (main): Rather, compare only their
58542         zero/non-zero nature.
58543
58544 2008-03-31  Eric Blake  <ebb9@byu.net>
58545
58546         More strtod documentation.
58547         * doc/posix-functions/strtod.texi (strtod): Interpret more test
58548         failures as distinct bugs.
58549
58550 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
58551
58552         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
58553         Problem reported by Erik Benada in
58554         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
58555
58556 2008-03-30  Bruno Haible  <bruno@clisp.org>
58557
58558         * tests/test-strtod.c: Add comments about which assertion fails on which
58559         platform.
58560         * doc/posix-functions/strtod.texi: Add info about many more platforms.
58561
58562 2008-03-30  Eric Blake  <ebb9@byu.net>
58563
58564         Test signbit behavior on zeros.
58565         * tests/test-signbit.c (test_signbitf): Add tests for zero.
58566         (test_signbitd, test_signbitl): Likewise.
58567
58568         More strtod touchups.
58569         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
58570         sign of negative underflow, for now.  Use .5, not .1.
58571         * doc/posix-functions/strtod.texi (strtod): Mention these
58572         limitations.
58573         Reported by Jim Meyering.
58574
58575 2008-03-30  Bruno Haible  <bruno@clisp.org>
58576
58577         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
58578         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
58579
58580 2008-03-30  Bruno Haible  <bruno@clisp.org>
58581
58582         Avoid failure when attempting to return empty iconv results on some
58583         platforms.
58584         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
58585         allocation, don't report ENOMEM when the resulting string is empty.
58586
58587 2008-03-30  Bruno Haible  <bruno@clisp.org>
58588
58589         Fix buffer overrun.
58590         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
58591         Don't consider the width for tmp_length. Check count against tmp_length
58592         before doing the padding. Ensure enough allocation during padding.
58593
58594 2008-03-30  Eric Blake  <ebb9@byu.net>
58595
58596         strtod touchups.
58597         * lib/strtod.c (strtod): Avoid compiler warnings.
58598         Reported by Jim Meyering.
58599
58600 2008-03-30  Bruno Haible  <bruno@clisp.org>
58601
58602         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
58603         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
58604         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
58605         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
58606         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
58607         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
58608         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
58609         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
58610
58611         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
58612         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
58613         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
58614         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
58615         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
58616         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
58617         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
58618         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
58619
58620         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
58621         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
58622         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
58623         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
58624         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
58625         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
58626         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
58627         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
58628
58629         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
58630         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
58631
58632         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
58633         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
58634
58635         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
58636         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
58637
58638         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
58639         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
58640         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
58641
58642         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
58643         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
58644         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
58645
58646         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
58647         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
58648         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
58649
58650         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
58651         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
58652         * modules/vasprintf (Depends-on): Add EOVERFLOW.
58653
58654         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
58655         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
58656         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
58657         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
58658         (Depends-on): Add EOVERFLOW.
58659         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
58660         (Depends-on): Add EOVERFLOW.
58661         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58662         (Depends-on): Add EOVERFLOW.
58663         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
58664         (Depends-on): Add EOVERFLOW.
58665         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58666         (Depends-on): Add EOVERFLOW.
58667         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
58668         (Depends-on): Add EOVERFLOW.
58669         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58670         (Depends-on): Add EOVERFLOW.
58671         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
58672         (Depends-on): Add EOVERFLOW.
58673
58674         * lib/sprintf.c (EOVERFLOW): Remove fallback.
58675         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
58676         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
58677
58678         * lib/snprintf.c (EOVERFLOW): Remove fallback.
58679         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
58680         * modules/snprintf (Depends-on): Add EOVERFLOW.
58681
58682         * lib/poll.c (EOVERFLOW): Remove fallback.
58683         * modules/poll (Depends-on): Add EOVERFLOW.
58684
58685         * lib/getugroups.c (EOVERFLOW): Remove fallback.
58686         * modules/getugroups (Depends-on): Add EOVERFLOW.
58687
58688         * lib/getdelim.c (EOVERFLOW): Remove fallback.
58689         * modules/getdelim (Depends-on): Add EOVERFLOW.
58690
58691         * lib/ftell.c (EOVERFLOW): Remove fallback.
58692         * modules/ftell (Depends-on): Add EOVERFLOW.
58693
58694         * lib/fprintf.c (EOVERFLOW): Remove fallback.
58695         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
58696         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
58697
58698         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
58699
58700         * modules/EOVERFLOW-tests: New file.
58701         * tests/test-EOVERFLOW.c: New file.
58702
58703         * modules/EOVERFLOW: New file.
58704         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
58705
58706 2008-03-30  Bruno Haible  <bruno@clisp.org>
58707
58708         Fix bug introduced on 2007-06-10.
58709         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
58710         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
58711
58712 2008-03-30  Bruno Haible  <bruno@clisp.org>
58713
58714         Improve freadseek's efficiency after ungetc.
58715         * lib/freadseek.c: Include freadahead.h.
58716         (freadptrinc): New function, extracted from freadseek.
58717         (freadseek): Use it in a loop. Use freadahead to determine the number
58718         of loop iterations.
58719         * modules/freadseek (Depends-on): Add freadahead.
58720         (configure.ac): Require AC_C_INLINE.
58721
58722 2008-03-30  Bruno Haible  <bruno@clisp.org>
58723
58724         * lib/freadseek.c (freadseek): Don't ignore the return value of
58725         freadptr.
58726
58727 2008-03-29  Eric Blake  <ebb9@byu.net>
58728
58729         Add hex float support.
58730         * modules/strtod (Depends-on): Add c-ctype.
58731         (Link): Mention POW_LIB.
58732         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
58733         whitespace between 'e' and exponent.
58734         * tests/test-strtod.c (main): Enable hex float tests.
58735         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
58736         now provides.
58737
58738         Document various strtod bugs, with some fixes.
58739         * doc/posix-functions/strtod.texi (strtod): Document bugs with
58740         "-0x", "inf", "nan", and hex constants.
58741         * doc/posix-functions/atof.texi (atof): Likewise.
58742         * modules/stdlib (Makefile.am): Support strtod.
58743         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
58744         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
58745         detect additional strtod bugs.
58746         * lib/stdlib.in.h (rpl_strtod): Add declarations.
58747         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
58748         bool where appropriate.  Parse 'inf' and 'nan'.
58749         * tests/test-strtod.c: New file.
58750         * modules/strtod (Depends-on): Add stdbool, stdlib.
58751         (configure.ac): Turn on module indicator.
58752         * modules/strtod-tests: New module.
58753
58754 2008-03-29  Eric Blake  <ebb9@byu.net>
58755
58756         Fix ftell on mingw.
58757         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
58758         * modules/ftell-tests (Depends-on): Add binary-io.
58759         * modules/ftello-tests (Depends-on): Likewise.
58760         * tests/test-ftell.c (main): Enhance test to cover behavior after
58761         ungetc.  Enforce binary mode.
58762         * tests/test-ftello.c (main): Likewise.
58763
58764         Pass test-freadseek on cygwin.
58765         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
58766         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
58767         ungetc buffer.
58768
58769         * tests/test-fflush2.c (main): Fix typo.
58770
58771 2008-03-29  Bruno Haible  <bruno@clisp.org>
58772
58773         * tests/test-fflush2.c (main): Temporarily disable the contents of
58774         this test.
58775         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
58776         Reported by Eric Blake.
58777
58778 2008-03-28  Simon Josefsson  <simon@josefsson.org>
58779
58780         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
58781         (GC_SHA224_DIGEST_SIZE): Add.
58782
58783         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
58784         (gc_hash_digest_length): Likewise.
58785         (gc_hash_buffer): Likewise.
58786
58787 2008-03-25  Bruno Haible  <bruno@clisp.org>
58788
58789         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
58790         detail which gettext release to use.
58791         Reported by Simon Josefsson.
58792
58793 2008-03-26  Jim Meyering  <meyering@redhat.com>
58794
58795         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
58796         * modules/gnumakefile (clean-GNUmakefile): Also, use
58797         test ... && ... || : syntax rather than if-then ... fi.
58798
58799         gnumakefile: Don't double-quote-expand $(VPATH) value.
58800         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
58801
58802 2008-03-24  Eric Blake  <ebb9@byu.net>
58803
58804         Alter GNUmakefile to install into top directory.
58805         * modules/maintainer-makefile: Split, and add dependency...
58806         * modules/gnumakefile: to this new module.
58807         * build-aux/GNUmakefile: Move...
58808         * top/GNUmakefile: ...here.
58809         * build-aux/maint.mk: Move...
58810         * top/maint.mk: ...here.
58811         * MODULES.html.sh (Support for maintaining...): Document new
58812         module.
58813
58814 2008-03-23  Bruno Haible  <bruno@clisp.org>
58815
58816         * gnulib-tool: New options --vc-files, --no-vc-files.
58817         (func_usage): Document them.
58818         (vc_files): New variable.
58819         (func_import): Consider vc_files.
58820         (func_create_testdir): Set vc_files to empty.
58821         Suggested by Jim Meyering and Karl Berry.
58822
58823 2008-03-23  Bruno Haible  <bruno@clisp.org>
58824
58825         Fix regex compilation error on HP-UX 11.
58826         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
58827         * modules/regex (Files): Add m4/mbstate_t.m4.
58828         Reported by Ton Voon <ton.voon@altinity.com>.
58829
58830 2008-03-23  Bruno Haible  <bruno@clisp.org>
58831
58832         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
58833
58834 2008-03-23  Eric Blake  <ebb9@byu.net>
58835             Bruno Haible  <bruno@clisp.org>
58836
58837         Install files from top/ in the destination directory.
58838         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
58839         augmentation also for the files from top/.
58840         (func_import, func_create_testdir): Rewrite file names:
58841         top/filename -> filename.
58842
58843 2008-03-23  Bruno Haible  <bruno@clisp.org>
58844
58845         Tweak "gnulib --version" output.
58846         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
58847
58848 2008-03-23  Bruno Haible  <bruno@clisp.org>
58849
58850         Tweak "gnulib --version" output.
58851         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
58852         rather than contents of ChangeLog, when possible.
58853
58854 2008-03-21  Eric Blake  <ebb9@byu.net>
58855
58856         More --version tweaks.
58857         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
58858         date of last ChangeLog entry.
58859
58860 2008-03-21  Jim Meyering  <meyering@redhat.com>
58861
58862         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
58863
58864 2008-03-20  Eric Blake  <ebb9@byu.net>
58865
58866         VPATH fix.
58867         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
58868
58869 2008-03-20  Simon Josefsson  <simon@josefsson.org>
58870
58871         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
58872         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
58873
58874 2008-03-20  Eric Blake  <ebb9@byu.net>
58875
58876         Sync GNUmakefile with coreutils.
58877         * build-aux/GNUmakefile (have-Makefile): Rename...
58878         (_have-Makefile): ...to this, for namespace consideration.
58879         (GNUmakefile.cfg): Include, if present.
58880         (_autoreconf): Define a default.
58881         (_is-dist-target): New rule for rebuilds to pick up intra-release
58882         version.
58883         (maint-cfg.mk): Rename...
58884         (cfg.mk): ...to this.
58885
58886 2008-03-18  Jim Meyering  <meyering@redhat.com>
58887
58888         New script and module: mktempd
58889         * MODULES.html.sh (maint+release support): Add mktempd.
58890         * build-aux/mktempd: New file.
58891         * modules/mktempd: New file.
58892
58893 2008-03-15  Jim Meyering  <meyering@redhat.com>
58894
58895         Undo last change.
58896         * lib/sha1.c, lib/md5.c: 63 != ~63.
58897         Reported by Andreas Schwab.
58898
58899         sha1.c, md5.c: Hoist a redundant expression.
58900         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
58901         "ctx->buflen" only once, before calling *_process_block.
58902         * lib/md5.c (md5_process_bytes): Likewise.
58903
58904 2008-03-14  Eric Blake  <ebb9@byu.net>
58905
58906         Bump copyright year in files generated by gnulib-tool.
58907         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
58908         gnulib-tool, rather than hard-coding it.
58909
58910         Fix 'gnulib-tool --version' output to work with git.
58911         * gnulib-tool (func_gnulib_dir): New function, extracted from...
58912         (startup): ...here.
58913         (func_version): Use it to invoke git-version-gen, rather than
58914         relying on CVS keyword expansion.  Modernize wording.
58915         (cvsdatestamp, last_checkin_date, version): Kill unused
58916         variables.
58917
58918 2008-03-12  Jim Meyering  <meyering@redhat.com>
58919
58920         Recognize optional cast of the argument to free.
58921         * build-aux/useless-if-before-free: Update regexps.
58922
58923         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
58924
58925 2008-03-11  Bruno Haible  <bruno@clisp.org>
58926
58927         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
58928         by a single package.
58929         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
58930         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
58931         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
58932         Reported by Sam Steingold <sds@gnu.org>.
58933
58934 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58935
58936         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
58937         repositories.
58938
58939 2008-03-11  Bruno Haible  <bruno@clisp.org>
58940
58941         Avoid conflicts between local macro definitions.
58942         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
58943         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
58944
58945 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
58946             Bruno Haible  <bruno@clisp.org>
58947
58948         Make va_copy work with some version of xlc on AIX 5.1.
58949         * lib/stdarg.in.h: New file.
58950         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
58951         On AIX, use a <stdarg.h> file substitute.
58952         * modules/stdarg (Files): Add lib/stdarg.in.h.
58953         (Depends-on): Add include_next.
58954         (Makefile.am): Build a stdarg.h substitute if requested.
58955         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
58956
58957 2008-03-10  Bruno Haible  <bruno@clisp.org>
58958
58959         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
58960         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
58961         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
58962
58963 2008-03-10  Bruno Haible  <bruno@clisp.org>
58964
58965         * modules/stdlib (Depends-on): Add include_next, remove
58966         absolute-header.
58967
58968 2008-03-09  Bruno Haible  <bruno@clisp.org>
58969
58970         * lib/freadahead.h (freadahead): Document more precisely.
58971         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
58972         the sum of both buffer sizes.
58973         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
58974         * NEWS: Document the change.
58975
58976 2008-03-09  Bruno Haible  <bruno@clisp.org>
58977
58978         Extend freadptr to return also the buffer size.
58979         * lib/freadptr.h (freadptr): Add sizep argument.
58980         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
58981         (freadptr): Add sizep argument. Determine buffer size like freadahead
58982         does.
58983         * tests/test-freadptr.c: Don't include freadahead.h.
58984         (main): Adapt for new calling convention of freadptr.
58985         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
58986         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
58987         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
58988         tests/test-freadptr2.sh.
58989         (Depends): Remove freadahead.
58990         (TESTS): Add test-freadptr2.sh.
58991         (check_PROGRAMS): Add test-freadptr2.
58992
58993 2008-03-09  Bruno Haible  <bruno@clisp.org>
58994
58995         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
58996         Report and solution by Simon Josefsson.
58997
58998 2008-03-06  Bruno Haible  <bruno@clisp.org>
58999
59000         Make fflush after ungetc work on BSD platforms.
59001         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
59002         * tests/test-fflush2.c: New file.
59003         * tests/test-fflush2.sh: New file.
59004         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
59005         tests/test-fflush2.c.
59006         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
59007         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
59008
59009 2008-03-06  Eric Blake  <ebb9@byu.net>
59010
59011         Likewise for ftello.
59012         * modules/ftello (Dependencies): Add extensions.
59013         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
59014
59015 2008-03-06  Bruno Haible  <bruno@clisp.org>
59016
59017         * modules/fseeko (Dependencies): Add extensions.
59018         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
59019         Needed on glibc systems.
59020
59021 2008-03-06  Bruno Haible  <bruno@clisp.org>
59022
59023         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
59024         email address.
59025         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59026
59027 2008-03-06  Bruno Haible  <bruno@clisp.org>
59028
59029         * users.txt: Add libgnupdf.
59030
59031 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
59032
59033         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
59034         (Header File Substitutes, Function Substitutes,
59035         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
59036         (Build robot for gnulib): Fix typo.
59037
59038 2008-03-06  Bruno Haible  <bruno@clisp.org>
59039
59040         * doc/gnulib-tool.texi (VCS Issues): Small updates.
59041         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
59042
59043 2008-03-06  Bruno Haible  <bruno@clisp.org>
59044
59045         * doc/func.texi: New file, extracted from doc/gnulib.texi.
59046         * doc/gnulib.texi: Include it.
59047
59048 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59049
59050         * modules/func (License): Change license to unlimited; there was
59051         no LGPL parts in the module anyway.
59052
59053 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59054
59055         * modules/__func__: Renamed to modules/func.
59056         * modules/__func__-tests: Renamed to modules/func-tests.
59057         * tests/test-__func__.c: Renamed to tests/test-func.c.
59058         * m4/__func__.m4: Renamed to m4/func.m4.
59059         * doc/gnulib.texi (__func__): Section renamed to func.
59060         Suggested by Eric Blake <ebb9@byu.net>.
59061
59062 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59063
59064         * doc/gnulib.texi (__func__): Use C99 terminology when talking
59065         about __func__.  Make example self-contained.  Suggested by Eric
59066         Blake <ebb9@byu.net>.
59067
59068         * tests/test-__func__.c (main): Avoid extraneous () around __func.
59069         Suggested by Eric Blake <ebb9@byu.net>.
59070
59071 2008-03-06  Simon Josefsson  <simon@josefsson.org>
59072
59073         * modules/__func__: New file.
59074         * modules/__func__-tests: New file.
59075         * tests/test-__func__.c: New file.
59076         * m4/__func__.m4: New file.
59077         * doc/gnulib.texi (__func__): Document __func__ module.
59078
59079 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59080
59081         * modules/byteswap (License): Re-license as LGPLv2+.
59082
59083 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59084
59085         * doc/Makefile: Add pdf target.
59086
59087 2008-03-05  Simon Josefsson  <simon@josefsson.org>
59088
59089         * modules/inline (License): Use 'unlimited', since there are only
59090         *.m4 files in this module.
59091
59092 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59093             Bruno Haible  <bruno@clisp.org>
59094
59095         Add support for HP C 7.1 on OpenVMS 8.3.
59096         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
59097
59098 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
59099
59100         Update VMS specifics.
59101         * lib/getopt.c [VMS]: Remove include of unixlib.h.
59102
59103 2008-03-02  Jim Meyering  <meyering@redhat.com>
59104
59105         Remove the last dependency on the "free" module.
59106         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
59107         Reported by Bob Proulx.
59108
59109         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
59110
59111         Remove useless "if" tests before free.  Deprecate "free" module.
59112         * doc/posix-functions/free.texi: Mention that this
59113         module is no longer useful.
59114         * modules/free (Notice): Say this module is obsolete.
59115         * modules/readutmp (Depends-on): Remove free.
59116         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
59117         * lib/putenv.c (putenv): Likewise.
59118         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
59119         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
59120         * tests/test-c-strcasestr.c (main): Likewise.
59121         * tests/test-c-strstr.c (main): Likewise.
59122         * tests/test-mbscasestr1.c (main): Likewise.
59123         * tests/test-mbscasestr2.c (main): Likewise.
59124         * tests/test-mbsstr1.c (main): Likewise.
59125         * tests/test-mbsstr2.c (main): Likewise.
59126         * tests/test-memmem.c (main): Likewise.
59127         * tests/test-strcasestr.c (main): Likewise.
59128         * tests/test-striconv.c (main): Likewise.
59129         * tests/test-striconveh.c (main): Likewise.
59130         * tests/test-striconveha.c (main): Likewise.
59131         * tests/test-strstr.c (main): Likewise.
59132
59133         * build-aux/git-version-gen: Adjust a comment and the Usage string.
59134
59135         bootstrap: sync from coreutils again
59136         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
59137
59138 2008-03-01  Jim Meyering  <meyering@redhat.com>
59139
59140         bootstrap: sync from coreutils
59141         * build-aux/bootstrap (update_po_files): Copy a .po file into place
59142         also when the target doesn't exist.
59143
59144 2008-03-01  Eric Blake  <ebb9@byu.net>
59145
59146         Fix bugs in last patch.
59147         * lib/memchr2.c (memchr2): Fix typo.
59148         * tests/test-memchr2.c: Test previous bug, and don't use GNU
59149         extension.
59150         Reported by Bruce Korb.
59151
59152         New module 'memchr2'.
59153         * modules/memchr2: New file.
59154         * modules/memchr2-tests: Likewise.
59155         * lib/memchr2.h: Likewise.
59156         * lib/memchr2.c: Likewise, based on memchr.c.
59157         * tests/test-memchr2.c: New test.
59158         * MODULES.html.sh (String handling): Add memchr2.
59159
59160 2008-02-29  Bruno Haible  <bruno@clisp.org>
59161
59162         * modules/freadseek-tests: New file.
59163         * tests/test-freadseek.sh: New file.
59164         * tests/test-freadseek.c: New file.
59165
59166         New module 'freadseek'.
59167         * modules/freadseek: New file.
59168         * lib/freadseek.h: New file.
59169         * lib/freadseek.c: New file.
59170         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
59171
59172 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
59173
59174         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
59175         wydawca.
59176
59177         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
59178         program_invocation_name and program_invocation_short_name are
59179         present.
59180
59181 2008-02-28  Bruno Haible  <bruno@clisp.org>
59182
59183         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
59184         * tests/test-freadptr.sh: Also test non-seekable stdin.
59185
59186 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
59187
59188         * build-aux/bootstrap (source_base, m4_base)
59189         (doc_base, tests_base): New variables.
59190         (gnulib_tool_options): Do not hardcode base directories, use
59191         the above variables instead.
59192
59193 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
59194
59195         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
59196
59197 2008-02-28  Bruno Haible  <bruno@clisp.org>
59198
59199         * modules/freadptr-tests: New file.
59200         * tests/test-freadptr.sh: New file.
59201         * tests/test-freadptr.c: New file.
59202
59203         New module 'freadptr'.
59204         * modules/freadptr: New file.
59205         * lib/freadptr.h: New file.
59206         * lib/freadptr.c: New file.
59207         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
59208
59209 2008-02-26  Karl Berry  <karl@freefriends.org>
59210
59211         Sync from Libtool:
59212         * libltdl/argz.c (argz_add, argz_count): New functions.
59213         * libltdl/argz.in.h: Declare them.
59214         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
59215
59216 2008-02-22  Bruno Haible  <bruno@clisp.org>
59217
59218         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
59219         is a pointer type.  Needed for HP-UX 10.
59220         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
59221         * doc/posix-functions/gmtime_r.texi: Likewise.
59222         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
59223
59224 2008-02-24  Bruno Haible  <bruno@clisp.org>
59225
59226         * modules/environ-tests: New file.
59227         * tests/test-environ.c: New file.
59228
59229         New module 'environ'.
59230         * modules/environ: New file.
59231         * lib/unistd.in.h (environ): New declaration.
59232         * m4/environ.m4: New file.
59233         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
59234         after use.
59235         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
59236         HAVE_DECL_ENVIRON.
59237         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
59238         HAVE_DECL_ENVIRON.
59239         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
59240         wrong claim that 'environ' is missing on some systems.
59241         * modules/execute (Depends-on): Add environ.
59242         * lib/execute.c (environ): Remove fallback declaration.
59243         * modules/pipe (Depends-on): Add environ.
59244         * lib/pipe.c (environ): Remove fallback declaration.
59245         * modules/setenv (Depends-on): Add environ.
59246         * lib/setenv.c (environ): Remove fallback declaration.
59247         * modules/unsetenv (Depends-on): Add environ.
59248         * lib/unsetenv.c (environ): Remove fallback declaration.
59249         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
59250         m4/environ.m4.
59251         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
59252         (gl_PREREQ_UNSETENV): Likewise.
59253
59254 2008-02-24  Bruno Haible  <bruno@clisp.org>
59255
59256         * doc/posix-functions/environ.texi: Document the MacOS X problem.
59257
59258 2008-02-20  Bob Proulx  <bob@proulx.com>
59259
59260         Enable use of older two part flavor 'git describe'.
59261         * build-aux/git-version-gen: If using the older two part flavor of
59262         git version then recreate the third part now present in the
59263         newer three part flavor of git describe.
59264
59265 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
59266
59267         * lib/fts.c (fts_build): Typo correction to comment.
59268
59269 2008-02-17  Bruno Haible  <bruno@clisp.org>
59270
59271         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
59272         generating no-op conflicts.
59273
59274 2008-02-17  Bruno Haible  <bruno@clisp.org>
59275
59276         Speed up by 10%.
59277         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
59278         result_entries, rather than an index-based loop.
59279
59280 2008-02-17  Bruno Haible  <bruno@clisp.org>
59281
59282         Speed up by 25%.
59283         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
59284         'hashcode_cached'.
59285         (entry_create): New function.
59286         (entry_hashcode): Use the cached hashcode if possible.
59287         (read_changelog_file, try_split_merged_entry): Use entry_create.
59288
59289 2008-02-17  Bruno Haible  <bruno@clisp.org>
59290
59291         Speed up from O(n^2) to O(n) for long ChangeLog files.
59292         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
59293         (read_changelog_file): Change implementation of entries_reversed list
59294         to rbtreehash.
59295         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
59296
59297 2008-02-17  Bruno Haible  <bruno@clisp.org>
59298
59299         New option --split-merged-entry.
59300         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
59301         (find_paragraph_end, try_split_merged_entry): New functions.
59302         (long_options): Add option --split-merged-entry.
59303         (usage): Document option --split-merged-entry.
59304         (main): Implement option --split-merged-entry.
59305         Reported by Eric Blake.
59306
59307 2008-02-17  Bruno Haible  <bruno@clisp.org>
59308
59309         * lib/git-merge-changelog.c: Include c-strstr.h.
59310         (main): Support the "git pull --rebase" situation.
59311         * modules/git-merge-changelog (Depends-on): Add c-strstr.
59312         Reported by Eric Blake.
59313
59314 2008-02-16  Eric Blake  <ebb9@byu.net>
59315
59316         Avoid doubling \ in common case of "c-maybe" quoting style.
59317         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
59318         eliding outer quotes.
59319         * lib/quotearg.h: Document this.
59320         * tests/test-quotearg.c (result_strings, inputs, results_g)
59321         (flag_results, locale_results): Test it by adding a new string to
59322         each test group.
59323         (compare_strings): Test new string.
59324
59325 2008-02-13  Eric Blake  <ebb9@byu.net>
59326
59327         Avoid trigraph quoting in default output.
59328         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
59329         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
59330         unless explicitly requested.
59331         * tests/test-quotearg.c (flag_results, main): Add additional tests.
59332
59333 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
59334
59335         Don't rely on signed integer overflowing to negative value.
59336         * lib/getugroups.c (getugroups): Include <limits.h>.
59337         Instead, compare against INT_MAX, and increment only if the test passes.
59338
59339 2008-02-13  Jim Meyering  <meyering@redhat.com>
59340         and Eric Blake  <ebb9@byu.net>
59341
59342         Avoid shadowing warning and compile errors on Linux.
59343         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
59344         forwarding macros on Linux.
59345         (dcgettext): Define a stub, for Linux.
59346         (results_g, main): Avoid warnings.
59347
59348 2008-02-12  Eric Blake  <ebb9@byu.net>
59349
59350         Silence warning in last patch.
59351         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
59352
59353         Quotearg part 4: add tests, fix c-maybe colon quoting.
59354         * lib/quotearg.h: Improve documentation.
59355         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
59356         escapes when adding outer quotes.  When quoting trigraphs, use
59357         valid C notation.  When quoting NUL, omit extra characters if next
59358         character is not digit.  Alter prototype.
59359         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
59360         callers.
59361         * modules/quotearg-tests: New module.
59362         * tests/test-quotearg.c: New test.
59363
59364 2008-02-07  Eric Blake  <ebb9@byu.net>
59365
59366         Quotearg part 3: add flag to control outer quote elision.
59367         * lib/quotearg.h (c_maybe_quoting_style): New style.
59368         (enum quoting_flags): Better documentation of flags.
59369         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
59370         c-maybe style.
59371         (quotearg_buffer_restyled): Handle new flag to elide outer
59372         quotes.
59373
59374         Quotearg part 2: add flag that can control NUL elision.
59375         * lib/quotearg.h (set_quoting_flags): New prototype.
59376         * lib/quotearg.c (struct quoting_options): Add flag field.
59377         (set_quoting_flags): New function.
59378         (quotearg_buffer_restyled): Add flags parameter.
59379         (quotearg_alloc_mem): Set the flag if length cannot be returned.
59380         (quotearg_n_options): Set the flag, since length cannot be
59381         returned.
59382         (quoting_options_from_style): Default flags correctly.
59383
59384         Quotearg part 1: more wrappers, restore quotearg_char state.
59385         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
59386         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
59387         (quotearg_colon_mem): New wrappers.
59388         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
59389         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
59390         functions.
59391         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
59392         (quotearg_colon_mem): New functions.
59393
59394 2008-02-11  Bruno Haible  <bruno@clisp.org>
59395
59396         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
59397         library in the current directory: it does not work with parallel make.
59398         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59399
59400 2008-02-11  Bruno Haible  <bruno@clisp.org>
59401
59402         * .gitattributes: New file.
59403
59404 2008-02-11  Jim Meyering  <meyering@redhat.com>
59405
59406         useless-if-before-free: Fix reversed exit values.
59407         * build-aux/useless-if-before-free: Use correct values
59408         for EXIT_MATCH and EXIT_NO_MATCH.
59409
59410         * build-aux/useless-if-before-free: Close stdout carefully.
59411
59412 2008-02-10  Bruno Haible  <bruno@clisp.org>
59413
59414         New module 'git-merge-changelog'.
59415         * modules/git-merge-changelog: New file.
59416         * lib/git-merge-changelog.c: New file.
59417
59418 2008-02-10  Jim Meyering  <meyering@redhat.com>
59419
59420         useless-if-before-free: New option: --list (-l).
59421
59422         useless-if-before-free: Don't exit immediately upon open failure.
59423         * build-aux/useless-if-before-free: Exit 2 for errors.
59424         Upon failure to open a file, don't exit immediately.
59425         Rather, just warn and continue with any remaining files.
59426
59427 2008-02-10  Bruno Haible  <bruno@clisp.org>
59428
59429         New abstract list operation 'node_set_value'.
59430         * lib/gl_list.h (gl_list_node_set_value): New function.
59431         (struct gl_list_implementation): New field node_set_value.
59432         * lib/gl_list.c (gl_list_node_set_value): New function.
59433         * lib/gl_array_list.c (gl_array_node_set_value): New function.
59434         (gl_array_list_implementation): Update.
59435         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
59436         (gl_carray_list_implementation): Update.
59437         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
59438         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
59439         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
59440         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
59441         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
59442         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
59443         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
59444         Update.
59445         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
59446         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
59447         (gl_sublist_list_implementation): Update.
59448
59449 2008-02-10  Bruno Haible  <bruno@clisp.org>
59450
59451         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
59452         Needed when ELEMENT is #defined to 'some_type *'.
59453
59454 2008-02-10  Jim Meyering  <meyering@redhat.com>
59455
59456         New script and module: useless-if-before-free
59457         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
59458         * build-aux/useless-if-before-free: New file.
59459         * modules/useless-if-before-free: New file.
59460
59461         * build-aux/gitlog-to-changelog: Use committer date, not author date.
59462
59463         xstrtol_error: Fix typo.
59464         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
59465         s/exit_failure/exit_status/.
59466
59467 2008-02-09  Jim Meyering  <meyering@redhat.com>
59468
59469         New script and module: gitlog-to-changelog
59470         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
59471         * modules/gitlog-to-changelog: New file.
59472         * build-aux/gitlog-to-changelog: New file.
59473
59474 2008-02-08  Jim Meyering  <meyering@redhat.com>
59475
59476         Avoid two "parameter unused" warnings.
59477         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
59478         Mark "st" as used.
59479
59480         Use "git COMMAND", not "git-COMMAND".
59481         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
59482         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
59483         * build-aux/git-version-gen: Use "git status", not "git-status".
59484
59485 2008-02-07  Bruno Haible  <bruno@clisp.org>
59486
59487         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
59488         Avoids a crash on Windows Vista.
59489         Reported by Adam Strzelecki <ono@java.pl> via
59490         Simon Josefsson <simon@josefsson.org>.
59491
59492 2008-02-06  Bruno Haible  <bruno@clisp.org>
59493
59494         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
59495         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
59496         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
59497         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
59498         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
59499         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
59500         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
59501         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
59502         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
59503         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
59504         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
59505         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
59506         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
59507         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59508         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
59509         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
59510         left-adjust flag.
59511         * tests/test-snprintf-posix.h (test_function): Likewise.
59512         * tests/test-sprintf-posix.h (test_function): Likewise.
59513         * tests/test-vasprintf-posix.c (test_function): Likewise.
59514         * doc/posix-functions/fprintf.texi: Update.
59515         * doc/posix-functions/printf.texi: Update.
59516         * doc/posix-functions/snprintf.texi: Update.
59517         * doc/posix-functions/sprintf.texi: Update.
59518         * doc/posix-functions/vfprintf.texi: Update.
59519         * doc/posix-functions/vprintf.texi: Update.
59520         * doc/posix-functions/vsnprintf.texi: Update.
59521         * doc/posix-functions/vsprintf.texi: Update.
59522         Reported by Peter Fales <psfales@alcatel-lucent.com>.
59523
59524 2008-02-06  Bruno Haible  <bruno@clisp.org>
59525
59526         Fix bug introduced on 2008-01-26.
59527         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
59528
59529 2008-02-06  Bruno Haible  <bruno@clisp.org>
59530
59531         Fix bug introduced on 2007-06-10.
59532         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
59533         !NEED_PRINTF_FLAG_ZERO.
59534
59535 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
59536
59537         getloadavg: use libperfstat on AIX5
59538         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
59539
59540 2008-02-03  Bruno Haible  <bruno@clisp.org>
59541
59542         * lib/diffseq.h: Add comments about required #includes.
59543         Reported by Michael Biggs <gnulib@doubleplum.net>.
59544
59545 2008-02-01  Bruno Haible  <bruno@clisp.org>
59546
59547         * users.txt: Add gnuit.
59548
59549 2008-01-31  Bruno Haible  <bruno@clisp.org>
59550
59551         * lib/md4.c (set_uint32): Mark as inline.
59552         * lib/md5.c (set_uint32): Likewise.
59553         * lib/sha1.c (set_uint32): Likewise.
59554         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
59555         * m4/md5.m4 (gl_MD5): Likewise.
59556         * m4/sha1.m4 (gl_SHA1): Likewise.
59557
59558 2008-01-31  Jim Meyering  <meyering@redhat.com>
59559
59560         Use "sizeof VAR", rather than a literal "4".
59561         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
59562         * lib/md4.c (md4_read_ctx): Likewise.
59563         * lib/sha1.c (sha1_read_ctx): Likewise.
59564
59565 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59566
59567         * tests/test-sha1.c: New file, based on test-md5.c.
59568
59569         * modules/crypto/sha1-tests: New file.
59570
59571 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59572
59573         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
59574
59575 2008-01-31  Jim Meyering  <meyering@redhat.com>
59576
59577         Prefer "sizeof v" over the equivalent "4".
59578         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
59579         * lib/md5.c (set_uint32): Likewise.
59580         * lib/sha1.c (set_uint32): Likewise.
59581
59582 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59583
59584         * lib/sha1.c (set_uint32): Mark function as static.
59585
59586 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59587
59588         md2: clarify comments to say that alignment is not required.
59589         * lib/md2.h: Remove warning about alignment in comment.
59590         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
59591         never been required.
59592
59593 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59594
59595         md4: adapt alignment constraint fix from sha1.
59596         * lib/md4.c (set_uint32): New function, from sha1.c
59597         (md4_read_ctx): Use it.
59598         (md4_finish_ctx): Doc fix.
59599         * lib/md4.h: Doc fix.
59600
59601 2008-01-31  Simon Josefsson  <simon@josefsson.org>
59602
59603         md5: adapt alignment constraint fix from sha1.
59604         * lib/md5.c (set_uint32): New function, from sha1.c
59605         (md5_read_ctx): Use it.
59606         (md5_finish_ctx): Doc fix.
59607         * lib/md5.h: Doc fix.
59608
59609 2008-01-30  Peter Palfrader  <weasel@debian.org>
59610
59611         sha1: remove the result buffer alignment constraint
59612         * lib/sha1.c (set_uint32): New function.
59613         (sha1_read_ctx): Rewrite to remove the result buffer alignment
59614         constraint.
59615         (sha1_finish_ctx): Remove comment warning about alignment constraint.
59616         * lib/sha1.h: Likewise.
59617
59618 2008-01-30  Andreas Schwab  <schwab@suse.de>
59619             Bruno Haible  <bruno@clisp.org>
59620
59621         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
59622         correct definition of LDBL_MIN_EXP.
59623
59624 2008-01-30  Karl Berry  <karl@gnu.org>
59625
59626         * config/srclist-update: try to preserve x bit on updates.
59627         * config/srclistvars.sh: update for karl.
59628
59629 2008-01-29  Jim Meyering  <meyering@redhat.com>
59630
59631         vasnprintf.c: Avoid warning about unused label
59632         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
59633         "overflow" label definition and associated code with the
59634         same cpp condition that guards the sole use of that label.
59635
59636 2008-01-26  Bruno Haible  <bruno@clisp.org>
59637
59638         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
59639         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
59640         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
59641         * lib/isnanl-nolibm.h (isnanl): Likewise.
59642         Reported by Paul Eggert <eggert@cs.ucla.edu>.
59643
59644 2008-01-26  Bruno Haible  <bruno@clisp.org>
59645
59646         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
59647         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
59648
59649 2008-01-26  Bruno Haible  <bruno@clisp.org>
59650
59651         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
59652         GCC >= 4.0 built-in.
59653         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
59654
59655 2008-01-26  Bruno Haible  <bruno@clisp.org>
59656
59657         Rename isnan, applicable to 'double' only, to isnand.
59658         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
59659         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
59660         (configure.ac): Update.
59661         (Include): Replace "isnan.h" with "isnand.h".
59662         * m4/isnand.m4: Renamed from m4/isnan.m4.
59663         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
59664         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
59665         instead of isnan.c.
59666         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
59667         instead of HAVE_ISNAN_IN_LIBC.
59668         (isnand): Renamed from isnan.
59669         * lib/isnand.c: New file.
59670         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
59671         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
59672         (Makefile.am): Update.
59673         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
59674         Include isnand.h instead of isnan.h.
59675         (main): Test isnand instead of isnan.
59676         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
59677         isnan-nolibm.
59678         * modules/frexp (Depends-on): Likewise.
59679         * modules/frexp-tests (Depends-on): Likewise.
59680         * modules/frexp-nolibm (Depends-on): Likewise.
59681         * modules/frexp-nolibm-tests (Depends-on): Likewise.
59682         * modules/isfinite (Depends-on): Likewise.
59683         * modules/round-tests (Depends-on): Likewise.
59684         * modules/signbit (Depends-on): Likewise.
59685         * modules/signbit-tests (Depends-on): Likewise.
59686         * modules/snprintf-posix (Depends-on): Likewise.
59687         * modules/sprintf-posix (Depends-on): Likewise.
59688         * modules/trunc-tests (Depends-on): Likewise.
59689         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
59690         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
59691         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
59692         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
59693         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
59694         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
59695         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
59696         * modules/vasnprintf-posix (Depends-on): Likewise.
59697         * modules/vasprintf-posix (Depends-on): Likewise.
59698         * modules/vfprintf-posix (Depends-on): Likewise.
59699         * modules/vsnprintf-posix (Depends-on): Likewise.
59700         * modules/vsprintf-posix (Depends-on): Likewise.
59701         * lib/frexp.c: Include isnand.h instead of isnan.h.
59702         (ISNAN): Set to isnand instead of isnan.
59703         * lib/isfinite.c: Include isnand.h instead of isnan.h.
59704         (gl_isfinited): Use isnand instead of isnan.
59705         * lib/signbitd.c: Include isnand.h instead of isnan.h.
59706         (gl_signbitd): Use isnand instead of isnan.
59707         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
59708         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
59709         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
59710         (main): Use isnand instead of isnan.
59711         * tests/test-round1.c: Include isnand.h.
59712         (main): Use isnand instead of isnan.
59713         * tests/test-round2.c: Include isnand.h instead of isnan.h.
59714         (ISNAN): Set to isnand instead of isnan.
59715         * tests/test-trunc1.c: Include isnand.h.
59716         (main): Use isnand instead of isnan.
59717         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
59718         (equal): Use isnand instead of isnan.
59719         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
59720         isnand-nolibm.
59721         * NEWS: Mention the change.
59722
59723 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
59724             Bruno Haible  <bruno@clisp.org>
59725
59726         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
59727         the GCC builtins for signbits are present and set
59728         REPLACE_SIGNBIT_USING_GCC if so.
59729         * lib/math.in.h (signbit): Define using GCC builtins if
59730         REPLACE_SIGNBIT_USING_GCC is set.
59731         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
59732         REPLACE_SIGNBIT_USING_GCC.
59733         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
59734
59735 2008-01-25  Jim Meyering  <meyering@redhat.com>
59736
59737         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
59738         * lib/poll.c: Include <config.h>, not "config.h".
59739         * tests/test-getaddrinfo.c: Likewise.
59740
59741 2008-01-25  Simon Josefsson  <simon@josefsson.org>
59742
59743         * modules/sockets-tests: New file.
59744
59745 2008-01-24  Simon Josefsson  <simon@josefsson.org>
59746
59747         * modules/sockets: New module, can be used to call WSA_Startup and
59748         WSA_Cleanup when needed.
59749
59750         * lib/sockets.h, lib/sockets.c: New files.
59751
59752         * m4/sockets.m4: New file.
59753
59754         * tests/test-sockets.c: New file.
59755
59756 2008-01-19  Bruno Haible  <bruno@clisp.org>
59757
59758         * doc/posix-headers: Renamed from doc/headers.
59759         * doc/posix-functions: Renamed from doc/functions.
59760         * doc/gnulib.texi: Update.
59761
59762 2008-01-19  Bruno Haible  <bruno@clisp.org>
59763
59764         * doc/glibc-functions/strcasestr.texi: Include contents of
59765         doc/functions/strcasestr.texi, fixing the list of platforms.
59766         * doc/functions/strcasestr.texi: Remove file.
59767
59768 2008-01-19  Bruno Haible  <bruno@clisp.org>
59769
59770         * doc/glibc-functions/memmem.texi: Include contents of
59771         doc/functions/memmem.texi.
59772         * doc/functions/memmem.texi: Remove file.
59773
59774 2008-01-18  Bruno Haible  <bruno@clisp.org>
59775
59776         * doc/glibc-functions/*.texi: New files.
59777         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
59778         to use the new files.
59779
59780 2008-01-17  Bruno Haible  <bruno@clisp.org>
59781
59782         * tests/test-gethostname.c (main): Fix printf statement.
59783
59784 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59785
59786         * modules/gethostname-tests: New file.
59787
59788         * tests/test-gethostname.c: New file.
59789
59790 2008-01-17  Simon Josefsson  <simon@josefsson.org>
59791
59792         * lib/gethostname.c: Include string.h unconditionally, strncpy is
59793         used by the UNAME case.  Reported by Bruno Haible
59794         <bruno@clisp.org>.
59795
59796 2008-01-17  Eric Blake  <ebb9@byu.net>
59797
59798         Convert c-strcasestr to be more efficient.
59799         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
59800         (Depends-on): Add c-strcase, remove malloca, strnlen.
59801         * tests/test-c-strcasestr.c (main): Enhance test.
59802         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
59803
59804 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
59805
59806         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
59807         Use it in creating po/Makevars.
59808
59809 2008-01-15  Simon Josefsson  <simon@josefsson.org>
59810
59811         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
59812         Applications that requires it should initialize libgcrypt
59813         manually.
59814
59815 2008-01-16  Simon Josefsson  <simon@josefsson.org>
59816
59817         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
59818
59819 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
59820
59821         Fix problem with getdate on mingw32 reported by Simon Josefsson
59822         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
59823         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
59824         tzname", when deciding whether to declare tzname.
59825         * lib/strftime.c (tzname): Likewise.
59826
59827 2008-01-15  Bruno Haible  <bruno@clisp.org>
59828
59829         Work around a MacOS X 10.5 bug in frexpl().
59830         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
59831         * doc/functions/frexpl.texi: Document the bug.
59832         Reported by Elias Pipping <pipping@gentoo.org>.
59833
59834 2008-01-14  Eric Blake  <ebb9@byu.net>
59835
59836         Touch up previous patch.
59837         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
59838         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
59839
59840         Convert strcasestr module to use Two-Way algorithm.
59841         * modules/strcasestr-simple: New module, based on the old
59842         strcasestr, but with Two-Way rather than KMP.
59843         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
59844         * lib/string.in.h (rpl_strcasestr): Declare.
59845         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
59846         performance.
59847         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
59848         * modules/string (Makefile.am): Support strcasestr.
59849         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
59850         * modules/strcasestr-tests (Depends-on): Check for alarm.
59851         * tests/test-strcasestr.c: Augment test.
59852         * lib/str-two-way.h: Clean up stray macro.
59853         * NEWS: Document new module.
59854         * MODULES.html.sh (string handling): Likewise.
59855         * doc/functions/strcasestr.texi: New file.
59856         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
59857         here, since it is not a POSIX function.
59858
59859 2008-01-14  Colin Watson  <cjwatson@debian.org>
59860             Bruno Haible  <bruno@clisp.org>
59861
59862         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
59863         works fine; if not, set REPLACE_STRSIGNAL.
59864         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
59865         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59866         REPLACE_STRSIGNAL.
59867         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
59868         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
59869         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
59870
59871 2008-01-14  Bruno Haible  <bruno@clisp.org>
59872
59873         * modules/strsignal (Include): Change to <string.h>.
59874
59875 2008-01-14  Colin Watson  <cjwatson@debian.org>
59876
59877         * modules/argp (Notice): Add a notice recommending to change
59878         XGETTEXT_OPTIONS.
59879         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
59880
59881 2008-01-13  Colin Watson  <cjwatson@debian.org>
59882
59883         * modules/strsignal-tests: New file.
59884         * tests/test-strsignal.c: New file.
59885
59886         * lib/strsignal.c: New file, from glibc with modifications.
59887         * lib/siglist.h: New file, from glibc with modifications.
59888         * lib/string.in.h (strsignal): New declaration.
59889         * m4/strsignal.m4: New file.
59890         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
59891         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
59892         * modules/strsignal: New file.
59893         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
59894         HAVE_DECL_STRSIGNAL.
59895
59896 2008-01-13  Bruno Haible  <bruno@clisp.org>
59897
59898         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
59899         locale encoding is not ASCII. Needed for OpenBSD 4.0.
59900         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59901         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59902
59903 2008-01-13  Bruno Haible  <bruno@clisp.org>
59904
59905         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
59906         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
59907         * lib/argp.h (__attribute__): Likewise.
59908         * lib/c-stack.c (__attribute__): Likewise.
59909         * lib/error.h (__attribute__): Likewise.
59910         * lib/fts.c (__attribute__): Likewise.
59911         * lib/openat.h (__attribute__): Likewise.
59912         * lib/stdio.in.h (__attribute__): Likewise.
59913         * lib/string.in.h (__attribute__): Likewise.
59914         * lib/utimens.c (__attribute__): Likewise.
59915         * lib/vasnprintf.h (__attribute__): Likewise.
59916         * lib/xalloc.h (__attribute__): Likewise.
59917         * lib/xprintf.h (__attribute__): Likewise.
59918         * lib/xstrtol.h (__attribute__): Likewise.
59919         * lib/xvasprintf.h (__attribute__): Likewise.
59920
59921 2008-01-12  Bruno Haible  <bruno@clisp.org>
59922
59923         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
59924         * doc/glibc-headers/a.out.texi: New file.
59925         * doc/glibc-headers/aliases.texi: New file.
59926         * doc/glibc-headers/alloca.texi: New file.
59927         * doc/glibc-headers/ar.texi: New file.
59928         * doc/glibc-headers/argp.texi: New file.
59929         * doc/glibc-headers/argz.texi: New file.
59930         * doc/glibc-headers/byteswap.texi: New file.
59931         * doc/glibc-headers/crypt.texi: New file.
59932         * doc/glibc-headers/endian.texi: New file.
59933         * doc/glibc-headers/envz.texi: New file.
59934         * doc/glibc-headers/err.texi: New file.
59935         * doc/glibc-headers/error.texi: New file.
59936         * doc/glibc-headers/execinfo.texi: New file.
59937         * doc/glibc-headers/fpu_control.texi: New file.
59938         * doc/glibc-headers/fstab.texi: New file.
59939         * doc/glibc-headers/fts.texi: New file.
59940         * doc/glibc-headers/getopt.texi: New file.
59941         * doc/glibc-headers/ieee754.texi: New file.
59942         * doc/glibc-headers/ifaddrs.texi: New file.
59943         * doc/glibc-headers/libintl.texi: New file.
59944         * doc/glibc-headers/mcheck.texi: New file.
59945         * doc/glibc-headers/mntent.texi: New file.
59946         * doc/glibc-headers/obstack.texi: New file.
59947         * doc/glibc-headers/paths.texi: New file.
59948         * doc/glibc-headers/printf.texi: New file.
59949         * doc/glibc-headers/pty.texi: New file.
59950         * doc/glibc-headers/resolv.texi: New file.
59951         * doc/glibc-headers/shadow.texi: New file.
59952         * doc/glibc-headers/sysexits.texi: New file.
59953         * doc/glibc-headers/ttyent.texi: New file.
59954
59955 2008-01-12  Jim Meyering  <meyering@redhat.com>
59956
59957         announce-gen: emit Gnulib's git-based version string.
59958         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
59959         New option --gnulib-version=V, where V is expected to be
59960         the output of running git describe in the gnulib directory.
59961         (get_tool_versions): Request feedback on xdelta.  I suspect it's
59962         not useful, and plan to stop publishing an xdelta file with each
59963         coreutils release.
59964
59965         * build-aux/announce-gen: Also check for lzma-compressed files.
59966
59967 2008-01-11  Bruno Haible  <bruno@clisp.org>
59968
59969         * tests/test-memmem.c (main): Increase maximum allowed time.
59970         * tests/test-strstr.c (main): Likewise.
59971
59972 2008-01-11  Bruno Haible  <bruno@clisp.org>
59973
59974         * doc/functions/memmem.texi: Add more precisions about platforms.
59975         * doc/functions/strstr.texi: Likewise.
59976
59977 2008-01-10  Eric Blake  <ebb9@byu.net>
59978
59979         * m4/strstr.m4: Delete cruft from copy-n-paste.
59980         Reported by Bruno Haible.
59981
59982 2008-01-10  Bruno Haible  <bruno@clisp.org>
59983
59984         Make c-strstr rely on strstr.
59985         * lib/c-strstr.c: Don't include str-kmp.h.
59986         (c_strstr): Define in terms of strstr.
59987         * modules/c-strstr (Files): Remove lib/str-kmp.h.
59988         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
59989
59990 2008-01-10  Bruno Haible  <bruno@clisp.org>
59991
59992         * doc/gnulib.texi (String Functions in C Locale): New section.
59993         * doc/c-ctype.texi: New file.
59994         * doc/c-strcase.texi: New file.
59995         * doc/c-strcaseeq.texi: New file.
59996         * doc/c-strcasestr.texi: New file.
59997         * doc/c-strstr.texi: New file.
59998         * doc/c-strtod.texi: New file.
59999         * doc/c-strtold.texi: New file.
60000
60001 2008-01-10  Eric Blake  <ebb9@byu.net>
60002
60003         * lib/relocatable.h: Fix a comment.
60004
60005 2008-01-10  Eric Blake  <ebb9@byu.net>
60006
60007         Share two-way algorithm.
60008         * lib/str-two-way.h: New file, merged from...
60009         * lib/memmem.c: ...here...
60010         * lib/strstr.c: ...and here.
60011         * modules/memmem (Files): Use it.
60012         * modules/strstr (Files): Likewise.
60013
60014         Avoid quadratic strstr implementations.
60015         * lib/strstr.c: New file.
60016         * m4/strstr.m4: Likewise.
60017         * modules/strstr: Likewise.
60018         * modules/strstr-tests: Likewise.
60019         * tests/test-strstr.c: Likewise.
60020         * lib/string.in.h (rpl_strstr): Declare.
60021         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
60022         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
60023         * modules/string (Makefile.am): Likewise.
60024         * MODULES.html.sh (string handling): Mention new module.
60025         * doc/functions/strstr.texi (strstr): Document the bug.
60026
60027 2008-01-10  Bruno Haible  <bruno@clisp.org>
60028
60029         * lib/relocatable.h (relocate): State whether result is freshly
60030         allocated or not.
60031         * lib/relocatable.c (relocate): Return a freshly allocated string
60032         instead of a pointer to a privately held string.
60033         Reported by Sylvain Beucler <beuc@gnu.org>.
60034
60035 2008-01-10  Colin Watson  <cjwatson@debian.org>
60036
60037         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
60038         s/S_ISNLK/S_ISLNK/.
60039
60040 2008-01-09  Bruno Haible  <bruno@clisp.org>
60041
60042         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
60043         and other files.
60044         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
60045         if it's only a guess.
60046         * modules/memmem: Simplify by depending on memmem-simple.
60047
60048 2008-01-09  Bruno Haible  <bruno@clisp.org>
60049
60050         Work around OpenBSD 4.0 tdelete() bug.
60051         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
60052         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
60053         macros and don't redefine the enum values.
60054         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
60055         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
60056         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
60057
60058 2008-01-09  Bruno Haible  <bruno@clisp.org>
60059
60060         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
60061         (main): Don't perform the tests if setlocale did not install a UTF-8
60062         locale. Needed on OpenBSD 4.0.
60063         * modules/wcwidth-tests (Depends-on): Add localcharset.
60064
60065 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
60066
60067         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
60068         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
60069         * NEWS: announce this.
60070         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
60071
60072 2008-01-09  Simon Josefsson  <simon@josefsson.org>
60073         and Eric Blake  <ebb9@byu.net>
60074
60075         Add memmem-simple module.
60076         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
60077         (gl_FUNC_MEMMEM): Separate performance from presence checks.
60078         * modules/memmem-simple: New file.
60079         * modules/memmem (Description): Tweak.
60080         * MODULES.html.sh (string handling): Mention new module.
60081         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
60082         addressed by memmem-simple.
60083         * NEWS: Document the difference.
60084
60085 2008-01-09  Eric Blake  <ebb9@byu.net>
60086
60087         Give gcc some memmem optimization hints.
60088         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
60089         (strcasestr): Declare as pure.
60090         * modules/memmem (Maintainer): Claim my implementation.
60091
60092 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60093
60094         Support AIX 6.1 and higher.
60095         * build-aux/config.libpath: Likewise.
60096         * build-aux/config.rpath: Likewise.
60097
60098 2008-01-08  Jim Meyering  <meyering@redhat.com>
60099             Bruno Haible  <bruno@clisp.org>
60100
60101         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
60102         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
60103         Reported by Peter Fales in
60104         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
60105
60106 2008-01-08  Bruno Haible  <bruno@clisp.org>
60107
60108         * modules/unictype/category-of (Depends-on): Add
60109         unictype/category-none.
60110         * modules/unictype/category-and-tests (Depends-on): Add
60111         unictype/category-{L,N,Lu,Nd}.
60112         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
60113         * modules/unictype/category-or-tests (Depends-on): Add
60114         unictype/category-{L,N}.
60115         * modules/unictype/category-name-tests (Depends-on): Add
60116         unictype/category-{Z,Nl}.
60117         Reported by Simon Josefsson.
60118
60119 2008-01-08  Bruno Haible  <bruno@clisp.org>
60120
60121         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
60122         convention better.
60123         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
60124         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
60125         Reported by Peter Miller <millerp@canb.auug.org.au>.
60126
60127 2008-01-08  Eric Blake  <ebb9@byu.net>
60128
60129         Rewrite memmem to guarantee linear complexity without malloc.
60130         * lib/memmem.c (memmem): Use Two-Way rather than
60131         Knuth-Morris-Pratt, to allow O(1) space usage.
60132         (critical_factorization, two_way_short_needle)
60133         (two_way_long_needle): New functions.
60134         (knuth_morris_pratt): Delete.
60135         * modules/memmem (Depends-on): No longer need malloca or stdbool.
60136         Add stdint.
60137         * tests/test-memmem.c (main): Add tests for periodic needle and
60138         sublinear performance.
60139         * doc/functions/memmem.texi (memmem): Document other deficiencies
60140         in cygwin and older glibc.
60141
60142 2008-01-08  Bruno Haible  <bruno@clisp.org>
60143
60144         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
60145         augmentation.
60146
60147 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
60148
60149         Add a configure time option: --disable-acl.
60150         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
60151         AC_ARG_ENABLE(acl).
60152
60153 2008-01-06  Simon Josefsson  <simon@josefsson.org>
60154
60155         * tests/test-localename.c: Don't include obsolete "setenv.h".
60156
60157         * modules/localename-tests (Depends-on): Need unsetenv.
60158
60159 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60160
60161         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
60162
60163 2008-01-06  Colin Watson  <cjwatson@debian.org>
60164
60165         * users.txt: Add man-db.
60166
60167 2008-01-07  Bruno Haible  <bruno@clisp.org>
60168
60169         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
60170         previous section name.
60171
60172 2008-01-07  Bruno Haible  <bruno@clisp.org>
60173
60174         * lib/progname.c (set_program_name): Don't strip off a leading
60175         "lt-" prefix outside a .libs directory.
60176         Suggested by Paul Eggert.
60177
60178 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
60179             Bruno Haible  <bruno@clisp.org>
60180
60181         Improve memory cleanup in 'relocatable' module.
60182         * lib/relocatable.h (compute_curr_prefix): Change return type to
60183         'char *'.
60184         * lib/relocatable.c (compute_curr_prefix): Change return type to
60185         'char *'. Free curr_installdir after use.
60186         (relocate): Free curr_prefix_better after use.
60187         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
60188
60189 2008-01-01  Bruno Haible  <bruno@clisp.org>
60190
60191         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
60192         failure on older glibc systems.
60193         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60194
60195 2008-01-05  Eric Blake  <ebb9@byu.net>
60196
60197         Avoid quadratic system memmem.
60198         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
60199         Reported by Ralf Wildenhues.
60200
60201         Fix memmem test for mingw.
60202         * modules/memmem-tests (configure.ac): Check for alarm.
60203         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
60204         it.
60205         * doc/functions/memmem.texi: New file.
60206         * doc/gnulib.texi (Function Substitutes): Add memmem.
60207         Reported by Bruno Haible.
60208
60209 2008-01-04  Bruno Haible  <bruno@clisp.org>
60210
60211         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
60212         Require gl_HEADER_STRINGS_H_DEFAULTS, not
60213         gl_HEADER_STRING_H_DEFAULTS.
60214
60215 2008-01-04  Eric Blake  <ebb9@byu.net>
60216
60217         Shorten duration of memmem test.
60218         * tests/test-memmem.c (main): Use alarm to declare failure if test
60219         is taking too long.
60220         Reported by Ralf Wildenhues.
60221
60222 2007-12-21  Simon Josefsson  <simon@josefsson.org>
60223
60224         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
60225         string, needed by strerror.
60226
60227 2008-01-03  Colin Watson  <cjwatson@debian.org>
60228             Bruno Haible  <bruno@clisp.org>
60229
60230         * doc/gnulib-tool.texi (Localization): New section.
60231
60232 2008-01-02  Bruno Haible  <bruno@clisp.org>
60233
60234         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
60235         variables to 'unsigned char *' type.
60236         Reported by Paul Eggert.
60237
60238 2008-01-02  Jim Meyering  <jim@meyering.net>
60239
60240         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
60241
60242 2007-12-31  Jim Meyering  <jim@meyering.net>
60243
60244         Avoid use of private FTS type name.
60245         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
60246
60247 2007-12-30  Karl Berry  <karl@gnu.org>
60248
60249         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
60250         work around defect in Texinfo and/or the standalone Info browser.
60251
60252 2007-12-30  Bruno Haible  <bruno@clisp.org>
60253
60254         Unify 5 copies of the KMP code.
60255         * lib/str-kmp.h: New file.
60256         * lib/c-strcasestr.c: Include str-kmp.h.
60257         (knuth_morris_pratt): Remove function.
60258         (c_strcasestr): Update.
60259         * lib/c-strstr.c: Include str-kmp.h.
60260         (knuth_morris_pratt): Remove function.
60261         (c_strcasestr): Update.
60262         * lib/mbscasestr.c: Include str-kmp.h.
60263         (knuth_morris_pratt_unibyte): Remove function.
60264         * lib/mbsstr.c: Include str-kmp.h.
60265         (knuth_morris_pratt_unibyte): Remove function.
60266         * lib/strcasestr.c: Include str-kmp.h.
60267         (knuth_morris_pratt): Remove function.
60268         (strcasestr): Update.
60269         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
60270         * modules/c-strstr (Files): Likewise.
60271         * modules/mbscasestr (Files): Likewise.
60272         * modules/mbsstr (Files): Likewise.
60273         * modules/strcasestr (Files): Likewise.
60274         Suggested by Paul Eggert.
60275
60276 2007-12-30  Bruno Haible  <bruno@clisp.org>
60277
60278         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
60279         defined.
60280
60281 2007-12-30  Bruno Haible  <bruno@clisp.org>
60282
60283         * lib/xmalloca.h: Include xalloc.h.
60284         (xnmalloca): New macro.
60285
60286 2007-12-30  Bruno Haible  <bruno@clisp.org>
60287
60288         * lib/malloca.h (nmalloca): New macro.
60289         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
60290         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
60291         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
60292         knuth_morris_pratt_multibyte): Likewise.
60293         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
60294         knuth_morris_pratt_multibyte): Likewise.
60295         * lib/memmem.c (knuth_morris_pratt): Likewise.
60296         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
60297
60298 2007-12-25  Bruno Haible  <bruno@clisp.org>
60299
60300         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
60301         * lib/glob.c: Don't include openat.h.
60302         (link_exists2_p): Add back the code that deals with the
60303         !GLOB_ALTDIRFUNC case.
60304         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
60305         let it do the filename concatenation.
60306         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
60307         * modules/glob (Depends-on): Remove openat.
60308
60309 2007-12-31  Bruno Haible  <bruno@clisp.org>
60310
60311         * modules/dirfd (License): Change to LGPLv2+.
60312         Approved by Jim Meyering.
60313
60314 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
60315
60316         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
60317         when multiplying M by sizeof (size_t).
60318
60319 2007-12-10  Martin Lambers  <marlam@marlam.de>
60320
60321         Override getpagesize on mingw.
60322         * lib/getpagesize.c: New file.
60323         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
60324         * modules/getpagesize (Files): Add lib/getpagesize.c.
60325         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
60326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
60327         REPLACE_GETPAGESIZE.
60328         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
60329
60330 2007-12-25  Bruno Haible  <bruno@clisp.org>
60331
60332         * modules/localcharset (Notice): New field.
60333         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
60334         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
60335
60336 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
60337             Bruno Haible  <bruno@clisp.org>
60338
60339         Avoid using the syntax symbol() in formatted documentation.
60340         * MODULES.html.sh (func_module): When replacing symbol() with a
60341         hyperlink, remove the parentheses. Show an error if some remain.
60342         Recognize and render the '...' syntax.
60343         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
60344         Rework. Add paragraph about GCC's inlining.
60345         * doc/alloca.texi: Likewise.
60346         * doc/error.texi: Remove parentheses from symbol reference.
60347         * doc/gnulib-intro.texi: Likewise.
60348         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
60349         * modules/fnmatch (Description): Reword to say "the ... function".
60350         * modules/full-read (Description): Likewise.
60351         * modules/full-write (Description): Likewise.
60352         * modules/safe-read (Description): Likewise.
60353         * modules/safe-write (Description): Likewise.
60354         * modules/strchrnul (Description): Likewise.
60355         * modules/trim (Description): Likewise.
60356         * modules/error (Description): Remove parentheses from symbol
60357         references.
60358         * modules/verror (Description): Likewise.
60359         Reported by Karl Berry.
60360
60361 2007-12-25  Bruno Haible  <bruno@clisp.org>
60362
60363         Fixup after 2007-10-16 commit.
60364         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
60365
60366 2007-12-24  Bruno Haible  <bruno@clisp.org>
60367
60368         Make --enable-relocatable work with DESTDIR.
60369         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
60370         to compute installdir from destprog.
60371         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
60372         also set the RELOC_DESTDIR variable.
60373         Reported by Левашев Иван <octagram@bluebottle.com>.
60374
60375 2007-12-24  Bruno Haible  <bruno@clisp.org>
60376
60377         Fix link error due to xalloc_die().
60378         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
60379         of xreadlink.
60380         * lib/relocwrapper.c: Update comments.
60381         * build-aux/install-reloc: Remove xreadlink.c from file list.
60382         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
60383         xreadlink.c.
60384         Reported by Левашев Иван <octagram@bluebottle.com>.
60385
60386 2007-12-24  Bruno Haible  <bruno@clisp.org>
60387
60388         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
60389         * lib/setenv.h: Remove file.
60390         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
60391         lib/setenv.h.
60392         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
60393         (Depends-on): Add stdlib.
60394         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
60395         gl_FUNC_UNSETENV.
60396         (Include): Replace setenv.h with <stdlib.h>.
60397         * modules/unsetenv: New file.
60398         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
60399         * lib/unsetenv.c: Include <stdlib.h> first.
60400         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
60401         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
60402         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
60403         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
60404         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
60405         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
60407         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
60408         * doc/functions/unsetenv.texi: Update.
60409         * modules/xsetenv (Depends-on): Add unsetenv.
60410         * modules/getdate (Depends-on): Likewise.
60411         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
60412         * lib/xsetenv.c: Don't include setenv.h.
60413         * lib/getdate.y: Likewise.
60414         * lib/relocwrapper.c: Likewise.
60415         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
60416         (Depends-on): Add stdlib.
60417         * NEWS: Mention the changes.
60418         Reported by Левашев Иван <octagram@bluebottle.com>.
60419
60420 2007-12-23  Bruno Haible  <bruno@clisp.org>
60421
60422         * lib/memmem.c (memmem): Use lowercase variable names. Tab
60423         indentation.
60424
60425 2007-12-23  Bruno Haible  <bruno@clisp.org>
60426
60427         * lib/c-strcasestr.c: Add more comments.
60428         * lib/c-strstr.c: Likewise.
60429         * lib/mbscasestr.c: Likewise.
60430         * lib/mbsstr.c: Likewise.
60431         * lib/strcasestr.c: Likewise.
60432         * lib/memmem.c: Likewise.
60433
60434 2007-12-23  Bruno Haible  <bruno@clisp.org>
60435
60436         * tests/test-memmem.c: Include <string.h> first.
60437
60438 2007-12-22  Bruno Haible  <bruno@clisp.org>
60439
60440         * gnulib-tool (func_create_testdir): Change $auxdir while generating
60441         the contents of $testsbase.
60442         Reported by Ralf Wildenhues.
60443
60444 2007-12-22  Bruno Haible  <bruno@clisp.org>
60445
60446         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
60447         two variables local_ldadd_before, local_ldadd_last.
60448
60449 2007-12-20  Eric Blake  <ebb9@byu.net>
60450
60451         Work around circular library issue when cross-compiling.
60452         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
60453         that progname.o does not need to pull in rpl_memcmp.
60454
60455 2007-12-19  Eric Blake  <ebb9@byu.net>
60456
60457         Fix memmem to avoid O(n^2) worst-case complexity.
60458         * lib/memmem.c (knuth_morris_pratt): New function.
60459         (memmem): Use it if first few naive iterations fail.
60460         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
60461         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
60462         * modules/memchr (License): Likewise.
60463         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
60464         malloca.
60465         * tests/test-memmem.c: Rewrite, borrowing ideas from
60466         test-mbsstr1.c; the old version wouldn't even compile!
60467         * modules/memmem-tests: New file.
60468         * lib/string.in.h (rpl_memmem): Add declaration.
60469         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
60470         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
60471         REPLACE_MEMMEM.
60472
60473 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
60474
60475         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
60476         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
60477         before any system include files, and undef after them all.  This
60478         should fix a problem on VMS reported by John E. Malmberg in
60479         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
60480
60481 2007-12-17  Eric Blake  <ebb9@byu.net>
60482
60483         Revert addition of verify, for BSD/OS.
60484         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
60485         can't handle large files, for the sake of obsolete platforms.
60486         * modules/fseeko (Depends-on): Remove verify.
60487         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
60488         * doc/functions/ftello.texi (ftello): Likewise.
60489         * doc/functions/fgetpos.texi (fgetpos): Likewise.
60490         Reported by Larry Jones.
60491
60492 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
60493
60494         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
60495         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
60496
60497 2007-12-17  Jim Meyering  <meyering@redhat.com>
60498
60499         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
60500         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
60501         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
60502         * modules/getcwd (Depends-on): Add openat.
60503         Reported by Petr Salinger.
60504
60505 2007-12-17  Bruno Haible  <bruno@clisp.org>
60506
60507         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
60508         avoid a segmentation fault of the configure test on x86_64 systems.
60509
60510 2007-12-15  Jim Meyering  <meyering@redhat.com>
60511
60512         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
60513
60514 2007-12-13  Eric Blake  <ebb9@byu.net>
60515
60516         Another fseek test.
60517         * tests/test-fseek.c (main): Also test ungetc handling.
60518         * tests/test-fseeko.c (main): Likewise.
60519         * modules/fseeko (Depends-on): Add verify.
60520         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
60521         large.
60522         Reported by Larry Jones.
60523
60524         Fix fseeko on mingw.
60525         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
60526         seek.
60527
60528         Beef up fseek tests.
60529         * tests/test-fseek.c (main): Also test eof handling.
60530         * tests/test-fseeko.c (main): Likewise.
60531         Reported by Larry Jones.
60532
60533 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
60534
60535         Fix fseeko on BSD-based platforms.
60536         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
60537         successful seek.
60538
60539 2007-12-12  Eric Blake  <ebb9@byu.net>
60540
60541         Allow circular dependency of separate libtests.a
60542         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
60543         when use_libtests.
60544
60545 2007-12-11  Eric Blake  <ebb9@byu.net>
60546
60547         Fix bug with -0.0L in previous patch.
60548         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
60549         * tests/test-isnan.c (main): Also test on zeroes.
60550         * tests/test-isnanf.c (main): Likewise.
60551         * tests/test-isnanl.h (main): Likewise.
60552
60553         Detect pseudo-denormals on x86 even when cross-compiling.
60554         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
60555         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
60556         invalid bit patterns that happen to satisfy ==.
60557
60558         Avoid link failures with separate libtests.a.
60559         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
60560         last, to satisfy circular dependencies.
60561
60562 2007-12-11  Eric Blake  <ebb9@byu.net>
60563         and Bruno Haible  <bruno@clisp.org>
60564
60565         Fix OpenBSD 4.0 <float.h> handling of long double.
60566         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
60567         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
60568         * doc/headers/float.texi (float.h): Document OpenBSD bug.
60569
60570 2007-12-11  Jim Meyering  <meyering@redhat.com>
60571
60572         * users.txt: Add libvirt.
60573
60574         Support versions of autoconf prior to 2.59c.
60575         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
60576         if it is not already defined.
60577
60578 2007-12-09  Bruno Haible  <bruno@clisp.org>
60579
60580         Let 'gnulib-tool --import' collect sources needed for the tests in
60581         tests/ rather than in lib/.
60582         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
60583         argument. If true, add rules to generate libtests.a, and put libtests.a
60584         into $(LDADD). Consider source files in subdirectories and set
60585         uses_subdirs.
60586         (func_emit_initmacro_start, func_emit_initmacro_end,
60587         func_emit_initmacro_done): Pass all arguments explicitly.
60588         (func_import): Determine two module lists main_modules,
60589         testsrelated_modules. Determine use_libtests. Determine two variables
60590         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
60591         instead of just sed_transform_lib_file. Determine two variables
60592         main_files and testsrelated_files. Compute 'files' as the union of
60593         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
60594         func_add_or_update. In the generated gnulib-comp.m4, collect the
60595         object files for tests/ in different variables than those for lib/.
60596         Substitute LIBTESTS_LIBDEPS.
60597         (func_create_testdir): Combine the uses_subdirs results from
60598         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
60599
60600 2007-12-09  Bruno Haible  <bruno@clisp.org>
60601
60602         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
60603         the build-aux directory.
60604
60605 2007-12-09  Bruno Haible  <bruno@clisp.org>
60606
60607         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
60608         introduced on 2006-09-09.
60609
60610 2007-12-07  Jim Meyering  <meyering@redhat.com>
60611
60612         Let these macros work also with autoconf-2.59.
60613         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
60614         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
60615         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60616
60617 2007-12-06  Jim Meyering  <meyering@redhat.com>
60618
60619         Avoid a configure-time syntax error in gl_FUNC_ACL.
60620         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
60621         function in each branch, before testing the cache variable.
60622
60623 2007-12-04  Eric Blake  <ebb9@byu.net>
60624
60625         Make scripts executable.
60626         * build-aux/config.guess: Add execute permissions.
60627         * build-aux/config.sub: Likewise.
60628         * build-aux/gendocs.sh: Likewise.
60629
60630         Fix frexp on mingw.
60631         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
60632         cross-compiling.
60633         * doc/functions/frexp.texi (frexp): Document the bug.
60634
60635         Make cygwin fseeko check more reliable.
60636         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
60637         version numbers, rather than unrelated feature check.
60638         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
60639         * doc/functions/ftello.texi (ftello): Likewise.
60640         Reported by Bruno Haible.
60641
60642         * m4/strerror.m4: Bump version number.
60643
60644 2007-12-03  Bruno Haible  <bruno@clisp.org>
60645
60646         * doc/functions/mprotect.texi: Mention the mingw problem.
60647
60648 2007-12-03  Eric Blake  <ebb9@byu.net>
60649
60650         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
60651         REPLACE_STRERROR is initialized before this macro.
60652
60653 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
60654
60655         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
60656         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
60657         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
60658         put -lsec in even for programs other than 'ls'.  This fixes a problem
60659         for gettext reported by Bruno Haible in
60660         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
60661         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
60662         Add support for Solaris 10.  This isn't efficient, but should get the
60663         job done for now.
60664
60665 2007-12-03  James Youngman  <jay@gnu.org>
60666
60667         * doc/regexprops-generic.texi: change "an close-group" to "a
60668         close-group" and "illegal" to "not allowed".
60669
60670 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60671
60672         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
60673         pr_byname.h. Needed for the rare case when the maintainer has done
60674         "make maintainer-clean" in the source directory and then attempts a
60675         build outside the source directory.
60676         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
60677         scripts_byname.h.
60678
60679 2007-12-02  Martin Lambers <marlam@marlam.de>
60680             Bruno Haible  <bruno@clisp.org>
60681
60682         * lib/getpagesize.h: Remove file.
60683         * lib/unistd.in.h: Include declaration of getpagesize here.
60684         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
60685         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
60686         HAVE_SYS_PARAM_H.
60687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
60688         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60689         * modules/getpagesize (Files): Remove lib/getpagesize.h.
60690         (Depends-on): Add unistd.
60691         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
60692         (Include): Use <unistd.h> instead of getpagesize.h.
60693         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
60694         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
60695         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
60696         gl_GETPAGESIZE invocation, already handled by module dependency.
60697         * lib/pagealign_alloc.c: Don't include getpagesize.h.
60698
60699 2007-12-02  Bruno Haible  <bruno@clisp.org>
60700
60701         * modules/strings-tests: New file.
60702         * tests/test-strings.c: New file.
60703
60704         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
60705         * lib/strings.in.h: New file.
60706         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
60707         * m4/strings_h.m4: New file.
60708         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
60709         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
60710         * modules/strings: New file.
60711         * modules/string (Makefile.am): Update.
60712         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
60713         Reported by Karl Berry.
60714
60715 2007-12-01  Eric Blake  <ebb9@byu.net>
60716
60717         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
60718         accommodate fix in cygwin 1.5.25.
60719
60720 2007-12-01  Jim Meyering  <meyering@redhat.com>
60721
60722         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
60723         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
60724         that would inhibit utf8-optimization of a regexp containing line-
60725         or buffer-anchors, e.g., `^', `$'.
60726
60727 2007-11-30  Bruno Haible  <bruno@clisp.org>
60728
60729         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
60730         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
60731         glthread_recursive_lock_init.
60732         * lib/lock.c (glthread_recursive_lock_init)
60733         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
60734         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60735
60736 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
60737
60738         New function qset_acl, like set_acl but with syscall semantics.
60739         * lib/acl.h (qset_acl): New decl.
60740         * lib/acl.c (qset_acl): New function.
60741         (set_acl): Use new function.  Use more-consistent diagnostics.
60742
60743 2007-11-28  Jim Meyering  <meyering@redhat.com>
60744
60745         * modules/physmem (License): Change from GPL to LGPLv2+.
60746
60747 2007-11-26  Bruno Haible  <bruno@clisp.org>
60748
60749         * lib/vasnprintf.c (decode_long_double): Don't abort if the
60750         'long double' type has excess precision.
60751         Reported by Jim Meyering in
60752         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
60753
60754 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60755
60756         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
60757         Sync from <http://gnu.org/licenses>.
60758         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
60759         with license text from same location.
60760         * doc/maintain.texi, doc/standards.texi:  Sync from
60761         <http://savannah.gnu.org/projects/gnustandards>.
60762
60763 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
60764         and Jim Meyering  <meyering@redhat.com>
60765
60766         Adjust getdate' grammar to accept a slightly more regular language.
60767         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
60768         Before, the former was rejected.
60769         * lib/getdate.y (digits_to_date_time): New function, factored
60770         out of ...
60771         (number): ...here.  Just call digits_to_date_time.
60772         (hybrid): New non-terminal to handle an <unsigned number,
60773         signed relative offset> sequence consistently.
60774
60775 2007-11-18  Jim Meyering  <meyering@redhat.com>
60776
60777         Pull my changes from coreutils:
60778         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
60779         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
60780         use of $gnulib_tool_option_extras, so that it's separated from the
60781         preceding argument.
60782
60783         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
60784         * build-aux/bootstrap (cp_mark_as_generated): Create any required
60785         parent destination directories before copying a file into place.
60786
60787 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
60788
60789         bootstrap: work also with 4-argument variant of AC_INIT
60790         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
60791
60792 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
60793
60794         Port test-getaddrinfo to Solaris.
60795         Problem reported by Bruno Haible in
60796         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
60797         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
60798         explanation of setting 'hints'.
60799         Don't reject an implementation merely because it returns EAI_SERVICE.
60800         (EAI_SERVICE): Define to 0 if not defined.
60801
60802 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
60803
60804         The license of gnu-make and posix-shell is now "GPLed build tool".
60805         * modules/gnu-make (License): Likewise.
60806         * modules/posix-shell (License): Likewise.
60807
60808         New module posix-shell, for determining a POSIX shell
60809         or perhaps something that is close enough to a POSIX shell.
60810         * m4/posix-shell.m4: New file.
60811         * modules/posix-shell: New file.
60812
60813         * MODULES.html.sh: Mention new module.
60814
60815         New module gnu-make, for determining whether we're using GNU Make.
60816         * m4/gnu-make.m4: New file.
60817         * modules/gnu-make: New file.
60818         * MODULES.html.sh: Mention new module.
60819
60820 2007-11-14  Jim Meyering  <meyering@redhat.com>
60821
60822         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
60823         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
60824         use this macro to create a function _definition_.
60825         Remove useless "#undef ARGMATCH_DIE".
60826
60827 2007-11-14  Bruno Haible  <bruno@clisp.org>
60828
60829         * lib/config.charset: Update for OpenBSD 4.1.
60830         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
60831
60832 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
60833
60834         Document 64-bit #if problems in stdint.texi.
60835         * doc/headers/stdint.texi (stdint.h): Mention problems with
60836         64-bit-#if, and how to work around them.
60837
60838         Don't insist on 'long long int' support in the preprocessor.  It
60839         breaks too many things.  For example, PRIdMAX still uses a 'long
60840         long int' format with the latest Sun compiler, even though
60841         HAVE_LONG_LONG_INT isn't defined due to that compiler's
60842         preprocessor problem.  This causes the latest coreutils to dump
60843         core on Solaris 10 sparc with the Sun C compiler.
60844         Instead, fix the 2007-10-16 problem in a different way, by evaluating
60845         the troublesome expressions at configure-time, not at #if-time.
60846         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
60847         preprocessor.
60848         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
60849         compile-time C checks, done at 'configure'-time.
60850         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
60851         * modules/inttypes (Makefile): Substitute the new symbols that
60852         gl_INTTYPES_H now generates.
60853         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
60854
60855 2007-11-12  Bruno Haible  <bruno@clisp.org>
60856
60857         Tests for Unicode character classification functions.
60858
60859         * modules/unictype/bidicategory-byname-tests: New file.
60860         * modules/unictype/bidicategory-name-tests: New file.
60861         * modules/unictype/bidicategory-of-tests: New file.
60862         * modules/unictype/bidicategory-test-tests: New file.
60863         * modules/unictype/block-list-tests: New file.
60864         * modules/unictype/block-of-tests: New file.
60865         * modules/unictype/block-test-tests: New file.
60866         * modules/unictype/category-C-tests: New file.
60867         * modules/unictype/category-Cc-tests: New file.
60868         * modules/unictype/category-Cf-tests: New file.
60869         * modules/unictype/category-Cn-tests: New file.
60870         * modules/unictype/category-Co-tests: New file.
60871         * modules/unictype/category-Cs-tests: New file.
60872         * modules/unictype/category-L-tests: New file.
60873         * modules/unictype/category-Ll-tests: New file.
60874         * modules/unictype/category-Lm-tests: New file.
60875         * modules/unictype/category-Lo-tests: New file.
60876         * modules/unictype/category-Lt-tests: New file.
60877         * modules/unictype/category-Lu-tests: New file.
60878         * modules/unictype/category-M-tests: New file.
60879         * modules/unictype/category-Mc-tests: New file.
60880         * modules/unictype/category-Me-tests: New file.
60881         * modules/unictype/category-Mn-tests: New file.
60882         * modules/unictype/category-N-tests: New file.
60883         * modules/unictype/category-Nd-tests: New file.
60884         * modules/unictype/category-Nl-tests: New file.
60885         * modules/unictype/category-No-tests: New file.
60886         * modules/unictype/category-P-tests: New file.
60887         * modules/unictype/category-Pc-tests: New file.
60888         * modules/unictype/category-Pd-tests: New file.
60889         * modules/unictype/category-Pe-tests: New file.
60890         * modules/unictype/category-Pf-tests: New file.
60891         * modules/unictype/category-Pi-tests: New file.
60892         * modules/unictype/category-Po-tests: New file.
60893         * modules/unictype/category-Ps-tests: New file.
60894         * modules/unictype/category-S-tests: New file.
60895         * modules/unictype/category-Sc-tests: New file.
60896         * modules/unictype/category-Sk-tests: New file.
60897         * modules/unictype/category-Sm-tests: New file.
60898         * modules/unictype/category-So-tests: New file.
60899         * modules/unictype/category-Z-tests: New file.
60900         * modules/unictype/category-Zl-tests: New file.
60901         * modules/unictype/category-Zp-tests: New file.
60902         * modules/unictype/category-Zs-tests: New file.
60903         * modules/unictype/category-and-not-tests: New file.
60904         * modules/unictype/category-and-tests: New file.
60905         * modules/unictype/category-byname-tests: New file.
60906         * modules/unictype/category-name-tests: New file.
60907         * modules/unictype/category-none-tests: New file.
60908         * modules/unictype/category-of-tests: New file.
60909         * modules/unictype/category-or-tests: New file.
60910         * modules/unictype/category-test-withtable-tests: New file.
60911         * modules/unictype/combining-class-tests: New file.
60912         * modules/unictype/ctype-alnum-tests: New file.
60913         * modules/unictype/ctype-alpha-tests: New file.
60914         * modules/unictype/ctype-blank-tests: New file.
60915         * modules/unictype/ctype-cntrl-tests: New file.
60916         * modules/unictype/ctype-digit-tests: New file.
60917         * modules/unictype/ctype-graph-tests: New file.
60918         * modules/unictype/ctype-lower-tests: New file.
60919         * modules/unictype/ctype-print-tests: New file.
60920         * modules/unictype/ctype-punct-tests: New file.
60921         * modules/unictype/ctype-space-tests: New file.
60922         * modules/unictype/ctype-upper-tests: New file.
60923         * modules/unictype/ctype-xdigit-tests: New file.
60924         * modules/unictype/decimal-digit-tests: New file.
60925         * modules/unictype/digit-tests: New file.
60926         * modules/unictype/mirror-tests: New file.
60927         * modules/unictype/numeric-tests: New file.
60928         * modules/unictype/property-alphabetic-tests: New file.
60929         * modules/unictype/property-ascii-hex-digit-tests: New file.
60930         * modules/unictype/property-bidi-arabic-digit-tests: New file.
60931         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
60932         * modules/unictype/property-bidi-block-separator-tests: New file.
60933         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
60934         * modules/unictype/property-bidi-common-separator-tests: New file.
60935         * modules/unictype/property-bidi-control-tests: New file.
60936         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
60937         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
60938         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
60939         * modules/unictype/property-bidi-european-digit-tests: New file.
60940         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
60941         * modules/unictype/property-bidi-left-to-right-tests: New file.
60942         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
60943         * modules/unictype/property-bidi-other-neutral-tests: New file.
60944         * modules/unictype/property-bidi-pdf-tests: New file.
60945         * modules/unictype/property-bidi-segment-separator-tests: New file.
60946         * modules/unictype/property-bidi-whitespace-tests: New file.
60947         * modules/unictype/property-byname-tests: New file.
60948         * modules/unictype/property-combining-tests: New file.
60949         * modules/unictype/property-composite-tests: New file.
60950         * modules/unictype/property-currency-symbol-tests: New file.
60951         * modules/unictype/property-dash-tests: New file.
60952         * modules/unictype/property-decimal-digit-tests: New file.
60953         * modules/unictype/property-default-ignorable-code-point-tests: New file.
60954         * modules/unictype/property-deprecated-tests: New file.
60955         * modules/unictype/property-diacritic-tests: New file.
60956         * modules/unictype/property-extender-tests: New file.
60957         * modules/unictype/property-format-control-tests: New file.
60958         * modules/unictype/property-grapheme-base-tests: New file.
60959         * modules/unictype/property-grapheme-extend-tests: New file.
60960         * modules/unictype/property-grapheme-link-tests: New file.
60961         * modules/unictype/property-hex-digit-tests: New file.
60962         * modules/unictype/property-hyphen-tests: New file.
60963         * modules/unictype/property-id-continue-tests: New file.
60964         * modules/unictype/property-id-start-tests: New file.
60965         * modules/unictype/property-ideographic-tests: New file.
60966         * modules/unictype/property-ids-binary-operator-tests: New file.
60967         * modules/unictype/property-ids-trinary-operator-tests: New file.
60968         * modules/unictype/property-ignorable-control-tests: New file.
60969         * modules/unictype/property-iso-control-tests: New file.
60970         * modules/unictype/property-join-control-tests: New file.
60971         * modules/unictype/property-left-of-pair-tests: New file.
60972         * modules/unictype/property-line-separator-tests: New file.
60973         * modules/unictype/property-logical-order-exception-tests: New file.
60974         * modules/unictype/property-lowercase-tests: New file.
60975         * modules/unictype/property-math-tests: New file.
60976         * modules/unictype/property-non-break-tests: New file.
60977         * modules/unictype/property-not-a-character-tests: New file.
60978         * modules/unictype/property-numeric-tests: New file.
60979         * modules/unictype/property-other-alphabetic-tests: New file.
60980         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
60981         * modules/unictype/property-other-grapheme-extend-tests: New file.
60982         * modules/unictype/property-other-id-continue-tests: New file.
60983         * modules/unictype/property-other-id-start-tests: New file.
60984         * modules/unictype/property-other-lowercase-tests: New file.
60985         * modules/unictype/property-other-math-tests: New file.
60986         * modules/unictype/property-other-uppercase-tests: New file.
60987         * modules/unictype/property-paired-punctuation-tests: New file.
60988         * modules/unictype/property-paragraph-separator-tests: New file.
60989         * modules/unictype/property-pattern-syntax-tests: New file.
60990         * modules/unictype/property-pattern-white-space-tests: New file.
60991         * modules/unictype/property-private-use-tests: New file.
60992         * modules/unictype/property-punctuation-tests: New file.
60993         * modules/unictype/property-quotation-mark-tests: New file.
60994         * modules/unictype/property-radical-tests: New file.
60995         * modules/unictype/property-sentence-terminal-tests: New file.
60996         * modules/unictype/property-soft-dotted-tests: New file.
60997         * modules/unictype/property-space-tests: New file.
60998         * modules/unictype/property-terminal-punctuation-tests: New file.
60999         * modules/unictype/property-test-tests: New file.
61000         * modules/unictype/property-titlecase-tests: New file.
61001         * modules/unictype/property-unassigned-code-value-tests: New file.
61002         * modules/unictype/property-unified-ideograph-tests: New file.
61003         * modules/unictype/property-uppercase-tests: New file.
61004         * modules/unictype/property-variation-selector-tests: New file.
61005         * modules/unictype/property-white-space-tests: New file.
61006         * modules/unictype/property-xid-continue-tests: New file.
61007         * modules/unictype/property-xid-start-tests: New file.
61008         * modules/unictype/property-zero-width-tests: New file.
61009         * modules/unictype/scripts-tests: New file.
61010         * modules/unictype/syntax-c-ident-tests: New file.
61011         * modules/unictype/syntax-c-whitespace-tests: New file.
61012         * modules/unictype/syntax-java-ident-tests: New file.
61013         * modules/unictype/syntax-java-whitespace-tests: New file.
61014         * tests/unictype/test-bidi_byname.c: New file.
61015         * tests/unictype/test-bidi_name.c: New file.
61016         * tests/unictype/test-bidi_of.c: New file.
61017         * tests/unictype/test-bidi_test.c: New file.
61018         * tests/unictype/test-block_list.c: New file.
61019         * tests/unictype/test-block_of.c: New file.
61020         * tests/unictype/test-block_test.c: New file.
61021         * tests/unictype/test-categ_and.c: New file.
61022         * tests/unictype/test-categ_and_not.c: New file.
61023         * tests/unictype/test-categ_byname.c: New file.
61024         * tests/unictype/test-categ_name.c: New file.
61025         * tests/unictype/test-categ_none.c: New file.
61026         * tests/unictype/test-categ_of.c: New file.
61027         * tests/unictype/test-categ_or.c: New file.
61028         * tests/unictype/test-categ_test_withtable.c: New file.
61029         * tests/unictype/test-combining.c: New file.
61030         * tests/unictype/test-decdigit.c: New file.
61031         * tests/unictype/test-digit.c: New file.
61032         * tests/unictype/test-mirror.c: New file.
61033         * tests/unictype/test-numeric.c: New file.
61034         * tests/unictype/test-pr_byname.c: New file.
61035         * tests/unictype/test-pr_test.c: New file.
61036         * tests/unictype/test-predicate-part1.h: New file.
61037         * tests/unictype/test-predicate-part2.h: New file.
61038         * tests/unictype/test-scripts.c: New file.
61039         * tests/unictype/test-sy_c_ident.c: New file.
61040         * tests/unictype/test-sy_java_ident.c: New file.
61041
61042         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
61043         for Unicode 5.0.0.
61044         * tests/unictype/test-categ_Cc.c: Likewise.
61045         * tests/unictype/test-categ_Cf.c: Likewise.
61046         * tests/unictype/test-categ_Cn.c: Likewise.
61047         * tests/unictype/test-categ_Co.c: Likewise.
61048         * tests/unictype/test-categ_Cs.c: Likewise.
61049         * tests/unictype/test-categ_L.c: Likewise.
61050         * tests/unictype/test-categ_Ll.c: Likewise.
61051         * tests/unictype/test-categ_Lm.c: Likewise.
61052         * tests/unictype/test-categ_Lo.c: Likewise.
61053         * tests/unictype/test-categ_Lt.c: Likewise.
61054         * tests/unictype/test-categ_Lu.c: Likewise.
61055         * tests/unictype/test-categ_M.c: Likewise.
61056         * tests/unictype/test-categ_Mc.c: Likewise.
61057         * tests/unictype/test-categ_Me.c: Likewise.
61058         * tests/unictype/test-categ_Mn.c: Likewise.
61059         * tests/unictype/test-categ_N.c: Likewise.
61060         * tests/unictype/test-categ_Nd.c: Likewise.
61061         * tests/unictype/test-categ_Nl.c: Likewise.
61062         * tests/unictype/test-categ_No.c: Likewise.
61063         * tests/unictype/test-categ_P.c: Likewise.
61064         * tests/unictype/test-categ_Pc.c: Likewise.
61065         * tests/unictype/test-categ_Pd.c: Likewise.
61066         * tests/unictype/test-categ_Pe.c: Likewise.
61067         * tests/unictype/test-categ_Pf.c: Likewise.
61068         * tests/unictype/test-categ_Pi.c: Likewise.
61069         * tests/unictype/test-categ_Po.c: Likewise.
61070         * tests/unictype/test-categ_Ps.c: Likewise.
61071         * tests/unictype/test-categ_S.c: Likewise.
61072         * tests/unictype/test-categ_Sc.c: Likewise.
61073         * tests/unictype/test-categ_Sk.c: Likewise.
61074         * tests/unictype/test-categ_Sm.c: Likewise.
61075         * tests/unictype/test-categ_So.c: Likewise.
61076         * tests/unictype/test-categ_Z.c: Likewise.
61077         * tests/unictype/test-categ_Zl.c: Likewise.
61078         * tests/unictype/test-categ_Zp.c: Likewise.
61079         * tests/unictype/test-categ_Zs.c: Likewise.
61080         * tests/unictype/test-ctype_alnum.c: Likewise.
61081         * tests/unictype/test-ctype_alpha.c: Likewise.
61082         * tests/unictype/test-ctype_blank.c: Likewise.
61083         * tests/unictype/test-ctype_cntrl.c: Likewise.
61084         * tests/unictype/test-ctype_digit.c: Likewise.
61085         * tests/unictype/test-ctype_graph.c: Likewise.
61086         * tests/unictype/test-ctype_lower.c: Likewise.
61087         * tests/unictype/test-ctype_print.c: Likewise.
61088         * tests/unictype/test-ctype_punct.c: Likewise.
61089         * tests/unictype/test-ctype_space.c: Likewise.
61090         * tests/unictype/test-ctype_upper.c: Likewise.
61091         * tests/unictype/test-ctype_xdigit.c: Likewise.
61092         * tests/unictype/test-decdigit.h: Likewise.
61093         * tests/unictype/test-digit.h: Likewise.
61094         * tests/unictype/test-numeric.h: Likewise.
61095         * tests/unictype/test-pr_alphabetic.c: Likewise.
61096         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
61097         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
61098         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
61099         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
61100         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
61101         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
61102         * tests/unictype/test-pr_bidi_control.c: Likewise.
61103         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
61104         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
61105         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
61106         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
61107         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
61108         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
61109         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
61110         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
61111         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
61112         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
61113         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
61114         * tests/unictype/test-pr_combining.c: Likewise.
61115         * tests/unictype/test-pr_composite.c: Likewise.
61116         * tests/unictype/test-pr_currency_symbol.c: Likewise.
61117         * tests/unictype/test-pr_dash.c: Likewise.
61118         * tests/unictype/test-pr_decimal_digit.c: Likewise.
61119         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
61120         * tests/unictype/test-pr_deprecated.c: Likewise.
61121         * tests/unictype/test-pr_diacritic.c: Likewise.
61122         * tests/unictype/test-pr_extender.c: Likewise.
61123         * tests/unictype/test-pr_format_control.c: Likewise.
61124         * tests/unictype/test-pr_grapheme_base.c: Likewise.
61125         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
61126         * tests/unictype/test-pr_grapheme_link.c: Likewise.
61127         * tests/unictype/test-pr_hex_digit.c: Likewise.
61128         * tests/unictype/test-pr_hyphen.c: Likewise.
61129         * tests/unictype/test-pr_id_continue.c: Likewise.
61130         * tests/unictype/test-pr_id_start.c: Likewise.
61131         * tests/unictype/test-pr_ideographic.c: Likewise.
61132         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
61133         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
61134         * tests/unictype/test-pr_ignorable_control.c: Likewise.
61135         * tests/unictype/test-pr_iso_control.c: Likewise.
61136         * tests/unictype/test-pr_join_control.c: Likewise.
61137         * tests/unictype/test-pr_left_of_pair.c: Likewise.
61138         * tests/unictype/test-pr_line_separator.c: Likewise.
61139         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
61140         * tests/unictype/test-pr_lowercase.c: Likewise.
61141         * tests/unictype/test-pr_math.c: Likewise.
61142         * tests/unictype/test-pr_non_break.c: Likewise.
61143         * tests/unictype/test-pr_not_a_character.c: Likewise.
61144         * tests/unictype/test-pr_numeric.c: Likewise.
61145         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
61146         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
61147         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
61148         * tests/unictype/test-pr_other_id_continue.c: Likewise.
61149         * tests/unictype/test-pr_other_id_start.c: Likewise.
61150         * tests/unictype/test-pr_other_lowercase.c: Likewise.
61151         * tests/unictype/test-pr_other_math.c: Likewise.
61152         * tests/unictype/test-pr_other_uppercase.c: Likewise.
61153         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
61154         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
61155         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
61156         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
61157         * tests/unictype/test-pr_private_use.c: Likewise.
61158         * tests/unictype/test-pr_punctuation.c: Likewise.
61159         * tests/unictype/test-pr_quotation_mark.c: Likewise.
61160         * tests/unictype/test-pr_radical.c: Likewise.
61161         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
61162         * tests/unictype/test-pr_soft_dotted.c: Likewise.
61163         * tests/unictype/test-pr_space.c: Likewise.
61164         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
61165         * tests/unictype/test-pr_titlecase.c: Likewise.
61166         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
61167         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
61168         * tests/unictype/test-pr_uppercase.c: Likewise.
61169         * tests/unictype/test-pr_variation_selector.c: Likewise.
61170         * tests/unictype/test-pr_white_space.c: Likewise.
61171         * tests/unictype/test-pr_xid_continue.c: Likewise.
61172         * tests/unictype/test-pr_xid_start.c: Likewise.
61173         * tests/unictype/test-pr_zero_width.c: Likewise.
61174         * tests/unictype/test-sy_c_whitespace.c: Likewise.
61175         * tests/unictype/test-sy_java_whitespace.c: Likewise.
61176
61177 2007-11-12  Bruno Haible  <bruno@clisp.org>
61178
61179         Unicode character classification functions.
61180         * lib/unictype.h: New file.
61181         * modules/unictype/base: New file.
61182         * modules/unictype/category-L: New file.
61183         * modules/unictype/category-Lu: New file.
61184         * modules/unictype/category-Ll: New file.
61185         * modules/unictype/category-Lt: New file.
61186         * modules/unictype/category-Lm: New file.
61187         * modules/unictype/category-Lo: New file.
61188         * modules/unictype/category-M: New file.
61189         * modules/unictype/category-Mn: New file.
61190         * modules/unictype/category-Mc: New file.
61191         * modules/unictype/category-Me: New file.
61192         * modules/unictype/category-N: New file.
61193         * modules/unictype/category-Nd: New file.
61194         * modules/unictype/category-Nl: New file.
61195         * modules/unictype/category-No: New file.
61196         * modules/unictype/category-P: New file.
61197         * modules/unictype/category-Pc: New file.
61198         * modules/unictype/category-Pd: New file.
61199         * modules/unictype/category-Ps: New file.
61200         * modules/unictype/category-Pe: New file.
61201         * modules/unictype/category-Pi: New file.
61202         * modules/unictype/category-Pf: New file.
61203         * modules/unictype/category-Po: New file.
61204         * modules/unictype/category-S: New file.
61205         * modules/unictype/category-Sm: New file.
61206         * modules/unictype/category-Sc: New file.
61207         * modules/unictype/category-Sk: New file.
61208         * modules/unictype/category-So: New file.
61209         * modules/unictype/category-Z: New file.
61210         * modules/unictype/category-Zs: New file.
61211         * modules/unictype/category-Zl: New file.
61212         * modules/unictype/category-Zp: New file.
61213         * modules/unictype/category-C: New file.
61214         * modules/unictype/category-Cc: New file.
61215         * modules/unictype/category-Cf: New file.
61216         * modules/unictype/category-Cs: New file.
61217         * modules/unictype/category-Co: New file.
61218         * modules/unictype/category-Cn: New file.
61219         * modules/unictype/category-or: New file.
61220         * modules/unictype/category-of: New file.
61221         * modules/unictype/category-test: New file.
61222         * modules/unictype/category-test-withtable: New file.
61223         * modules/unictype/category-byname: New file.
61224         * modules/unictype/category-none: New file.
61225         * modules/unictype/category-and: New file.
61226         * modules/unictype/category-and-not: New file.
61227         * modules/unictype/category-name: New file.
61228         * modules/unictype/combining-class: New file.
61229         * modules/unictype/category-all: New file.
61230         * modules/unictype/bidicategory-all: New file.
61231         * modules/unictype/bidicategory-byname: New file.
61232         * modules/unictype/bidicategory-name: New file.
61233         * modules/unictype/bidicategory-of: New file.
61234         * modules/unictype/bidicategory-test: New file.
61235         * modules/unictype/decimal-digit: New file.
61236         * modules/unictype/digit: New file.
61237         * modules/unictype/numeric: New file.
61238         * modules/unictype/mirror: New file.
61239         * modules/unictype/property-white-space: New file.
61240         * modules/unictype/property-alphabetic: New file.
61241         * modules/unictype/property-other-alphabetic: New file.
61242         * modules/unictype/property-not-a-character: New file.
61243         * modules/unictype/property-default-ignorable-code-point: New file.
61244         * modules/unictype/property-other-default-ignorable-code-point: New
61245         file.
61246         * modules/unictype/property-deprecated: New file.
61247         * modules/unictype/property-logical-order-exception: New file.
61248         * modules/unictype/property-variation-selector: New file.
61249         * modules/unictype/property-private-use: New file.
61250         * modules/unictype/property-unassigned-code-value: New file.
61251         * modules/unictype/property-uppercase: New file.
61252         * modules/unictype/property-other-uppercase: New file.
61253         * modules/unictype/property-lowercase: New file.
61254         * modules/unictype/property-other-lowercase: New file.
61255         * modules/unictype/property-titlecase: New file.
61256         * modules/unictype/property-soft-dotted: New file.
61257         * modules/unictype/property-id-start: New file.
61258         * modules/unictype/property-other-id-start: New file.
61259         * modules/unictype/property-id-continue: New file.
61260         * modules/unictype/property-other-id-continue: New file.
61261         * modules/unictype/property-xid-start: New file.
61262         * modules/unictype/property-xid-continue: New file.
61263         * modules/unictype/property-pattern-white-space: New file.
61264         * modules/unictype/property-pattern-syntax: New file.
61265         * modules/unictype/property-join-control: New file.
61266         * modules/unictype/property-grapheme-base: New file.
61267         * modules/unictype/property-grapheme-extend: New file.
61268         * modules/unictype/property-other-grapheme-extend: New file.
61269         * modules/unictype/property-grapheme-link: New file.
61270         * modules/unictype/property-bidi-control: New file.
61271         * modules/unictype/property-bidi-left-to-right: New file.
61272         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
61273         * modules/unictype/property-bidi-arabic-right-to-left: New file.
61274         * modules/unictype/property-bidi-european-digit: New file.
61275         * modules/unictype/property-bidi-eur-num-separator: New file.
61276         * modules/unictype/property-bidi-eur-num-terminator: New file.
61277         * modules/unictype/property-bidi-arabic-digit: New file.
61278         * modules/unictype/property-bidi-common-separator: New file.
61279         * modules/unictype/property-bidi-block-separator: New file.
61280         * modules/unictype/property-bidi-segment-separator: New file.
61281         * modules/unictype/property-bidi-whitespace: New file.
61282         * modules/unictype/property-bidi-non-spacing-mark: New file.
61283         * modules/unictype/property-bidi-boundary-neutral: New file.
61284         * modules/unictype/property-bidi-pdf: New file.
61285         * modules/unictype/property-bidi-embedding-or-override: New file.
61286         * modules/unictype/property-bidi-other-neutral: New file.
61287         * modules/unictype/property-hex-digit: New file.
61288         * modules/unictype/property-ascii-hex-digit: New file.
61289         * modules/unictype/property-ideographic: New file.
61290         * modules/unictype/property-unified-ideograph: New file.
61291         * modules/unictype/property-radical: New file.
61292         * modules/unictype/property-ids-binary-operator: New file.
61293         * modules/unictype/property-ids-trinary-operator: New file.
61294         * modules/unictype/property-zero-width: New file.
61295         * modules/unictype/property-space: New file.
61296         * modules/unictype/property-non-break: New file.
61297         * modules/unictype/property-iso-control: New file.
61298         * modules/unictype/property-format-control: New file.
61299         * modules/unictype/property-dash: New file.
61300         * modules/unictype/property-hyphen: New file.
61301         * modules/unictype/property-punctuation: New file.
61302         * modules/unictype/property-line-separator: New file.
61303         * modules/unictype/property-paragraph-separator: New file.
61304         * modules/unictype/property-quotation-mark: New file.
61305         * modules/unictype/property-sentence-terminal: New file.
61306         * modules/unictype/property-terminal-punctuation: New file.
61307         * modules/unictype/property-currency-symbol: New file.
61308         * modules/unictype/property-math: New file.
61309         * modules/unictype/property-other-math: New file.
61310         * modules/unictype/property-paired-punctuation: New file.
61311         * modules/unictype/property-left-of-pair: New file.
61312         * modules/unictype/property-combining: New file.
61313         * modules/unictype/property-composite: New file.
61314         * modules/unictype/property-decimal-digit: New file.
61315         * modules/unictype/property-numeric: New file.
61316         * modules/unictype/property-diacritic: New file.
61317         * modules/unictype/property-extender: New file.
61318         * modules/unictype/property-ignorable-control: New file.
61319         * modules/unictype/property-test: New file.
61320         * modules/unictype/property-byname: New file.
61321         * modules/unictype/property-all: New file.
61322         * modules/unictype/scripts: New file.
61323         * modules/unictype/scripts-all: New file.
61324         * modules/unictype/block-of: New file.
61325         * modules/unictype/block-test: New file.
61326         * modules/unictype/block-list: New file.
61327         * modules/unictype/block-all: New file.
61328         * modules/unictype/syntax-c-whitespace: New file.
61329         * modules/unictype/syntax-java-whitespace: New file.
61330         * modules/unictype/syntax-c-ident: New file.
61331         * modules/unictype/syntax-java-ident: New file.
61332         * modules/unictype/ctype-alnum: New file.
61333         * modules/unictype/ctype-alpha: New file.
61334         * modules/unictype/ctype-cntrl: New file.
61335         * modules/unictype/ctype-digit: New file.
61336         * modules/unictype/ctype-graph: New file.
61337         * modules/unictype/ctype-lower: New file.
61338         * modules/unictype/ctype-print: New file.
61339         * modules/unictype/ctype-punct: New file.
61340         * modules/unictype/ctype-space: New file.
61341         * modules/unictype/ctype-upper: New file.
61342         * modules/unictype/ctype-xdigit: New file.
61343         * modules/unictype/ctype-blank: New file.
61344         * lib/unictype/bidi_byname.c: New file.
61345         * lib/unictype/bidi_name.c: New file.
61346         * lib/unictype/bidi_of.c: New file.
61347         * lib/unictype/bidi_test.c: New file.
61348         * lib/unictype/bitmap.h: New file.
61349         * lib/unictype/block_test.c: New file.
61350         * lib/unictype/blocks.c: New file.
61351         * lib/unictype/categ_C.c: New file.
61352         * lib/unictype/categ_Cc.c: New file.
61353         * lib/unictype/categ_Cf.c: New file.
61354         * lib/unictype/categ_Cn.c: New file.
61355         * lib/unictype/categ_Co.c: New file.
61356         * lib/unictype/categ_Cs.c: New file.
61357         * lib/unictype/categ_L.c: New file.
61358         * lib/unictype/categ_Ll.c: New file.
61359         * lib/unictype/categ_Lm.c: New file.
61360         * lib/unictype/categ_Lo.c: New file.
61361         * lib/unictype/categ_Lt.c: New file.
61362         * lib/unictype/categ_Lu.c: New file.
61363         * lib/unictype/categ_M.c: New file.
61364         * lib/unictype/categ_Mc.c: New file.
61365         * lib/unictype/categ_Me.c: New file.
61366         * lib/unictype/categ_Mn.c: New file.
61367         * lib/unictype/categ_N.c: New file.
61368         * lib/unictype/categ_Nd.c: New file.
61369         * lib/unictype/categ_Nl.c: New file.
61370         * lib/unictype/categ_No.c: New file.
61371         * lib/unictype/categ_P.c: New file.
61372         * lib/unictype/categ_Pc.c: New file.
61373         * lib/unictype/categ_Pd.c: New file.
61374         * lib/unictype/categ_Pe.c: New file.
61375         * lib/unictype/categ_Pf.c: New file.
61376         * lib/unictype/categ_Pi.c: New file.
61377         * lib/unictype/categ_Po.c: New file.
61378         * lib/unictype/categ_Ps.c: New file.
61379         * lib/unictype/categ_S.c: New file.
61380         * lib/unictype/categ_Sc.c: New file.
61381         * lib/unictype/categ_Sk.c: New file.
61382         * lib/unictype/categ_Sm.c: New file.
61383         * lib/unictype/categ_So.c: New file.
61384         * lib/unictype/categ_Z.c: New file.
61385         * lib/unictype/categ_Zl.c: New file.
61386         * lib/unictype/categ_Zp.c: New file.
61387         * lib/unictype/categ_Zs.c: New file.
61388         * lib/unictype/categ_and.c: New file.
61389         * lib/unictype/categ_and_not.c: New file.
61390         * lib/unictype/categ_byname.c: New file.
61391         * lib/unictype/categ_name.c: New file.
61392         * lib/unictype/categ_none.c: New file.
61393         * lib/unictype/categ_of.c: New file.
61394         * lib/unictype/categ_or.c: New file.
61395         * lib/unictype/categ_test.c: New file.
61396         * lib/unictype/combining.c: New file.
61397         * lib/unictype/ctype_alnum.c: New file.
61398         * lib/unictype/ctype_alpha.c: New file.
61399         * lib/unictype/ctype_blank.c: New file.
61400         * lib/unictype/ctype_cntrl.c: New file.
61401         * lib/unictype/ctype_digit.c: New file.
61402         * lib/unictype/ctype_graph.c: New file.
61403         * lib/unictype/ctype_lower.c: New file.
61404         * lib/unictype/ctype_print.c: New file.
61405         * lib/unictype/ctype_punct.c: New file.
61406         * lib/unictype/ctype_space.c: New file.
61407         * lib/unictype/ctype_upper.c: New file.
61408         * lib/unictype/ctype_xdigit.c: New file.
61409         * lib/unictype/decdigit.c: New file.
61410         * lib/unictype/digit.c: New file.
61411         * lib/unictype/identsyntaxmap.h: New file.
61412         * lib/unictype/mirror.c: New file.
61413         * lib/unictype/numeric.c: New file.
61414         * lib/unictype/pr_alphabetic.c: New file.
61415         * lib/unictype/pr_ascii_hex_digit.c: New file.
61416         * lib/unictype/pr_bidi_arabic_digit.c: New file.
61417         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
61418         * lib/unictype/pr_bidi_block_separator.c: New file.
61419         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
61420         * lib/unictype/pr_bidi_common_separator.c: New file.
61421         * lib/unictype/pr_bidi_control.c: New file.
61422         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
61423         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
61424         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
61425         * lib/unictype/pr_bidi_european_digit.c: New file.
61426         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
61427         * lib/unictype/pr_bidi_left_to_right.c: New file.
61428         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
61429         * lib/unictype/pr_bidi_other_neutral.c: New file.
61430         * lib/unictype/pr_bidi_pdf.c: New file.
61431         * lib/unictype/pr_bidi_segment_separator.c: New file.
61432         * lib/unictype/pr_bidi_whitespace.c: New file.
61433         * lib/unictype/pr_byname.c: New file.
61434         * lib/unictype/pr_byname.gperf: New file.
61435         * lib/unictype/pr_combining.c: New file.
61436         * lib/unictype/pr_composite.c: New file.
61437         * lib/unictype/pr_currency_symbol.c: New file.
61438         * lib/unictype/pr_dash.c: New file.
61439         * lib/unictype/pr_decimal_digit.c: New file.
61440         * lib/unictype/pr_default_ignorable_code_point.c: New file.
61441         * lib/unictype/pr_deprecated.c: New file.
61442         * lib/unictype/pr_diacritic.c: New file.
61443         * lib/unictype/pr_extender.c: New file.
61444         * lib/unictype/pr_format_control.c: New file.
61445         * lib/unictype/pr_grapheme_base.c: New file.
61446         * lib/unictype/pr_grapheme_extend.c: New file.
61447         * lib/unictype/pr_grapheme_link.c: New file.
61448         * lib/unictype/pr_hex_digit.c: New file.
61449         * lib/unictype/pr_hyphen.c: New file.
61450         * lib/unictype/pr_id_continue.c: New file.
61451         * lib/unictype/pr_id_start.c: New file.
61452         * lib/unictype/pr_ideographic.c: New file.
61453         * lib/unictype/pr_ids_binary_operator.c: New file.
61454         * lib/unictype/pr_ids_trinary_operator.c: New file.
61455         * lib/unictype/pr_ignorable_control.c: New file.
61456         * lib/unictype/pr_iso_control.c: New file.
61457         * lib/unictype/pr_join_control.c: New file.
61458         * lib/unictype/pr_left_of_pair.c: New file.
61459         * lib/unictype/pr_line_separator.c: New file.
61460         * lib/unictype/pr_logical_order_exception.c: New file.
61461         * lib/unictype/pr_lowercase.c: New file.
61462         * lib/unictype/pr_math.c: New file.
61463         * lib/unictype/pr_non_break.c: New file.
61464         * lib/unictype/pr_not_a_character.c: New file.
61465         * lib/unictype/pr_numeric.c: New file.
61466         * lib/unictype/pr_other_alphabetic.c: New file.
61467         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
61468         * lib/unictype/pr_other_grapheme_extend.c: New file.
61469         * lib/unictype/pr_other_id_continue.c: New file.
61470         * lib/unictype/pr_other_id_start.c: New file.
61471         * lib/unictype/pr_other_lowercase.c: New file.
61472         * lib/unictype/pr_other_math.c: New file.
61473         * lib/unictype/pr_other_uppercase.c: New file.
61474         * lib/unictype/pr_paired_punctuation.c: New file.
61475         * lib/unictype/pr_paragraph_separator.c: New file.
61476         * lib/unictype/pr_pattern_syntax.c: New file.
61477         * lib/unictype/pr_pattern_white_space.c: New file.
61478         * lib/unictype/pr_private_use.c: New file.
61479         * lib/unictype/pr_punctuation.c: New file.
61480         * lib/unictype/pr_quotation_mark.c: New file.
61481         * lib/unictype/pr_radical.c: New file.
61482         * lib/unictype/pr_sentence_terminal.c: New file.
61483         * lib/unictype/pr_soft_dotted.c: New file.
61484         * lib/unictype/pr_space.c: New file.
61485         * lib/unictype/pr_terminal_punctuation.c: New file.
61486         * lib/unictype/pr_test.c: New file.
61487         * lib/unictype/pr_titlecase.c: New file.
61488         * lib/unictype/pr_unassigned_code_value.c: New file.
61489         * lib/unictype/pr_unified_ideograph.c: New file.
61490         * lib/unictype/pr_uppercase.c: New file.
61491         * lib/unictype/pr_variation_selector.c: New file.
61492         * lib/unictype/pr_white_space.c: New file.
61493         * lib/unictype/pr_xid_continue.c: New file.
61494         * lib/unictype/pr_xid_start.c: New file.
61495         * lib/unictype/pr_zero_width.c: New file.
61496         * lib/unictype/scripts.c: New file.
61497         * lib/unictype/sy_c_ident.c: New file.
61498         * lib/unictype/sy_c_whitespace.c: New file.
61499         * lib/unictype/sy_java_ident.c: New file.
61500         * lib/unictype/sy_java_whitespace.c: New file.
61501
61502         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
61503         Unicode 5.0.0.
61504         * lib/unictype/blocks.h: Likewise.
61505         * lib/unictype/categ_C.h: Likewise.
61506         * lib/unictype/categ_Cc.h: Likewise.
61507         * lib/unictype/categ_Cf.h: Likewise.
61508         * lib/unictype/categ_Cn.h: Likewise.
61509         * lib/unictype/categ_Co.h: Likewise.
61510         * lib/unictype/categ_Cs.h: Likewise.
61511         * lib/unictype/categ_L.h: Likewise.
61512         * lib/unictype/categ_Ll.h: Likewise.
61513         * lib/unictype/categ_Lm.h: Likewise.
61514         * lib/unictype/categ_Lo.h: Likewise.
61515         * lib/unictype/categ_Lt.h: Likewise.
61516         * lib/unictype/categ_Lu.h: Likewise.
61517         * lib/unictype/categ_M.h: Likewise.
61518         * lib/unictype/categ_Mc.h: Likewise.
61519         * lib/unictype/categ_Me.h: Likewise.
61520         * lib/unictype/categ_Mn.h: Likewise.
61521         * lib/unictype/categ_N.h: Likewise.
61522         * lib/unictype/categ_Nd.h: Likewise.
61523         * lib/unictype/categ_Nl.h: Likewise.
61524         * lib/unictype/categ_No.h: Likewise.
61525         * lib/unictype/categ_P.h: Likewise.
61526         * lib/unictype/categ_Pc.h: Likewise.
61527         * lib/unictype/categ_Pd.h: Likewise.
61528         * lib/unictype/categ_Pe.h: Likewise.
61529         * lib/unictype/categ_Pf.h: Likewise.
61530         * lib/unictype/categ_Pi.h: Likewise.
61531         * lib/unictype/categ_Po.h: Likewise.
61532         * lib/unictype/categ_Ps.h: Likewise.
61533         * lib/unictype/categ_S.h: Likewise.
61534         * lib/unictype/categ_Sc.h: Likewise.
61535         * lib/unictype/categ_Sk.h: Likewise.
61536         * lib/unictype/categ_Sm.h: Likewise.
61537         * lib/unictype/categ_So.h: Likewise.
61538         * lib/unictype/categ_Z.h: Likewise.
61539         * lib/unictype/categ_Zl.h: Likewise.
61540         * lib/unictype/categ_Zp.h: Likewise.
61541         * lib/unictype/categ_Zs.h: Likewise.
61542         * lib/unictype/categ_of.h: Likewise.
61543         * lib/unictype/combining.h: Likewise.
61544         * lib/unictype/ctype_alnum.h: Likewise.
61545         * lib/unictype/ctype_alpha.h: Likewise.
61546         * lib/unictype/ctype_blank.h: Likewise.
61547         * lib/unictype/ctype_cntrl.h: Likewise.
61548         * lib/unictype/ctype_digit.h: Likewise.
61549         * lib/unictype/ctype_graph.h: Likewise.
61550         * lib/unictype/ctype_lower.h: Likewise.
61551         * lib/unictype/ctype_print.h: Likewise.
61552         * lib/unictype/ctype_punct.h: Likewise.
61553         * lib/unictype/ctype_space.h: Likewise.
61554         * lib/unictype/ctype_upper.h: Likewise.
61555         * lib/unictype/ctype_xdigit.h: Likewise.
61556         * lib/unictype/decdigit.h: Likewise.
61557         * lib/unictype/digit.h: Likewise.
61558         * lib/unictype/mirror.h: Likewise.
61559         * lib/unictype/numeric.h: Likewise.
61560         * lib/unictype/pr_alphabetic.h: Likewise.
61561         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61562         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
61563         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61564         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61565         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61566         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61567         * lib/unictype/pr_bidi_control.h: Likewise.
61568         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61569         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61570         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
61571         * lib/unictype/pr_bidi_european_digit.h: Likewise.
61572         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
61573         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
61574         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
61575         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
61576         * lib/unictype/pr_bidi_pdf.h: Likewise.
61577         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61578         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61579         * lib/unictype/pr_combining.h: Likewise.
61580         * lib/unictype/pr_composite.h: Likewise.
61581         * lib/unictype/pr_currency_symbol.h: Likewise.
61582         * lib/unictype/pr_dash.h: Likewise.
61583         * lib/unictype/pr_decimal_digit.h: Likewise.
61584         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61585         * lib/unictype/pr_deprecated.h: Likewise.
61586         * lib/unictype/pr_diacritic.h: Likewise.
61587         * lib/unictype/pr_extender.h: Likewise.
61588         * lib/unictype/pr_format_control.h: Likewise.
61589         * lib/unictype/pr_grapheme_base.h: Likewise.
61590         * lib/unictype/pr_grapheme_extend.h: Likewise.
61591         * lib/unictype/pr_grapheme_link.h: Likewise.
61592         * lib/unictype/pr_hex_digit.h: Likewise.
61593         * lib/unictype/pr_hyphen.h: Likewise.
61594         * lib/unictype/pr_id_continue.h: Likewise.
61595         * lib/unictype/pr_id_start.h: Likewise.
61596         * lib/unictype/pr_ideographic.h: Likewise.
61597         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61598         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61599         * lib/unictype/pr_ignorable_control.h: Likewise.
61600         * lib/unictype/pr_iso_control.h: Likewise.
61601         * lib/unictype/pr_join_control.h: Likewise.
61602         * lib/unictype/pr_left_of_pair.h: Likewise.
61603         * lib/unictype/pr_line_separator.h: Likewise.
61604         * lib/unictype/pr_logical_order_exception.h: Likewise.
61605         * lib/unictype/pr_lowercase.h: Likewise.
61606         * lib/unictype/pr_math.h: Likewise.
61607         * lib/unictype/pr_non_break.h: Likewise.
61608         * lib/unictype/pr_not_a_character.h: Likewise.
61609         * lib/unictype/pr_numeric.h: Likewise.
61610         * lib/unictype/pr_other_alphabetic.h: Likewise.
61611         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61612         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61613         * lib/unictype/pr_other_id_continue.h: Likewise.
61614         * lib/unictype/pr_other_id_start.h: Likewise.
61615         * lib/unictype/pr_other_lowercase.h: Likewise.
61616         * lib/unictype/pr_other_math.h: Likewise.
61617         * lib/unictype/pr_other_uppercase.h: Likewise.
61618         * lib/unictype/pr_paired_punctuation.h: Likewise.
61619         * lib/unictype/pr_paragraph_separator.h: Likewise.
61620         * lib/unictype/pr_pattern_syntax.h: Likewise.
61621         * lib/unictype/pr_pattern_white_space.h: Likewise.
61622         * lib/unictype/pr_private_use.h: Likewise.
61623         * lib/unictype/pr_punctuation.h: Likewise.
61624         * lib/unictype/pr_quotation_mark.h: Likewise.
61625         * lib/unictype/pr_radical.h: Likewise.
61626         * lib/unictype/pr_sentence_terminal.h: Likewise.
61627         * lib/unictype/pr_soft_dotted.h: Likewise.
61628         * lib/unictype/pr_space.h: Likewise.
61629         * lib/unictype/pr_terminal_punctuation.h: Likewise.
61630         * lib/unictype/pr_titlecase.h: Likewise.
61631         * lib/unictype/pr_unassigned_code_value.h: Likewise.
61632         * lib/unictype/pr_unified_ideograph.h: Likewise.
61633         * lib/unictype/pr_uppercase.h: Likewise.
61634         * lib/unictype/pr_variation_selector.h: Likewise.
61635         * lib/unictype/pr_white_space.h: Likewise.
61636         * lib/unictype/pr_xid_continue.h: Likewise.
61637         * lib/unictype/pr_xid_start.h: Likewise.
61638         * lib/unictype/pr_zero_width.h: Likewise.
61639         * lib/unictype/scripts.h: Likewise.
61640         * lib/unictype/scripts_byname.gperf: Likewise.
61641         * lib/unictype/sy_c_ident.h: Likewise.
61642         * lib/unictype/sy_c_whitespace.h: Likewise.
61643         * lib/unictype/sy_java_ident.h: Likewise.
61644         * lib/unictype/sy_java_whitespace.h: Likewise.
61645
61646         * lib/unictype/Makefile: New file.
61647         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
61648         glibc.
61649         * lib/unictype/3level.h: New file, copied from glibc.
61650         * lib/unictype/3levelbit.h: New file.
61651
61652 2007-11-11  Bruno Haible  <bruno@clisp.org>
61653
61654         * modules/gperf: New file.
61655         * modules/iconv_open (Depends-on): Add it.
61656         (Makefile.am): Remove the GPERF definition.
61657
61658 2007-11-11  Bruno Haible  <bruno@clisp.org>
61659
61660         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
61661         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
61662
61663 2007-11-11  Bruno Haible  <bruno@clisp.org>
61664
61665         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
61666         (usage): Remove function.
61667
61668 2007-11-11  Bruno Haible  <bruno@clisp.org>
61669
61670         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
61671         gl_FUNC_CEILF_LIBS.
61672         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
61673         gl_FUNC_CEIL_LIBS.
61674         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
61675         gl_FUNC_CEILL_LIBS.
61676         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
61677         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
61678         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
61679
61680 2007-11-11  Bruno Haible  <bruno@clisp.org>
61681
61682         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
61683         roundf were declared but do not exist on functions.
61684         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
61685         roundl were declared but do not exist on functions.
61686         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
61687         HAVE_FLOORL_AND_CEILL, respectively.
61688         Needed for Sun C on Solaris 10.
61689
61690 2007-11-11  Bruno Haible  <bruno@clisp.org>
61691
61692         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
61693         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
61694         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
61695         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
61696         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
61697         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
61698         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
61699         HAVE_DECL_ROUNDF.
61700         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
61701         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
61702         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
61703         of HAVE_DECL_ROUND*.
61704         * modules/math (Makefile.am): Update.
61705
61706 2007-11-10  Bruno Haible  <bruno@clisp.org>
61707
61708         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
61709         ptrdiff_t as m4/intl.m4.
61710
61711 2007-11-10  Jim Meyering  <meyering@redhat.com>
61712
61713         Avoid link failure for the argmatch test.
61714         * tests/test-argmatch.c (usage): Define function to avoid a link
61715         failure: argmatch_die requires a usage function.
61716
61717 2007-11-09  Bruno Haible  <bruno@clisp.org>
61718
61719         * doc/functions/snprintf.texi: Mention BeOS deficiency.
61720         * doc/functions/vsnprintf.texi: Likewise.
61721         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
61722         with a size argument < 2.
61723
61724 2007-11-09  Bruno Haible  <bruno@clisp.org>
61725
61726         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
61727         buffer. Fixes an inefficiency introduced on 2007-11-03.
61728
61729 2007-11-09  Bruno Haible  <bruno@clisp.org>
61730
61731         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
61732         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
61733
61734 2007-11-08  Jim Meyering  <meyering@redhat.com>
61735
61736         Change cache variable name prefix "jm_" to "gl_" everywhere.
61737         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
61738         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
61739         * m4/uptime.m4: s/gl_/jm_/
61740
61741 2007-11-07  Bruno Haible  <bruno@clisp.org>
61742
61743         Update to GNU gettext 0.17.
61744         * m4/intl.m4: Update to GNU gettext 0.17.
61745         * m4/po.m4: Likewise.
61746         * modules/gettext (Files): Remove m4/ulonglong.m4.
61747         (configure.ac): Require gettext infrastructure from version 0.17.
61748
61749 2007-11-06  Bruno Haible  <bruno@clisp.org>
61750
61751         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
61752         symbolic values are not defined in a public header.
61753         * lib/freadable.c (freadable) [QNX]: Likewise.
61754         * lib/freadahead.c (freadahead) [QNX]: Likewise.
61755         * lib/freading.c (freading) [QNX]: Likewise.
61756         * lib/fseterr.c (fseterr) [QNX]: Likewise.
61757         * lib/fwritable.c (fwritable) [QNX]: Likewise.
61758         * lib/fwriting.c (fwriting) [QNX]: Likewise.
61759         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
61760         Reported by Alain Magloire.
61761
61762         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
61763
61764 2007-11-05  Bruno Haible  <bruno@clisp.org>
61765
61766         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
61767         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
61768         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
61769         Reported by Eric Blake.
61770
61771 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61772             Bruno Haible  <bruno@clisp.org>
61773
61774         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
61775         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
61776         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
61777         (malloc): Undefine also before including <stdlib.h>.
61778         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
61779         Needed on OSF/1 4.0.
61780
61781 2007-11-05  Jim Meyering  <meyering@redhat.com>
61782
61783         git-version-gen: sync from coreutils.
61784         * build-aux/git-version-gen: Add comments.
61785         Change the first '-' to '.' in the snapshot version string,
61786         e.g., 6.9-377-08144 -> 6.9.377-08144
61787         Remove first parameter.
61788         Don't declare a version "-dirty" merely because a time
61789         stamp has changed.
61790
61791 2007-11-04  Bruno Haible  <bruno@clisp.org>
61792
61793         * lib/lock.h: Protect all macro definitions containing an 'if'
61794         statement through a "do { ... } while (0)".
61795         * lib/tls.h: Likewise.
61796
61797 2007-11-04  Bruno Haible  <bruno@clisp.org>
61798
61799         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
61800
61801 2007-11-04  Bruno Haible  <bruno@clisp.org>
61802
61803         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
61804         * modules/fprintf-posix (Depends-on): Add nocrash.
61805         * modules/snprintf-posix (Depends-on): Likewise.
61806         * modules/sprintf-posix (Depends-on): Likewise.
61807         * modules/vasnprintf-posix (Depends-on): Likewise.
61808         * modules/vasprintf-posix (Depends-on): Likewise.
61809         * modules/vfprintf-posix (Depends-on): Likewise.
61810         * modules/vsnprintf-posix (Depends-on): Likewise.
61811         * modules/vsprintf-posix (Depends-on): Likewise.
61812         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61813         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61814         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61815         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61816         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61817         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61818         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61819
61820 2007-11-04  Bruno Haible  <bruno@clisp.org>
61821
61822         * modules/nocrash: New file.
61823         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
61824         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
61825
61826 2007-11-04  Bruno Haible  <bruno@clisp.org>
61827
61828         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
61829         precision handling.
61830         * tests/test-vasprintf-posix.c (test_function): Likewise.
61831         * tests/test-snprintf-posix.h (test_function): Likewise.
61832         * tests/test-sprintf-posix.h (test_function): Likewise.
61833
61834         Fix *printf behaviour for large precisions on mingw and BeOS.
61835         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
61836         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
61837         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
61838         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61839         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61840         gl_PRINTF_PRECISION and test its result. Invoke
61841         gl_PREREQ_VASNPRINTF_PRECISION.
61842         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61843         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61844         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61845         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61846         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61847         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61848         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61849         * doc/functions/fprintf.texi: Update.
61850         * doc/functions/printf.texi: Update.
61851         * doc/functions/snprintf.texi: Update.
61852         * doc/functions/sprintf.texi: Update.
61853         * doc/functions/vfprintf.texi: Update.
61854         * doc/functions/vprintf.texi: Update.
61855         * doc/functions/vsnprintf.texi: Update.
61856         * doc/functions/vsprintf.texi: Update.
61857
61858 2007-11-04  Bruno Haible  <bruno@clisp.org>
61859
61860         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
61861
61862 2007-11-04  Bruno Haible  <bruno@clisp.org>
61863
61864         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
61865         Reported by Sylvain Beucler <beuc@gnu.org>.
61866
61867 2007-11-03  Bruno Haible  <bruno@clisp.org>
61868
61869         * tests/test-fprintf-posix2.sh: New file.
61870         * tests/test-fprintf-posix2.c: New file.
61871         * modules/fprintf-posix-tests (Files): Add them.
61872         (TESTS): Add test-fprintf-posix2.sh.
61873         (configure.ac): Check for getrlimit and setrlimit.
61874         (check_PROGRAMS): Add test-fprintf-posix2.
61875
61876         * tests/test-printf-posix2.sh: New file.
61877         * tests/test-printf-posix2.c: New file.
61878         * modules/printf-posix-tests (Files): Add them.
61879         (TESTS): Add test-printf-posix2.sh.
61880         (configure.ac): Check for getrlimit and setrlimit.
61881         (check_PROGRAMS): Add test-printf-posix2.
61882
61883         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
61884         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
61885         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
61886         (decode_double): New function, copied from decode_long_double.
61887         (scale10_round_decimal_decoded): New function, extracted from
61888         scale10_round_decimal_long_double.
61889         (scale10_round_decimal_long_double): Use it.
61890         (scale10_round_decimal_double): New function.
61891         (floorlog10): New function.
61892         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
61893         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
61894         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61895         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61896         gl_PRINTF_ENOMEM and test its result. Invoke
61897         gl_PREREQ_VASNPRINTF_ENOMEM.
61898         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61899         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61900         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61901         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61902         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61903         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61904         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61905         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
61906         * modules/snprintf-posix (Depends-on): Likewise.
61907         * modules/sprintf-posix (Depends-on): Likewise.
61908         * modules/vasnprintf-posix (Depends-on): Likewise.
61909         * modules/vasprintf-posix (Depends-on): Likewise.
61910         * modules/vfprintf-posix (Depends-on): Likewise.
61911         * modules/vsnprintf-posix (Depends-on): Likewise.
61912         * modules/vsprintf-posix (Depends-on): Likewise.
61913         * doc/functions/fprintf.texi: Update.
61914         * doc/functions/printf.texi: Update.
61915         * doc/functions/snprintf.texi: Update.
61916         * doc/functions/sprintf.texi: Update.
61917         * doc/functions/vfprintf.texi: Update.
61918         * doc/functions/vprintf.texi: Update.
61919         * doc/functions/vsnprintf.texi: Update.
61920         * doc/functions/vsprintf.texi: Update.
61921
61922 2007-11-03  Bruno Haible  <bruno@clisp.org>
61923
61924         * modules/frexp-nolibm-tests: New file.
61925
61926         * modules/frexp-nolibm: New file.
61927         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
61928
61929 2007-11-03  Bruno Haible  <bruno@clisp.org>
61930
61931         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
61932         value is C99 compliant.
61933         Needed for OSF/1 5.1.
61934
61935 2007-11-03  Bruno Haible  <bruno@clisp.org>
61936
61937         Fix out-of-memory handling of vasnprintf.
61938         * lib/printf-parse.c: Include <errno.h>.
61939         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
61940         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
61941         is already set.
61942
61943 2007-11-02  Eric Blake  <ebb9@byu.net>
61944
61945         Fix tests on cygwin.
61946         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
61947
61948 2007-11-01  Bruno Haible  <bruno@clisp.org>
61949
61950         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
61951         warning.
61952         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
61953         needed for POSIX compatibility.
61954
61955 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
61956
61957         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
61958         for compatibility with GNU.
61959
61960 2007-11-01  Bruno Haible  <bruno@clisp.org>
61961
61962         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
61963         (putenv): Renamed from rpl_putenv. Change argument type from
61964         'const char *' to 'char *'.
61965         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
61966         of defining putenv in config.h, just set REPLACE_PUTENV.
61967         * modules/putenv (Depends-on): Add stdlib.
61968         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
61969         (Include): Use <stdlib.h>.
61970         * lib/stdlib.in.h (putenv): New declaration.
61971         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
61972         REPLACE_PUTENV.
61973         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
61974         REPLACE_PUTENV.
61975         Needed for MacOS X 10.5.0.
61976         Reported by Peter O'Gorman <peter@pogma.com>.
61977
61978 2007-11-01  Jim Meyering  <meyering@redhat.com>
61979
61980         Treat an empty date string exactly like "0".
61981         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
61982         if the remaining date string (to be parsed) is empty, use "0".
61983         Reported by Mischa Molhoek and discussed in this thread:
61984         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
61985
61986 2007-10-31  Bruno Haible  <bruno@clisp.org>
61987
61988         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
61989         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
61990         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
61991         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
61992         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
61993         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
61994
61995 2007-10-31  Bruno Haible  <bruno@clisp.org>
61996
61997         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
61998         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
61999         (AC_TYPE_LONG_LONG_INT): Use it.
62000         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
62001         it as well.
62002         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
62003         to m4/longlong.m4.
62004         * modules/stdint (Files): Remove m4/ulonglong.m4.
62005         * modules/strtoull (Files): Use m4/longlong.m4 instead of
62006         m4/ulonglong.m4.
62007         * modules/strtoumax (Files): Likewise.
62008
62009 2007-10-30  Bruno Haible  <bruno@clisp.org>
62010
62011         * modules/xvasprintf-posix: New file.
62012         Suggested by Eric Blake.
62013
62014 2007-10-30  Bruno Haible  <bruno@clisp.org>
62015
62016         * modules/xprintf-posix-tests: New file.
62017         * tests/test-xprintf-posix.sh: New file.
62018         * tests/test-xprintf-posix.c: New file.
62019         * tests/test-xfprintf-posix.c: New file.
62020
62021         * modules/xprintf-posix: New file.
62022
62023 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62024
62025         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
62026         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
62027         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
62028
62029 2007-10-29  Bruno Haible  <bruno@clisp.org>
62030
62031         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
62032         contain the special marker '_cv_'.
62033         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
62034         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
62035         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
62036         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
62037         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
62038         Reported by Ralf Wildenhues.
62039
62040 2007-10-29  Bruno Haible  <bruno@clisp.org>
62041
62042         * gnulib-tool (func_import): When --lgpl is not specified, set
62043         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
62044         GPLv3.
62045         Reported by Simon Josefsson.
62046
62047 2007-10-28  Bruno Haible  <bruno@clisp.org>
62048
62049         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
62050         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
62051         HAVE_DECL_ISFINITE.
62052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62053         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
62054         HAVE_DECL_ISFINITE.
62055
62056 2007-10-28  Bruno Haible  <bruno@clisp.org>
62057
62058         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
62059         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
62060
62061 2007-10-28  Bruno Haible  <bruno@clisp.org>
62062
62063         Fix link errors with Sun C 5.0 on Solaris 10.
62064         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
62065         function is declared but not present in the compiler's libm.
62066         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
62067         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
62068         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
62069         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
62070         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
62071         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
62072         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
62073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
62074         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
62075         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
62076         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
62077         HAVE_DECL_FLOORL.
62078
62079 2007-10-28  Bruno Haible  <bruno@clisp.org>
62080
62081         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
62082         gl_FUNC_FLOORL. Cache the result.
62083         (gl_FUNC_FLOORL): Use it.
62084         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
62085         gl_FUNC_CEILL. Cache the result.
62086         (gl_FUNC_CEILL): Use it.
62087
62088         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
62089         gl_FUNC_FLOOR. Cache the result.
62090         (gl_FUNC_FLOOR): Use it.
62091         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
62092         gl_FUNC_CEIL. Cache the result.
62093         (gl_FUNC_CEIL): Use it.
62094
62095         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
62096         gl_FUNC_FLOORF. Cache the result.
62097         (gl_FUNC_FLOORF): Use it.
62098         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
62099         gl_FUNC_CEILF. Cache the result.
62100         (gl_FUNC_CEILF): Use it.
62101
62102 2007-10-28  Bruno Haible  <bruno@clisp.org>
62103
62104         * gnulib-tool: Allow specifying the LGPL version number through
62105         --lgpl=2 or --lgpl=3.
62106         (func_usage): Document --lgpl with argument.
62107         Handle --lgpl=... arguments.
62108         (func_import): Recognize also gl_LGPL calls with an argument. When
62109         --lgpl=2 is used and the module's license is just LGPL, report an
62110         error. Set sed_transform_lib_file according to the lgpl variable. In
62111         the generated files, use --lgpl or gl_LGPL invocations with argument,
62112         if necessary.
62113         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
62114         an LGPv2+ license.
62115         * doc/gnulib-tool.texi (Modified imports): Update explanation of
62116         gl_LGPL macro.
62117
62118 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62119             Bruno Haible  <bruno@clisp.org>
62120
62121         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
62122         (u16_uctomb_aux): Likewise.
62123         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
62124         !HAVE_INLINE.
62125         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
62126
62127 2007-10-28  Bruno Haible  <bruno@clisp.org>
62128
62129         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
62130         Invoke AM_GETTEXT_OPTION if it exists.
62131         * modules/vasprintf: Likewise.
62132         * modules/verror: Likewise.
62133         * modules/xprintf: Likewise.
62134         * modules/xvasprintf: Likewise.
62135
62136 2007-10-27  Ben Pfaff  <blp@gnu.org>
62137
62138         * lib/math.in.h: Define isfinite macro and prototypes for
62139         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
62140         implementations.
62141         * m4/math_h.m4: New substitutions for isfinite module.
62142         * lib/isfinite.c: New file.
62143         * m4/isfinite.m4: New file.
62144         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
62145         * modules/isfinite: New file.
62146         * modules/isfinite-tests: New file.
62147         * tests/tests-isfinite.c: New file.
62148         * doc/functions/isfinite.texi: Mention isfinite module.
62149         * MODULES.html.sh: Mention new module.
62150
62151 2007-10-27  Ben Pfaff  <blp@gnu.org>
62152
62153         Ralf Wildenhues reported that Tru64 4.0D declares the round
62154         functions but does not have definitions.
62155         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
62156         cannot be found in any library, set the output variable to
62157         "missing" instead of "".
62158         * m4/round.m4: Also use our substitute if we cannot find round in
62159         any library, even if it is declared.
62160         * m4/roundf.m4: Likewise for roundf.
62161         * m4/roundl.m4: Likewise for roundl.
62162         * lib/math.in.h: Undefine roundf, round, roundl before defining
62163         their replacements, to allow for hypothetical systems where these
62164         may be defined as macros but not available in libraries.
62165
62166 2007-10-27  Bruno Haible  <bruno@clisp.org>
62167
62168         * doc/gnulib.texi: Invoke @firstparagraphindent.
62169         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
62170         changes in gnulib.
62171         (Source changes): New section.
62172
62173 2007-10-26  Bruno Haible  <bruno@clisp.org>
62174
62175         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
62176         borrowed from autoconf.
62177
62178 2007-10-26  Bruno Haible  <bruno@clisp.org>
62179
62180         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
62181         strerror returned the empty string. Needed on HP-UX 11.00.
62182
62183 2007-10-24  Micah Cowan  <micah@cowan.name>
62184
62185         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
62186         * build-aux/bootstrap: Remove support for now-unnecessary option,
62187         --cvs-user, and envvars CVS_USER, CVS_RSH.
62188
62189 2007-10-24  Jim Meyering  <meyering@redhat.com>
62190
62191         Avoid diagnostics from sha1sum when there is no cached checksum.
62192         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
62193         if the po.s1 file hasn't been created yet.
62194
62195         * build-aux/bootstrap: Sync from coreutils:
62196         2007-10-24  Jim Meyering  <meyering@redhat.com>
62197         Get gnulib from the git repository, not from an obsolete cvs one.
62198         * build-aux/bootstrap: Suggestion from Micah Cowan.
62199         2007-10-04  Jim Meyering  <jim@meyering.net>
62200         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
62201         (update_po_files): Work also when there are no .po files in po/.
62202
62203 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62204
62205         * README: Append ".git" to git and cg examples.
62206         Problem reported by Benoit Sigoure.
62207
62208 2007-10-23  Micah Cowan  <micah@cowan.name>
62209
62210         * users.txt: Add wget.
62211
62212 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62213
62214         Fix linking of some unistdio tests on FreeBSD.
62215         * modules/unistdio/u16-vsnprintf-tests
62216         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
62217         * modules/unistdio/u16-vsprintf-tests
62218         (test_u16_vsnprintf1_LDADD): Likewise.
62219         * modules/unistdio/u32-vsnprintf-tests
62220         (test_u32_vsnprintf1_LDADD): Likewise.
62221         * modules/unistdio/u32-vsprintf-tests
62222         (test_u32_vsprintf1_LDADD): Likewise.
62223         * modules/unistdio/u8-vsnprintf-tests
62224         (test_u8_vsnprintf1_LDADD): Likewise.
62225         * modules/unistdio/u8-vsprintf-tests
62226         (test_u8_vsprintf1_LDADD): Likewise.
62227         * modules/unistdio/ulc-vsnprintf-tests
62228         (test_ulc_vsnprintf1_LDADD): Likewise.
62229         * modules/unistdio/ulc-vsprintf-tests
62230         (test_ulc_vsprintf1_LDADD): Likewise.
62231
62232         Fix linking of some uniconv tests on FreeBSD.
62233         * modules/uniconv/u16-conv-from-enc-tests
62234         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
62235         * modules/uniconv/u16-conv-to-enc-tests
62236         (test_u16_conv_to_enc_LDADD): Likewise.
62237         * modules/uniconv/u16-strconv-from-enc-tests
62238         (test_u16_strconv_from_enc_LDADD): Likewise.
62239         * modules/uniconv/u16-strconv-to-enc-tests
62240         (test_u16_strconv_to_enc_LDADD): Likewise.
62241         * modules/uniconv/u32-conv-from-enc-tests
62242         (test_u32_conv_from_enc_LDADD): Likewise.
62243         * modules/uniconv/u32-conv-to-enc-tests
62244         (test_u32_conv_to_enc_LDADD): Likewise.
62245         * modules/uniconv/u32-strconv-from-enc-tests
62246         (test_u32_strconv_from_enc_LDADD): Likewise.
62247         * modules/uniconv/u32-strconv-to-enc-tests
62248         (test_u32_strconv_to_enc_LDADD): Likewise.
62249         * modules/uniconv/u8-conv-from-enc-tests
62250         (test_u8_conv_from_enc_LDADD): Likewise.
62251         * modules/uniconv/u8-conv-to-enc-tests
62252         (test_u8_conv_to_enc_LDADD): Likewise.
62253         * modules/uniconv/u8-strconv-from-enc-tests
62254         (test_u8_strconv_from_enc_LDADD): Likewise.
62255         * modules/uniconv/u8-strconv-to-enc-tests
62256         (test_u8_strconv_to_enc_LDADD): Likewise.
62257
62258 2007-10-22  Bruno Haible  <bruno@clisp.org>
62259
62260         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
62261         size.
62262
62263 2007-10-22  Eric Blake  <ebb9@byu.net>
62264
62265         Tweak x*printf documentation.
62266         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
62267         variable name and comments.
62268         Suggested by Bruno Haible.
62269
62270 2007-10-22  Bruno Haible  <bruno@clisp.org>
62271
62272         * lib/acl.c (copy_acl): Fix file name in comment.
62273
62274 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62275
62276         Fix Tru64 problem with stdbool.h.
62277         * lib/stdbool.in.h (false, true):
62278         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
62279         Don't declare as an enum in this situation; it runs afoul of Tru64.
62280         Problem reported by Steven M. Schweda in
62281         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
62282
62283 2007-10-22  Eric Blake  <ebb9@byu.net>
62284
62285         Also wrap vf?printf.
62286         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
62287         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
62288         (xvprintf, xvfprintf): New functions.
62289
62290 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62291
62292         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
62293         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
62294
62295         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
62296         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
62297
62298 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62299
62300         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
62301         by Bruno Haible.
62302
62303 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62304
62305         * lib/getloadavg.c
62306         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
62307         Undef `sys' after including sys/table.h, for Tru64 4.0D.
62308
62309         * tests/test-i-ring.c: Work for C89.
62310
62311 2007-10-22  Bruno Haible  <bruno@clisp.org>
62312
62313         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
62314         -1u, in preprocessor expression, so that we don't test for the bug
62315         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
62316         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
62317
62318 2007-10-22  Eric Blake  <ebb9@byu.net>
62319
62320         * tests/test-yesno.sh: Silence stderr during test.
62321
62322 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62323
62324         * modules/crypto/gc-camellia: New file.
62325
62326         * m4/gc-camellia.m4: New file.
62327
62328         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
62329
62330         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
62331
62332 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62333
62334         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
62335         --help to stdout.  Reported by sms@antinode.org (Steven
62336         M. Schweda).
62337
62338 2007-10-22  Simon Josefsson  <simon@josefsson.org>
62339
62340         * users.txt: Fix link to libksba.
62341
62342 2007-10-21  Ben Pfaff  <blp@gnu.org>
62343
62344         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
62345         round.c roundf implementation that depends on floorf and ceilf to
62346         be tested unconditionally.
62347
62348 2007-10-21  Ben Pfaff  <blp@gnu.org>
62349
62350         * m4/check-libm-func.m4: Removed.
62351         * m4/check-math-lib.m4: New file.
62352         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
62353         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
62354         definition and lack of AC_LIBOBJ([roundf]).
62355         * m4/roundl.m4: Ditto, and similarly for roundl.
62356         * modules/round: Reference new m4 file.
62357         * modules/roundf: Ditto.
62358         * modules/roundl: Ditto.
62359         * tests/test-round2.c (main): Use ROUND instead of round.
62360         Bug report from Bruno Haible.
62361
62362 2007-10-21  Bruno Haible  <bruno@clisp.org>
62363
62364         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
62365         context.
62366
62367 2007-10-21  Bruno Haible  <bruno@clisp.org>
62368
62369         * tests/test-wcwidth.c (main): Allow negative result for some control
62370         characters.
62371
62372         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
62373         Needed on OSF/1 5.1.
62374
62375 2007-10-21  Bruno Haible  <bruno@clisp.org>
62376
62377         * tests/test-floorf1.c: Include isnanf.h.
62378         (main): Use isnanf() instead of isnan().
62379         * tests/test-ceilf1.c: Include isnanf.h.
62380         (main): Use isnanf() instead of isnan().
62381         * tests/test-truncf1.c: Include isnanf.h.
62382         (main): Use isnanf() instead of isnan().
62383         * tests/test-roundf1.c: Include isnanf.h.
62384         (main): Use isnanf() instead of isnan().
62385
62386 2007-10-21  Eric Blake  <ebb9@byu.net>
62387
62388         * users.txt: Update URL for m4.
62389
62390 2007-10-21  Bruno Haible  <bruno@clisp.org>
62391
62392         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
62393
62394 2007-10-21  Bruno Haible  <bruno@clisp.org>
62395
62396         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
62397         Git's management files if the CVS files are not present.
62398
62399 2007-10-20  Bruno Haible  <bruno@clisp.org>
62400
62401         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
62402         gcc-3.4.x.
62403
62404 2007-10-20  Ben Pfaff  <blp@gnu.org>
62405
62406         * lib/math.in.h: Declare round, roundf, roundl if we are providing
62407         implementations.
62408         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
62409         * lib/round.c: New file.
62410         * lib/roundf.c: New file.
62411         * lib/roundl.c: New file.
62412         * m4/round.m4: New file.
62413         * m4/roundf.m4: New file.
62414         * m4/roundl.m4: New file.
62415         * m4/check-libm-func-m4: New file.
62416         * modules/math: Replace round, roundf, roundl related @VARS@ in
62417         math.in.h.
62418         * modules/round: New file.
62419         * modules/round-tests: New file.
62420         * modules/roundf: New file.
62421         * modules/roundf-tests: New file.
62422         * modules/roundl: New file.
62423         * modules/roundl-tests: New file.
62424         * tests/test-round1.c: New file.
62425         * tests/test-round2.c: New file.
62426         * tests/test-roundf1.c: New file.
62427         * tests/test-roundf2.c: New file.
62428         * tests/test-roundl.c: New file.
62429         * doc/functions/round.texi: Mention round module.
62430         * doc/functions/roundf.texi: Mention roundf module.
62431         * doc/functions/roundl.texi: Mention roundl module.
62432         * MODULES.html.sh: Mention new modules.
62433         Thanks to Bruno Haible for suggestions.
62434
62435 2007-10-20  Jim Meyering  <meyering@redhat.com>
62436
62437         * lib/xprintf.c: Include <config.h> unconditionally.
62438
62439         Change xprintf's license to GPL.
62440         * modules/xprintf (License): s/LGPL/GPL/, since this module
62441         depends on modules (exit and exitfail) which are GPL.
62442         Suggestion from Bruno Haible.
62443
62444         xprintf fixes.
62445         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
62446         Use a clearer diagnostic.
62447         Patch from Bruno Haible.
62448
62449 2007-10-20  Bruno Haible  <bruno@clisp.org>
62450
62451         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
62452         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
62453         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62454
62455 2007-10-20  Bruno Haible  <bruno@clisp.org>
62456
62457         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
62458         precision in the comparison result > x - 1 or similar.
62459         * tests/test-ceilf2.c (correct_result_p): Likewise.
62460         * tests/test-truncf2.c (correct_result_p): Likewise.
62461         * tests/test-trunc2.c (correct_result_p): Likewise.
62462         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62463
62464 2007-10-20  Bruno Haible  <bruno@clisp.org>
62465
62466         * modules/ceil: New file.
62467         * m4/ceil.m4: New file.
62468         * doc/functions/ceil.texi: Mention the 'ceil' module.
62469
62470 2007-10-20  Bruno Haible  <bruno@clisp.org>
62471
62472         * modules/floor: New file.
62473         * m4/floor.m4: New file.
62474         * doc/functions/floor.texi: Mention the 'floor' module.
62475
62476 2007-10-20  Bruno Haible  <bruno@clisp.org>
62477
62478         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
62479         of %a.
62480         * modules/floorf-tests (Depends-on): Likewise.
62481         * modules/truncf-tests (Depends-on): Likewise.
62482         * modules/trunc-tests (Depends-on): Likewise.
62483         Reported by Ben Pfaff.
62484
62485 2007-10-19  Jim Meyering  <meyering@redhat.com>
62486
62487         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
62488         Don't bother testing specific errno values.  Just test ferror.
62489
62490         New module: xprintf
62491         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
62492
62493 2007-10-19  Bruno Haible  <bruno@clisp.org>
62494
62495         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
62496         syntax.
62497         * modules/javaexec (Makefile.am): Likewise.
62498         * modules/relocatable-prog (Makefile.am): Likewise.
62499         Suggested by Jim Meyering.
62500
62501 2007-10-18  Bruno Haible  <bruno@clisp.org>
62502
62503         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
62504         Reported by Jim Meyering.
62505
62506 2007-10-18  Eric Blake  <ebb9@byu.net>
62507
62508         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
62509
62510 2007-10-18  Bruno Haible  <bruno@clisp.org>
62511
62512         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
62513         the format string into writable memory. Needed in Fortify conditions.
62514
62515 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
62516             Bruno Haible  <bruno@clisp.org>
62517
62518         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
62519         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
62520         * modules/trim (Depends-on): Add mbchar.
62521         (configure.ac): Add gl_FUNC_MBRTOWC.
62522         (Makefile.am): Augment lib_SOURCES.
62523
62524 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62525
62526         Modify glob.c to use fstatat and dirfd, to simplify it.
62527         Suggested by Eric Blake.
62528         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
62529         Don't include <stdbool.h>; not used.
62530         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
62531         (link_exists_p): Simplify implementation, since we can now assume
62532         dirfd and fstatat.
62533         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
62534
62535 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62536
62537         * gnulib-tool (func_get_dependencies): Fix sed script to
62538         match only tests.
62539
62540 2007-10-17  Bruno Haible  <bruno@clisp.org>
62541
62542         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
62543         allow locale names without encoding suffix.
62544         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62545         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62546
62547 2007-10-16  Bruno Haible  <bruno@clisp.org>
62548
62549         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
62550         * lib/getgroups.c (getgroups): Likewise.
62551         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
62552
62553 2007-10-16  Bruno Haible  <bruno@clisp.org>
62554
62555         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
62556         * modules/malloc-posix (License): Likewise.
62557         * modules/realloc-posix (License): Likewise.
62558         * modules/calloc-posix (License): Likewise.
62559         * modules/intprops (License): Change from GPL to LGPL, with
62560         Paul Eggert's approval.
62561
62562 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62563
62564         Merge glibc changes into lib/glob.c.
62565
62566         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
62567         2007-10-15 04:59:03 UTC.  Here are the changes:
62568
62569         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
62570
62571         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
62572
62573         * lib/glob.c: Add some branch prediction throughout.
62574
62575         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
62576
62577         [BZ #5103]
62578         * lib/glob.c (glob): Recognize patterns starting \/.
62579
62580         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
62581
62582         [BZ #3996]
62583         * lib/glob.c (attribute_hidden): Define if not defined.
62584         (glob): Unescape dirname, filename or username when needed and not
62585         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
62586         is NULL.  Handle unescaped [ in pattern without closing ].
62587         Don't pass GLOB_CHECK down to recursive glob for directories.
62588         (__glob_pattern_type): New function.
62589         (__glob_pattern_p): Implement using __glob_pattern_type.
62590         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
62591         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
62592         Remove unreachable code.
62593
62594         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
62595
62596         * lib/glob.c (glob_in_dir): Add some comments and asserts to
62597         explain why there are no leaks.
62598
62599         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
62600
62601         [BZ #3253]
62602         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
62603         time, rather allocate increasingly bigger arrays of pointers, if
62604         possible with alloca, if too large with malloc.
62605
62606 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
62607
62608         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
62609         Problem reported by H.Merijn Brand in
62610         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
62611         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
62612         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
62613
62614 2007-10-15  Bruno Haible  <bruno@clisp.org>
62615
62616         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
62617         with explicit rpl_ prefix.
62618         * lib/fopen.c (fopen): Likewise.
62619         * lib/freopen.c (freopen): Likewise.
62620         * lib/iconv.c (iconv): Likewise.
62621         * lib/iconv_close.c (iconv_close): Likewise.
62622
62623 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62624
62625         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
62626
62627 2007-10-15  Bruno Haible  <bruno@clisp.org>
62628
62629         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
62630         <stddef.h> instead of <stdlib.h> since we only need NULL.
62631         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62632
62633 2007-10-15  Bruno Haible  <bruno@clisp.org>
62634
62635         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
62636         Replace paragraph talking about LIBOBJS.
62637         Reported by Colin Watson <cjwatson@debian.org>.
62638
62639 2007-10-15  Bruno Haible  <bruno@clisp.org>
62640
62641         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
62642         <stdlib.h> before using NULL.
62643
62644 2007-10-15  Simon Josefsson  <simon@josefsson.org>
62645
62646         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
62647         Reported by Albert Chin <china@thewrittenword.com>.
62648
62649 2007-10-14  Bruno Haible  <bruno@clisp.org>
62650
62651         * modules/iconv_open-utf-tests: New file.
62652         * tests/test-iconv-utf.c: New file.
62653
62654         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
62655         * modules/iconv_open-utf: New file.
62656         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
62657         (iconv, iconv_close): New declarations.
62658         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
62659         be defined.
62660         (iconv_open): Add special handling of conversion between UTF-8 and
62661         UTF-{16,32}{BE,LE}.
62662         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
62663         * lib/iconv_close.c: New file.
62664         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
62665         gl_FUNC_ICONV_OPEN.
62666         (gl_FUNC_ICONV_OPEN): Use it.
62667         (gl_FUNC_ICONV_OPEN_UTF): New macro.
62668         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
62669         and REPLACE_ICONV_UTF.
62670         * modules/iconv_open (Depends-on): Add c-strcase.
62671         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
62672         ICONV_CONST.
62673         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
62674
62675 2007-10-13  Albert Chin  <china@thewrittenword.com>
62676             Bruno Haible  <bruno@clisp.org>
62677
62678         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
62679         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
62680
62681 2007-10-13  Bruno Haible  <bruno@clisp.org>
62682
62683         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
62684         defined, use the ISO C99 inline semantics.
62685         * lib/argp.h (ARGP_EI): Likewise.
62686
62687 2007-10-13  Bruno Haible  <bruno@clisp.org>
62688
62689         Handle 'inline' change in gcc 4.3.0.
62690         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
62691         argp_fmtstream_write, argp_fmtstream_set_lmargin,
62692         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
62693         argp_fmtstream_point): Disable 'extern' declaration if the function
62694         definition is going to be provided inline.
62695         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
62696         semantics, not the ISO C99 inline semantics.
62697         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
62698         'extern' declaration if the function definition is going to be provided
62699         inline.
62700         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
62701         the GNU C inline semantics, not the ISO C99 inline semantics. With
62702         GCC 4.2, avoid a warning.
62703
62704 2007-10-13  Bruno Haible  <bruno@clisp.org>
62705
62706         * lib/freading.h (freading): Enable the use of __freading for
62707         glibc >= 2.7.
62708         * lib/freading.c (freading): Likewise.
62709
62710 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
62711
62712         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
62713         "warning: C99 inline functions are not supported; using GNU89".
62714
62715 2007-10-12  Bruno Haible  <bruno@clisp.org>
62716
62717         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
62718         of 2.
62719         * tests/test-ceilf2.c: New file.
62720         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
62721
62722         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
62723         * modules/ceilf-tests: Update.
62724
62725 2007-10-12  Bruno Haible  <bruno@clisp.org>
62726
62727         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
62728         of 2.
62729         * tests/test-floorf2.c: New file.
62730         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
62731
62732         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
62733         * modules/floorf-tests: Update.
62734
62735 2007-10-12  Bruno Haible  <bruno@clisp.org>
62736
62737         * tests/test-trunc2.c: New file.
62738         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
62739
62740         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
62741         * modules/trunc-tests: Update.
62742
62743 2007-10-12  Bruno Haible  <bruno@clisp.org>
62744
62745         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
62746         of 2.
62747         * tests/test-truncf2.c: New file.
62748         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
62749
62750         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
62751         * modules/truncf-tests: Update.
62752
62753 2007-10-11  Eric Blake  <ebb9@byu.net>
62754
62755         Don't claim strerror is broken on Interix.
62756         * doc/functions/strerror.texi (strerror): Known broken systems are
62757         now Solaris 8, and not Interix.
62758         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
62759         Interix on cross-compile.
62760         Reported by Martin Koeppe in
62761         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
62762
62763 2007-10-11  Bruno Haible  <bruno@clisp.org>
62764
62765         * modules/i-ring-tests: New file.
62766         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
62767         instead of assert.
62768
62769 2007-10-11  Bruno Haible  <bruno@clisp.org>
62770
62771         * modules/filenamecat-tests: New file.
62772         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
62773         * lib/filenamecat.c: Remove test code.
62774
62775 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
62776
62777         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
62778
62779         * lib/strerror.c: Include <string.h> always, to test interface,
62780         and to remove the need for the dummy.
62781         Include intprops.h to compute width instead of doing it ourselves
62782         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
62783         (strerror): Define it to return NULL if there's no system strerror.
62784         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
62785         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
62786         ancient pre-strerror Unix systems well any more.  Saying "unknown
62787         system error" is enough.
62788         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
62789         simpler strerror.c implementation.
62790         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
62791         Simplify the tests to reflect the simpler strerror implementation.
62792         * modules/strerror (Depends-on): Add intprops.
62793
62794 2007-10-09  Eric Blake  <ebb9@byu.net>
62795
62796         Silence test-fpending.
62797         * modules/fpending-tests (Files): Add wrapper script.
62798         * tests/test-fpending.sh: New file.
62799
62800 2007-10-09  Bruno Haible  <bruno@clisp.org>
62801
62802         * MODULES.html.sh (func_module): Don't create a hyperlink for
62803         function names like 'printf_frexp'.
62804         (Misc): Add crc, memxor.
62805         (Characteristics of floating types): New section.
62806         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
62807         isnanf-nolibm, signbit, trunc, truncf, truncl.
62808         (Enhancements for ISO C 99 functions): New subsection Input/output.
62809         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
62810         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
62811         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
62812         (Compatibility checks for POSIX:2001 functions): Add clock-time.
62813         (Enhancements for POSIX:2001 functions): Add chdir-long.
62814         (File system functions): Add areadlink, chdir-safer, read-file.
62815         Remove cycle-check.
62816         (File system as inode set): New section.
62817         (Date and time): Add gethrxtime.
62818         (Multithreading): Add openmp.
62819         (Internationalization functions): Add localename.
62820         (Unicode string functions): Add unistr/u*-mbsnlen.
62821         (Support for maintaining and releasing projects): Add git-version-gen.
62822         (Lone files): Remove directories.
62823
62824 2007-10-08  Ben Pfaff  <blp@gnu.org>
62825
62826         * lib/xmalloca.h: Fix typo in comment.
62827
62828 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
62829
62830         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
62831         when avoiding problems with integer overflow.  Use a portable test
62832         instead.
62833
62834 2007-10-08  Simon Josefsson  <simon@josefsson.org>
62835
62836         * modules/dummy (License): Change to LGPLv2+.
62837         * modules/float (License): Likewise
62838         * modules/realloc (License): Likewise
62839         * modules/stdlib (License): Likewise
62840
62841 2007-10-07  Bruno Haible  <bruno@clisp.org>
62842
62843         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
62844         * floor.c (TWO_MANT_DIG): Likewise.
62845         * ceil.c (TWO_MANT_DIG): Likewise.
62846         Reported by Ben Pfaff.
62847
62848 2007-10-07  Bruno Haible  <bruno@clisp.org>
62849
62850         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
62851         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
62852         * lib/frexp.c (FUNC): Likewise.
62853         * lib/printf-frexp.h (printf_frexp): Likewise.
62854         * lib/printf-frexpl.h (printf_frexpl): Likewise.
62855         * lib/printf-frexp.c (FUNC): Likewise.
62856         Suggested by Jim Meyering.
62857
62858 2007-10-07  Jim Meyering  <meyering@redhat.com>
62859
62860         Make xnanosleep's integer overflow test more robust.
62861         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
62862         so that gcc-4.3.0 doesn't optimize away this test for overflow.
62863
62864 2007-10-07  Bruno Haible  <bruno@clisp.org>
62865
62866         * NEWS: Mention the license change.
62867
62868         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
62869         abbreviations in the modules files.
62870
62871         Change copyright notice from GPLv2+ to GPLv3+.
62872         * README: Change copyright notice.
62873         * MODULES.html.sh: Likewise.
62874         * build-aux/bootstrap.conf: Likewise.
62875         * build-aux/config.libpath: Likewise.
62876         * build-aux/csharpcomp.sh.in: Likewise.
62877         * build-aux/csharpexec.sh.in: Likewise.
62878         * build-aux/install-reloc: Likewise.
62879         * build-aux/javacomp.sh.in: Likewise.
62880         * build-aux/javaexec.sh.in: Likewise.
62881         * build-aux/ldd.sh.in: Likewise.
62882         * build-aux/reloc-ldflags: Likewise.
62883         * build-aux/relocatable.sh.in: Likewise.
62884         * build-aux/x-to-1.in: Likewise.
62885         * check-module: Likewise.
62886         * config/srclistvars.sh: Likewise.
62887         * gnulib-tool: Likewise.
62888         * lib/acl-internal.h: Likewise.
62889         * lib/acl.c: Likewise.
62890         * lib/acl.h: Likewise.
62891         * lib/acl_entries.c: Likewise.
62892         * lib/areadlink-with-size.c: Likewise.
62893         * lib/areadlink.c: Likewise.
62894         * lib/areadlink.h: Likewise.
62895         * lib/argmatch.c: Likewise.
62896         * lib/argmatch.h: Likewise.
62897         * lib/argp-ba.c: Likewise.
62898         * lib/argp-eexst.c: Likewise.
62899         * lib/argp-fmtstream.c: Likewise.
62900         * lib/argp-fmtstream.h: Likewise.
62901         * lib/argp-fs-xinl.c: Likewise.
62902         * lib/argp-help.c: Likewise.
62903         * lib/argp-namefrob.h: Likewise.
62904         * lib/argp-parse.c: Likewise.
62905         * lib/argp-pin.c: Likewise.
62906         * lib/argp-pv.c: Likewise.
62907         * lib/argp-pvh.c: Likewise.
62908         * lib/argp-xinl.c: Likewise.
62909         * lib/argp.h: Likewise.
62910         * lib/at-func.c: Likewise.
62911         * lib/atanl.c: Likewise.
62912         * lib/backupfile.c: Likewise.
62913         * lib/backupfile.h: Likewise.
62914         * lib/basename.c: Likewise.
62915         * lib/binary-io.h: Likewise.
62916         * lib/byteswap.in.h: Likewise.
62917         * lib/c-stack.c: Likewise.
62918         * lib/c-stack.h: Likewise.
62919         * lib/c-strcasestr.c: Likewise.
62920         * lib/c-strcasestr.h: Likewise.
62921         * lib/c-strstr.c: Likewise.
62922         * lib/c-strstr.h: Likewise.
62923         * lib/c-strtod.c: Likewise.
62924         * lib/calloc.c: Likewise.
62925         * lib/canon-host.c: Likewise.
62926         * lib/canon-host.h: Likewise.
62927         * lib/canonicalize-lgpl.c: Likewise.
62928         * lib/canonicalize.c: Likewise.
62929         * lib/canonicalize.h: Likewise.
62930         * lib/ceil.c: Likewise.
62931         * lib/ceilf.c: Likewise.
62932         * lib/ceill.c: Likewise.
62933         * lib/chdir-long.c: Likewise.
62934         * lib/chdir-long.h: Likewise.
62935         * lib/chdir-safer.c: Likewise.
62936         * lib/chdir-safer.h: Likewise.
62937         * lib/chown.c: Likewise.
62938         * lib/classpath.c: Likewise.
62939         * lib/classpath.h: Likewise.
62940         * lib/clean-temp.c: Likewise.
62941         * lib/clean-temp.h: Likewise.
62942         * lib/cloexec.c: Likewise.
62943         * lib/close-stream.c: Likewise.
62944         * lib/closein.c: Likewise.
62945         * lib/closein.h: Likewise.
62946         * lib/closeout.c: Likewise.
62947         * lib/closeout.h: Likewise.
62948         * lib/concat-filename.c: Likewise.
62949         * lib/copy-file.c: Likewise.
62950         * lib/copy-file.h: Likewise.
62951         * lib/count-one-bits.h: Likewise.
62952         * lib/crc.c: Likewise.
62953         * lib/crc.h: Likewise.
62954         * lib/creat-safer.c: Likewise.
62955         * lib/csharpcomp.c: Likewise.
62956         * lib/csharpcomp.h: Likewise.
62957         * lib/csharpexec.c: Likewise.
62958         * lib/csharpexec.h: Likewise.
62959         * lib/cycle-check.c: Likewise.
62960         * lib/cycle-check.h: Likewise.
62961         * lib/diacrit.c: Likewise.
62962         * lib/diacrit.h: Likewise.
62963         * lib/diffseq.h: Likewise.
62964         * lib/dirchownmod.c: Likewise.
62965         * lib/dirent.in.h: Likewise.
62966         * lib/dirfd.c: Likewise.
62967         * lib/dirfd.h: Likewise.
62968         * lib/dirname.c: Likewise.
62969         * lib/dirname.h: Likewise.
62970         * lib/dummy.c: Likewise.
62971         * lib/dup-safer.c: Likewise.
62972         * lib/dup2.c: Likewise.
62973         * lib/eealloc.h: Likewise.
62974         * lib/error.c: Likewise.
62975         * lib/error.h: Likewise.
62976         * lib/euidaccess.c: Likewise.
62977         * lib/exclude.c: Likewise.
62978         * lib/exclude.h: Likewise.
62979         * lib/execute.c: Likewise.
62980         * lib/execute.h: Likewise.
62981         * lib/exitfail.c: Likewise.
62982         * lib/exitfail.h: Likewise.
62983         * lib/expl.c: Likewise.
62984         * lib/fatal-signal.c: Likewise.
62985         * lib/fatal-signal.h: Likewise.
62986         * lib/fbufmode.c: Likewise.
62987         * lib/fbufmode.h: Likewise.
62988         * lib/fchdir.c: Likewise.
62989         * lib/fchmodat.c: Likewise.
62990         * lib/fchownat.c: Likewise.
62991         * lib/fcntl--.h: Likewise.
62992         * lib/fcntl-safer.h: Likewise.
62993         * lib/fcntl.in.h: Likewise.
62994         * lib/fd-safer.c: Likewise.
62995         * lib/fflush.c: Likewise.
62996         * lib/file-has-acl.c: Likewise.
62997         * lib/file-set.c: Likewise.
62998         * lib/file-type.c: Likewise.
62999         * lib/file-type.h: Likewise.
63000         * lib/fileblocks.c: Likewise.
63001         * lib/filemode.c: Likewise.
63002         * lib/filemode.h: Likewise.
63003         * lib/filename.h: Likewise.
63004         * lib/filenamecat.c: Likewise.
63005         * lib/filenamecat.h: Likewise.
63006         * lib/findprog.c: Likewise.
63007         * lib/findprog.h: Likewise.
63008         * lib/float.in.h: Likewise.
63009         * lib/floor.c: Likewise.
63010         * lib/floorf.c: Likewise.
63011         * lib/floorl.c: Likewise.
63012         * lib/fopen-safer.c: Likewise.
63013         * lib/fopen.c: Likewise.
63014         * lib/fpending.c: Likewise.
63015         * lib/fpending.h: Likewise.
63016         * lib/fprintf.c: Likewise.
63017         * lib/fprintftime.h: Likewise.
63018         * lib/fpucw.h: Likewise.
63019         * lib/fpurge.c: Likewise.
63020         * lib/fpurge.h: Likewise.
63021         * lib/freadable.c: Likewise.
63022         * lib/freadable.h: Likewise.
63023         * lib/freadahead.c: Likewise.
63024         * lib/freadahead.h: Likewise.
63025         * lib/freading.c: Likewise.
63026         * lib/freading.h: Likewise.
63027         * lib/free.c: Likewise.
63028         * lib/freopen.c: Likewise.
63029         * lib/frexp.c: Likewise.
63030         * lib/frexpl.c: Likewise.
63031         * lib/fseek.c: Likewise.
63032         * lib/fseterr.c: Likewise.
63033         * lib/fseterr.h: Likewise.
63034         * lib/fstatat.c: Likewise.
63035         * lib/fstrcmp.c: Likewise.
63036         * lib/fstrcmp.h: Likewise.
63037         * lib/fsusage.c: Likewise.
63038         * lib/fsusage.h: Likewise.
63039         * lib/ftell.c: Likewise.
63040         * lib/ftello.c: Likewise.
63041         * lib/fts-cycle.c: Likewise.
63042         * lib/fts.c: Likewise.
63043         * lib/fts_.h: Likewise.
63044         * lib/full-read.c: Likewise.
63045         * lib/full-read.h: Likewise.
63046         * lib/full-write.c: Likewise.
63047         * lib/full-write.h: Likewise.
63048         * lib/fwritable.c: Likewise.
63049         * lib/fwritable.h: Likewise.
63050         * lib/fwriteerror.c: Likewise.
63051         * lib/fwriteerror.h: Likewise.
63052         * lib/fwriting.c: Likewise.
63053         * lib/fwriting.h: Likewise.
63054         * lib/gcd.c: Likewise.
63055         * lib/gcd.h: Likewise.
63056         * lib/getcwd.c: Likewise.
63057         * lib/getdate.h: Likewise.
63058         * lib/getdate.y: Likewise.
63059         * lib/getdomainname.c: Likewise.
63060         * lib/getdomainname.h: Likewise.
63061         * lib/getgroups.c: Likewise.
63062         * lib/gethostname.c: Likewise.
63063         * lib/gethrxtime.c: Likewise.
63064         * lib/gethrxtime.h: Likewise.
63065         * lib/getloadavg.c: Likewise.
63066         * lib/getndelim2.c: Likewise.
63067         * lib/getndelim2.h: Likewise.
63068         * lib/getnline.c: Likewise.
63069         * lib/getnline.h: Likewise.
63070         * lib/getopt.c: Likewise.
63071         * lib/getopt.in.h: Likewise.
63072         * lib/getopt1.c: Likewise.
63073         * lib/getopt_int.h: Likewise.
63074         * lib/getpagesize.h: Likewise.
63075         * lib/getsubopt.c: Likewise.
63076         * lib/gettime.c: Likewise.
63077         * lib/getugroups.c: Likewise.
63078         * lib/getugroups.h: Likewise.
63079         * lib/getusershell.c: Likewise.
63080         * lib/gl_anyavltree_list1.h: Likewise.
63081         * lib/gl_anyavltree_list2.h: Likewise.
63082         * lib/gl_anyhash_list1.h: Likewise.
63083         * lib/gl_anyhash_list2.h: Likewise.
63084         * lib/gl_anylinked_list1.h: Likewise.
63085         * lib/gl_anylinked_list2.h: Likewise.
63086         * lib/gl_anyrbtree_list1.h: Likewise.
63087         * lib/gl_anyrbtree_list2.h: Likewise.
63088         * lib/gl_anytree_list1.h: Likewise.
63089         * lib/gl_anytree_list2.h: Likewise.
63090         * lib/gl_anytree_oset.h: Likewise.
63091         * lib/gl_anytreehash_list1.h: Likewise.
63092         * lib/gl_anytreehash_list2.h: Likewise.
63093         * lib/gl_array_list.c: Likewise.
63094         * lib/gl_array_list.h: Likewise.
63095         * lib/gl_array_oset.c: Likewise.
63096         * lib/gl_array_oset.h: Likewise.
63097         * lib/gl_avltree_list.c: Likewise.
63098         * lib/gl_avltree_list.h: Likewise.
63099         * lib/gl_avltree_oset.c: Likewise.
63100         * lib/gl_avltree_oset.h: Likewise.
63101         * lib/gl_avltreehash_list.c: Likewise.
63102         * lib/gl_avltreehash_list.h: Likewise.
63103         * lib/gl_carray_list.c: Likewise.
63104         * lib/gl_carray_list.h: Likewise.
63105         * lib/gl_linked_list.c: Likewise.
63106         * lib/gl_linked_list.h: Likewise.
63107         * lib/gl_linkedhash_list.c: Likewise.
63108         * lib/gl_linkedhash_list.h: Likewise.
63109         * lib/gl_list.c: Likewise.
63110         * lib/gl_list.h: Likewise.
63111         * lib/gl_oset.c: Likewise.
63112         * lib/gl_oset.h: Likewise.
63113         * lib/gl_rbtree_list.c: Likewise.
63114         * lib/gl_rbtree_list.h: Likewise.
63115         * lib/gl_rbtree_oset.c: Likewise.
63116         * lib/gl_rbtree_oset.h: Likewise.
63117         * lib/gl_rbtreehash_list.c: Likewise.
63118         * lib/gl_rbtreehash_list.h: Likewise.
63119         * lib/gl_sublist.c: Likewise.
63120         * lib/gl_sublist.h: Likewise.
63121         * lib/group-member.c: Likewise.
63122         * lib/group-member.h: Likewise.
63123         * lib/hard-locale.c: Likewise.
63124         * lib/hard-locale.h: Likewise.
63125         * lib/hash-pjw.c: Likewise.
63126         * lib/hash-pjw.h: Likewise.
63127         * lib/hash-triple.c: Likewise.
63128         * lib/hash.c: Likewise.
63129         * lib/hash.h: Likewise.
63130         * lib/human.c: Likewise.
63131         * lib/human.h: Likewise.
63132         * lib/i-ring.c: Likewise.
63133         * lib/i-ring.h: Likewise.
63134         * lib/idcache.c: Likewise.
63135         * lib/imaxabs.c: Likewise.
63136         * lib/imaxdiv.c: Likewise.
63137         * lib/inet_pton.c: Likewise.
63138         * lib/inet_pton.h: Likewise.
63139         * lib/intprops.h: Likewise.
63140         * lib/inttostr.c: Likewise.
63141         * lib/inttostr.h: Likewise.
63142         * lib/inttypes.in.h: Likewise.
63143         * lib/isapipe.c: Likewise.
63144         * lib/isdir.c: Likewise.
63145         * lib/isnan.c: Likewise.
63146         * lib/isnan.h: Likewise.
63147         * lib/isnanf.c: Likewise.
63148         * lib/isnanf.h: Likewise.
63149         * lib/isnanl-nolibm.h: Likewise.
63150         * lib/isnanl.c: Likewise.
63151         * lib/isnanl.h: Likewise.
63152         * lib/javacomp.c: Likewise.
63153         * lib/javacomp.h: Likewise.
63154         * lib/javaexec.c: Likewise.
63155         * lib/javaexec.h: Likewise.
63156         * lib/javaversion.c: Likewise.
63157         * lib/javaversion.h: Likewise.
63158         * lib/javaversion.java: Likewise.
63159         * lib/lbrkprop.h: Likewise.
63160         * lib/lchmod.h: Likewise.
63161         * lib/lchown.c: Likewise.
63162         * lib/ldexpl.c: Likewise.
63163         * lib/linebreak.c: Likewise.
63164         * lib/linebreak.h: Likewise.
63165         * lib/linebuffer.c: Likewise.
63166         * lib/linebuffer.h: Likewise.
63167         * lib/locale.in.h: Likewise.
63168         * lib/logl.c: Likewise.
63169         * lib/long-options.c: Likewise.
63170         * lib/long-options.h: Likewise.
63171         * lib/lstat.c: Likewise.
63172         * lib/lstat.h: Likewise.
63173         * lib/math.in.h: Likewise.
63174         * lib/mbchar.c: Likewise.
63175         * lib/mbchar.h: Likewise.
63176         * lib/mbfile.h: Likewise.
63177         * lib/mbiter.h: Likewise.
63178         * lib/mbscasecmp.c: Likewise.
63179         * lib/mbscasestr.c: Likewise.
63180         * lib/mbschr.c: Likewise.
63181         * lib/mbscspn.c: Likewise.
63182         * lib/mbslen.c: Likewise.
63183         * lib/mbsncasecmp.c: Likewise.
63184         * lib/mbsnlen.c: Likewise.
63185         * lib/mbspbrk.c: Likewise.
63186         * lib/mbspcasecmp.c: Likewise.
63187         * lib/mbsrchr.c: Likewise.
63188         * lib/mbssep.c: Likewise.
63189         * lib/mbsspn.c: Likewise.
63190         * lib/mbsstr.c: Likewise.
63191         * lib/mbstok_r.c: Likewise.
63192         * lib/mbswidth.c: Likewise.
63193         * lib/mbswidth.h: Likewise.
63194         * lib/mbuiter.h: Likewise.
63195         * lib/memcasecmp.c: Likewise.
63196         * lib/memcasecmp.h: Likewise.
63197         * lib/memchr.c: Likewise.
63198         * lib/memcmp.c: Likewise.
63199         * lib/memcoll.c: Likewise.
63200         * lib/memcoll.h: Likewise.
63201         * lib/memcpy.c: Likewise.
63202         * lib/memrchr.c: Likewise.
63203         * lib/mkancesdirs.c: Likewise.
63204         * lib/mkdir-p.c: Likewise.
63205         * lib/mkdir-p.h: Likewise.
63206         * lib/mkdir.c: Likewise.
63207         * lib/mkdirat.c: Likewise.
63208         * lib/mkdtemp.c: Likewise.
63209         * lib/mkstemp-safer.c: Likewise.
63210         * lib/mkstemp.c: Likewise.
63211         * lib/modechange.c: Likewise.
63212         * lib/modechange.h: Likewise.
63213         * lib/mountlist.c: Likewise.
63214         * lib/mountlist.h: Likewise.
63215         * lib/mpsort.c: Likewise.
63216         * lib/nanosleep.c: Likewise.
63217         * lib/obstack.c: Likewise.
63218         * lib/obstack.h: Likewise.
63219         * lib/open-safer.c: Likewise.
63220         * lib/open.c: Likewise.
63221         * lib/openat-die.c: Likewise.
63222         * lib/openat-priv.h: Likewise.
63223         * lib/openat-proc.c: Likewise.
63224         * lib/openat.c: Likewise.
63225         * lib/openat.h: Likewise.
63226         * lib/pagealign_alloc.c: Likewise.
63227         * lib/pagealign_alloc.h: Likewise.
63228         * lib/physmem.c: Likewise.
63229         * lib/physmem.h: Likewise.
63230         * lib/pipe-safer.c: Likewise.
63231         * lib/pipe.c: Likewise.
63232         * lib/pipe.h: Likewise.
63233         * lib/posixtm.c: Likewise.
63234         * lib/posixtm.h: Likewise.
63235         * lib/posixver.c: Likewise.
63236         * lib/printf-frexp.c: Likewise.
63237         * lib/printf-frexp.h: Likewise.
63238         * lib/printf-frexpl.c: Likewise.
63239         * lib/printf-frexpl.h: Likewise.
63240         * lib/printf.c: Likewise.
63241         * lib/progname.c: Likewise.
63242         * lib/progname.h: Likewise.
63243         * lib/progreloc.c: Likewise.
63244         * lib/putenv.c: Likewise.
63245         * lib/quote.c: Likewise.
63246         * lib/quote.h: Likewise.
63247         * lib/quotearg.c: Likewise.
63248         * lib/quotearg.h: Likewise.
63249         * lib/raise.c: Likewise.
63250         * lib/readline.c: Likewise.
63251         * lib/readline.h: Likewise.
63252         * lib/readlink.c: Likewise.
63253         * lib/readtokens.c: Likewise.
63254         * lib/readtokens.h: Likewise.
63255         * lib/readtokens0.c: Likewise.
63256         * lib/readtokens0.h: Likewise.
63257         * lib/readutmp.c: Likewise.
63258         * lib/readutmp.h: Likewise.
63259         * lib/realloc.c: Likewise.
63260         * lib/relocwrapper.c: Likewise.
63261         * lib/rename-dest-slash.c: Likewise.
63262         * lib/rename.c: Likewise.
63263         * lib/rmdir.c: Likewise.
63264         * lib/rpmatch.c: Likewise.
63265         * lib/safe-read.c: Likewise.
63266         * lib/safe-read.h: Likewise.
63267         * lib/safe-write.c: Likewise.
63268         * lib/safe-write.h: Likewise.
63269         * lib/same-inode.h: Likewise.
63270         * lib/same.c: Likewise.
63271         * lib/same.h: Likewise.
63272         * lib/save-cwd.c: Likewise.
63273         * lib/save-cwd.h: Likewise.
63274         * lib/savedir.c: Likewise.
63275         * lib/savedir.h: Likewise.
63276         * lib/savewd.c: Likewise.
63277         * lib/savewd.h: Likewise.
63278         * lib/search.in.h: Likewise.
63279         * lib/setenv.c: Likewise.
63280         * lib/setenv.h: Likewise.
63281         * lib/settime.c: Likewise.
63282         * lib/sh-quote.c: Likewise.
63283         * lib/sh-quote.h: Likewise.
63284         * lib/sig2str.c: Likewise.
63285         * lib/sig2str.h: Likewise.
63286         * lib/signal.in.h: Likewise.
63287         * lib/signbitd.c: Likewise.
63288         * lib/signbitf.c: Likewise.
63289         * lib/signbitl.c: Likewise.
63290         * lib/sigprocmask.c: Likewise.
63291         * lib/sincosl.c: Likewise.
63292         * lib/sleep.c: Likewise.
63293         * lib/sprintf.c: Likewise.
63294         * lib/sqrtl.c: Likewise.
63295         * lib/stat-time.h: Likewise.
63296         * lib/stdio--.h: Likewise.
63297         * lib/stdio-safer.h: Likewise.
63298         * lib/stdlib--.h: Likewise.
63299         * lib/stdlib-safer.h: Likewise.
63300         * lib/stdlib.in.h: Likewise.
63301         * lib/stpcpy.c: Likewise.
63302         * lib/stpncpy.c: Likewise.
63303         * lib/strchrnul.c: Likewise.
63304         * lib/strcspn.c: Likewise.
63305         * lib/strerror.c: Likewise.
63306         * lib/strftime.c: Likewise.
63307         * lib/strftime.h: Likewise.
63308         * lib/striconveh.c: Likewise.
63309         * lib/striconveh.h: Likewise.
63310         * lib/striconveha.c: Likewise.
63311         * lib/striconveha.h: Likewise.
63312         * lib/stripslash.c: Likewise.
63313         * lib/strnlen1.c: Likewise.
63314         * lib/strnlen1.h: Likewise.
63315         * lib/strtod.c: Likewise.
63316         * lib/strtoimax.c: Likewise.
63317         * lib/strtok_r.c: Likewise.
63318         * lib/strtol.c: Likewise.
63319         * lib/strtoll.c: Likewise.
63320         * lib/strtoul.c: Likewise.
63321         * lib/strtoull.c: Likewise.
63322         * lib/sysexits.in.h: Likewise.
63323         * lib/tempname.c: Likewise.
63324         * lib/tempname.h: Likewise.
63325         * lib/timespec.h: Likewise.
63326         * lib/tls.c: Likewise.
63327         * lib/tls.h: Likewise.
63328         * lib/tmpdir.c: Likewise.
63329         * lib/tmpdir.h: Likewise.
63330         * lib/tmpfile-safer.c: Likewise.
63331         * lib/tmpfile.c: Likewise.
63332         * lib/trigl.c: Likewise.
63333         * lib/trigl.h: Likewise.
63334         * lib/trim.c: Likewise.
63335         * lib/trim.h: Likewise.
63336         * lib/trunc.c: Likewise.
63337         * lib/truncf.c: Likewise.
63338         * lib/truncl.c: Likewise.
63339         * lib/tsearch.c: Likewise.
63340         * lib/unicodeio.c: Likewise.
63341         * lib/unicodeio.h: Likewise.
63342         * lib/unistd--.h: Likewise.
63343         * lib/unistd-safer.h: Likewise.
63344         * lib/unistdio/ulc-fprintf.c: Likewise.
63345         * lib/unistdio/ulc-vfprintf.c: Likewise.
63346         * lib/unlinkdir.c: Likewise.
63347         * lib/unlinkdir.h: Likewise.
63348         * lib/unlocked-io.h: Likewise.
63349         * lib/unsetenv.c: Likewise.
63350         * lib/userspec.c: Likewise.
63351         * lib/utime.c: Likewise.
63352         * lib/utimecmp.c: Likewise.
63353         * lib/utimecmp.h: Likewise.
63354         * lib/utimens.c: Likewise.
63355         * lib/verify.h: Likewise.
63356         * lib/verror.c: Likewise.
63357         * lib/verror.h: Likewise.
63358         * lib/version-etc-fsf.c: Likewise.
63359         * lib/version-etc.c: Likewise.
63360         * lib/version-etc.h: Likewise.
63361         * lib/vfprintf.c: Likewise.
63362         * lib/vprintf.c: Likewise.
63363         * lib/vsprintf.c: Likewise.
63364         * lib/w32spawn.h: Likewise.
63365         * lib/wait-process.c: Likewise.
63366         * lib/wait-process.h: Likewise.
63367         * lib/wcwidth.c: Likewise.
63368         * lib/write-any-file.c: Likewise.
63369         * lib/xalloc-die.c: Likewise.
63370         * lib/xalloc.h: Likewise.
63371         * lib/xasprintf.c: Likewise.
63372         * lib/xgetcwd.c: Likewise.
63373         * lib/xgetcwd.h: Likewise.
63374         * lib/xgetdomainname.c: Likewise.
63375         * lib/xgetdomainname.h: Likewise.
63376         * lib/xgethostname.c: Likewise.
63377         * lib/xmalloc.c: Likewise.
63378         * lib/xmalloca.c: Likewise.
63379         * lib/xmalloca.h: Likewise.
63380         * lib/xmemcoll.c: Likewise.
63381         * lib/xnanosleep.c: Likewise.
63382         * lib/xreadlink.c: Likewise.
63383         * lib/xreadlink.h: Likewise.
63384         * lib/xsetenv.c: Likewise.
63385         * lib/xsetenv.h: Likewise.
63386         * lib/xstriconv.c: Likewise.
63387         * lib/xstriconv.h: Likewise.
63388         * lib/xstrndup.c: Likewise.
63389         * lib/xstrndup.h: Likewise.
63390         * lib/xstrtod.c: Likewise.
63391         * lib/xstrtod.h: Likewise.
63392         * lib/xstrtol-error.c: Likewise.
63393         * lib/xstrtol.c: Likewise.
63394         * lib/xstrtol.h: Likewise.
63395         * lib/xtime.h: Likewise.
63396         * lib/xvasprintf.c: Likewise.
63397         * lib/xvasprintf.h: Likewise.
63398         * lib/yesno.c: Likewise.
63399         * lib/yesno.h: Likewise.
63400         * posix-modules: Likewise.
63401         * tests/test-alloca-opt.c: Likewise.
63402         * tests/test-arcfour.c: Likewise.
63403         * tests/test-arctwo.c: Likewise.
63404         * tests/test-argmatch.c: Likewise.
63405         * tests/test-argp-2.sh: Likewise.
63406         * tests/test-argp.c: Likewise.
63407         * tests/test-arpa_inet.c: Likewise.
63408         * tests/test-array_list.c: Likewise.
63409         * tests/test-array_oset.c: Likewise.
63410         * tests/test-atexit.c: Likewise.
63411         * tests/test-avltree_list.c: Likewise.
63412         * tests/test-avltree_oset.c: Likewise.
63413         * tests/test-avltreehash_list.c: Likewise.
63414         * tests/test-base64.c: Likewise.
63415         * tests/test-binary-io.c: Likewise.
63416         * tests/test-byteswap.c: Likewise.
63417         * tests/test-c-ctype.c: Likewise.
63418         * tests/test-c-strcasecmp.c: Likewise.
63419         * tests/test-c-strcasestr.c: Likewise.
63420         * tests/test-c-strncasecmp.c: Likewise.
63421         * tests/test-c-strstr.c: Likewise.
63422         * tests/test-canonicalize-lgpl.c: Likewise.
63423         * tests/test-canonicalize.c: Likewise.
63424         * tests/test-carray_list.c: Likewise.
63425         * tests/test-ceilf.c: Likewise.
63426         * tests/test-ceill.c: Likewise.
63427         * tests/test-count-one-bits.c: Likewise.
63428         * tests/test-crc.c: Likewise.
63429         * tests/test-dirname.c: Likewise.
63430         * tests/test-fbufmode.c: Likewise.
63431         * tests/test-fcntl.c: Likewise.
63432         * tests/test-fflush.c: Likewise.
63433         * tests/test-floorf.c: Likewise.
63434         * tests/test-floorl.c: Likewise.
63435         * tests/test-fopen.c: Likewise.
63436         * tests/test-fprintf-posix.c: Likewise.
63437         * tests/test-fprintf-posix.h: Likewise.
63438         * tests/test-fpurge.c: Likewise.
63439         * tests/test-freadable.c: Likewise.
63440         * tests/test-freadahead.c: Likewise.
63441         * tests/test-freading.c: Likewise.
63442         * tests/test-freopen.c: Likewise.
63443         * tests/test-frexp.c: Likewise.
63444         * tests/test-frexpl.c: Likewise.
63445         * tests/test-fseek.c: Likewise.
63446         * tests/test-fseeko.c: Likewise.
63447         * tests/test-fseterr.c: Likewise.
63448         * tests/test-fstrcmp.c: Likewise.
63449         * tests/test-ftell.c: Likewise.
63450         * tests/test-ftello.c: Likewise.
63451         * tests/test-fwritable.c: Likewise.
63452         * tests/test-fwriting.c: Likewise.
63453         * tests/test-getaddrinfo.c: Likewise.
63454         * tests/test-getpass.c: Likewise.
63455         * tests/test-gettimeofday.c: Likewise.
63456         * tests/test-hmac-md5.c: Likewise.
63457         * tests/test-hmac-sha1.c: Likewise.
63458         * tests/test-iconv.c: Likewise.
63459         * tests/test-iconvme.c: Likewise.
63460         * tests/test-inttypes.c: Likewise.
63461         * tests/test-isnan.c: Likewise.
63462         * tests/test-isnanf.c: Likewise.
63463         * tests/test-isnanl-nolibm.c: Likewise.
63464         * tests/test-isnanl.c: Likewise.
63465         * tests/test-isnanl.h: Likewise.
63466         * tests/test-ldexpl.c: Likewise.
63467         * tests/test-linked_list.c: Likewise.
63468         * tests/test-linkedhash_list.c: Likewise.
63469         * tests/test-locale.c: Likewise.
63470         * tests/test-localename.c: Likewise.
63471         * tests/test-lock.c: Likewise.
63472         * tests/test-lseek.c: Likewise.
63473         * tests/test-malloca.c: Likewise.
63474         * tests/test-math.c: Likewise.
63475         * tests/test-mbscasecmp.c: Likewise.
63476         * tests/test-mbscasestr1.c: Likewise.
63477         * tests/test-mbscasestr2.c: Likewise.
63478         * tests/test-mbscasestr3.c: Likewise.
63479         * tests/test-mbscasestr4.c: Likewise.
63480         * tests/test-mbschr.c: Likewise.
63481         * tests/test-mbscspn.c: Likewise.
63482         * tests/test-mbsncasecmp.c: Likewise.
63483         * tests/test-mbspbrk.c: Likewise.
63484         * tests/test-mbspcasecmp.c: Likewise.
63485         * tests/test-mbsrchr.c: Likewise.
63486         * tests/test-mbsspn.c: Likewise.
63487         * tests/test-mbsstr1.c: Likewise.
63488         * tests/test-mbsstr2.c: Likewise.
63489         * tests/test-mbsstr3.c: Likewise.
63490         * tests/test-md5.c: Likewise.
63491         * tests/test-memmem.c: Likewise.
63492         * tests/test-netinet_in.c: Likewise.
63493         * tests/test-open.c: Likewise.
63494         * tests/test-printf-frexp.c: Likewise.
63495         * tests/test-printf-frexpl.c: Likewise.
63496         * tests/test-printf-posix.c: Likewise.
63497         * tests/test-printf-posix.h: Likewise.
63498         * tests/test-rbtree_list.c: Likewise.
63499         * tests/test-rbtree_oset.c: Likewise.
63500         * tests/test-rbtreehash_list.c: Likewise.
63501         * tests/test-read-file.c: Likewise.
63502         * tests/test-rijndael.c: Likewise.
63503         * tests/test-search.c: Likewise.
63504         * tests/test-signbit.c: Likewise.
63505         * tests/test-sleep.c: Likewise.
63506         * tests/test-snprintf-posix.c: Likewise.
63507         * tests/test-snprintf-posix.h: Likewise.
63508         * tests/test-snprintf.c: Likewise.
63509         * tests/test-sprintf-posix.c: Likewise.
63510         * tests/test-sprintf-posix.h: Likewise.
63511         * tests/test-stat-time.c: Likewise.
63512         * tests/test-stdbool.c: Likewise.
63513         * tests/test-stdint.c: Likewise.
63514         * tests/test-stdio.c: Likewise.
63515         * tests/test-stdlib.c: Likewise.
63516         * tests/test-stpncpy.c: Likewise.
63517         * tests/test-strcasestr.c: Likewise.
63518         * tests/test-striconv.c: Likewise.
63519         * tests/test-striconveh.c: Likewise.
63520         * tests/test-striconveha.c: Likewise.
63521         * tests/test-string.c: Likewise.
63522         * tests/test-sys_select.c: Likewise.
63523         * tests/test-sys_socket.c: Likewise.
63524         * tests/test-sys_stat.c: Likewise.
63525         * tests/test-sys_time.c: Likewise.
63526         * tests/test-sysexits.c: Likewise.
63527         * tests/test-time.c: Likewise.
63528         * tests/test-tls.c: Likewise.
63529         * tests/test-trunc.c: Likewise.
63530         * tests/test-truncf.c: Likewise.
63531         * tests/test-truncl.c: Likewise.
63532         * tests/test-unistd.c: Likewise.
63533         * tests/test-vasnprintf-posix.c: Likewise.
63534         * tests/test-vasnprintf-posix2.c: Likewise.
63535         * tests/test-vasnprintf.c: Likewise.
63536         * tests/test-vasprintf-posix.c: Likewise.
63537         * tests/test-vasprintf.c: Likewise.
63538         * tests/test-verify.c: Likewise.
63539         * tests/test-vfprintf-posix.c: Likewise.
63540         * tests/test-vprintf-posix.c: Likewise.
63541         * tests/test-vsnprintf-posix.c: Likewise.
63542         * tests/test-vsnprintf.c: Likewise.
63543         * tests/test-vsprintf-posix.c: Likewise.
63544         * tests/test-wchar.c: Likewise.
63545         * tests/test-wctype.c: Likewise.
63546         * tests/test-wcwidth.c: Likewise.
63547         * tests/test-xstrtol.c: Likewise.
63548         * tests/test-xvasprintf.c: Likewise.
63549         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
63550         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
63551         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
63552         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
63553         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
63554         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
63555         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
63556         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
63557         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
63558         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
63559         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
63560         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
63561         * tests/uniname/test-uninames.c: Likewise.
63562         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
63563         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
63564         * tests/unistdio/test-u16-printf1.h: Likewise.
63565         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
63566         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
63567         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
63568         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
63569         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
63570         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
63571         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
63572         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
63573         * tests/unistdio/test-u32-printf1.h: Likewise.
63574         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
63575         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
63576         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
63577         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
63578         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
63579         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
63580         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
63581         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
63582         * tests/unistdio/test-u8-printf1.h: Likewise.
63583         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
63584         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
63585         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
63586         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
63587         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
63588         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
63589         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
63590         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
63591         * tests/unistdio/test-ulc-printf1.h: Likewise.
63592         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
63593         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
63594         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
63595         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
63596         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
63597         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
63598         * tests/uniwidth/test-u16-strwidth.c: Likewise.
63599         * tests/uniwidth/test-u16-width.c: Likewise.
63600         * tests/uniwidth/test-u32-strwidth.c: Likewise.
63601         * tests/uniwidth/test-u32-width.c: Likewise.
63602         * tests/uniwidth/test-u8-strwidth.c: Likewise.
63603         * tests/uniwidth/test-u8-width.c: Likewise.
63604         * tests/uniwidth/test-uc_width.c: Likewise.
63605         * config/srclist-update: Likewise.
63606         (fixlicense): Update to GPLv3+.
63607
63608         Change copyright notice from LGPLv2.1+ to LGPLv3+.
63609         * tests/test-tsearch.c: Change copyright notice.
63610
63611         Change copyright notice from LGPLv2.0+ to LGPLv3+.
63612         * lib/c-strcaseeq.h: Change copyright notice.
63613         * lib/streq.h: Likewise.
63614         * lib/uniconv.h: Likewise.
63615         * lib/uniconv/u-conv-from-enc.h: Likewise.
63616         * lib/uniconv/u-conv-to-enc.h: Likewise.
63617         * lib/uniconv/u-strconv-from-enc.h: Likewise.
63618         * lib/uniconv/u-strconv-to-enc.h: Likewise.
63619         * lib/uniconv/u16-conv-from-enc.c: Likewise.
63620         * lib/uniconv/u16-conv-to-enc.c: Likewise.
63621         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
63622         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
63623         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
63624         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
63625         * lib/uniconv/u32-conv-from-enc.c: Likewise.
63626         * lib/uniconv/u32-conv-to-enc.c: Likewise.
63627         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
63628         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
63629         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
63630         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
63631         * lib/uniconv/u8-conv-from-enc.c: Likewise.
63632         * lib/uniconv/u8-conv-to-enc.c: Likewise.
63633         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
63634         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
63635         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
63636         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
63637         * lib/uniname.h: Likewise.
63638         * lib/uniname/uniname.c: Likewise.
63639         * lib/unistdio.h: Likewise.
63640         * lib/unistdio/u-asnprintf.h: Likewise.
63641         * lib/unistdio/u-asprintf.h: Likewise.
63642         * lib/unistdio/u-printf-args.c: Likewise.
63643         * lib/unistdio/u-printf-args.h: Likewise.
63644         * lib/unistdio/u-printf-parse.h: Likewise.
63645         * lib/unistdio/u-snprintf.h: Likewise.
63646         * lib/unistdio/u-sprintf.h: Likewise.
63647         * lib/unistdio/u-vasprintf.h: Likewise.
63648         * lib/unistdio/u-vsnprintf.h: Likewise.
63649         * lib/unistdio/u-vsprintf.h: Likewise.
63650         * lib/unistdio/u16-asnprintf.c: Likewise.
63651         * lib/unistdio/u16-asprintf.c: Likewise.
63652         * lib/unistdio/u16-printf-parse.c: Likewise.
63653         * lib/unistdio/u16-snprintf.c: Likewise.
63654         * lib/unistdio/u16-sprintf.c: Likewise.
63655         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
63656         * lib/unistdio/u16-u16-asprintf.c: Likewise.
63657         * lib/unistdio/u16-u16-snprintf.c: Likewise.
63658         * lib/unistdio/u16-u16-sprintf.c: Likewise.
63659         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
63660         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
63661         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
63662         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
63663         * lib/unistdio/u16-vasnprintf.c: Likewise.
63664         * lib/unistdio/u16-vasprintf.c: Likewise.
63665         * lib/unistdio/u16-vsnprintf.c: Likewise.
63666         * lib/unistdio/u16-vsprintf.c: Likewise.
63667         * lib/unistdio/u32-asnprintf.c: Likewise.
63668         * lib/unistdio/u32-asprintf.c: Likewise.
63669         * lib/unistdio/u32-printf-parse.c: Likewise.
63670         * lib/unistdio/u32-snprintf.c: Likewise.
63671         * lib/unistdio/u32-sprintf.c: Likewise.
63672         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
63673         * lib/unistdio/u32-u32-asprintf.c: Likewise.
63674         * lib/unistdio/u32-u32-snprintf.c: Likewise.
63675         * lib/unistdio/u32-u32-sprintf.c: Likewise.
63676         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
63677         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
63678         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
63679         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
63680         * lib/unistdio/u32-vasnprintf.c: Likewise.
63681         * lib/unistdio/u32-vasprintf.c: Likewise.
63682         * lib/unistdio/u32-vsnprintf.c: Likewise.
63683         * lib/unistdio/u32-vsprintf.c: Likewise.
63684         * lib/unistdio/u8-asnprintf.c: Likewise.
63685         * lib/unistdio/u8-asprintf.c: Likewise.
63686         * lib/unistdio/u8-printf-parse.c: Likewise.
63687         * lib/unistdio/u8-snprintf.c: Likewise.
63688         * lib/unistdio/u8-sprintf.c: Likewise.
63689         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
63690         * lib/unistdio/u8-u8-asprintf.c: Likewise.
63691         * lib/unistdio/u8-u8-snprintf.c: Likewise.
63692         * lib/unistdio/u8-u8-sprintf.c: Likewise.
63693         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
63694         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
63695         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
63696         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
63697         * lib/unistdio/u8-vasnprintf.c: Likewise.
63698         * lib/unistdio/u8-vasprintf.c: Likewise.
63699         * lib/unistdio/u8-vsnprintf.c: Likewise.
63700         * lib/unistdio/u8-vsprintf.c: Likewise.
63701         * lib/unistdio/ulc-asnprintf.c: Likewise.
63702         * lib/unistdio/ulc-asprintf.c: Likewise.
63703         * lib/unistdio/ulc-printf-parse.c: Likewise.
63704         * lib/unistdio/ulc-snprintf.c: Likewise.
63705         * lib/unistdio/ulc-sprintf.c: Likewise.
63706         * lib/unistdio/ulc-vasnprintf.c: Likewise.
63707         * lib/unistdio/ulc-vasprintf.c: Likewise.
63708         * lib/unistdio/ulc-vsnprintf.c: Likewise.
63709         * lib/unistdio/ulc-vsprintf.c: Likewise.
63710         * lib/unistr.h: Likewise.
63711         * lib/unistr/u-cpy-alloc.h: Likewise.
63712         * lib/unistr/u-cpy.h: Likewise.
63713         * lib/unistr/u-endswith.h: Likewise.
63714         * lib/unistr/u-move.h: Likewise.
63715         * lib/unistr/u-set.h: Likewise.
63716         * lib/unistr/u-startswith.h: Likewise.
63717         * lib/unistr/u-stpcpy.h: Likewise.
63718         * lib/unistr/u-stpncpy.h: Likewise.
63719         * lib/unistr/u-strcat.h: Likewise.
63720         * lib/unistr/u-strcpy.h: Likewise.
63721         * lib/unistr/u-strcspn.h: Likewise.
63722         * lib/unistr/u-strdup.h: Likewise.
63723         * lib/unistr/u-strlen.h: Likewise.
63724         * lib/unistr/u-strncat.h: Likewise.
63725         * lib/unistr/u-strncpy.h: Likewise.
63726         * lib/unistr/u-strnlen.h: Likewise.
63727         * lib/unistr/u-strpbrk.h: Likewise.
63728         * lib/unistr/u-strspn.h: Likewise.
63729         * lib/unistr/u-strstr.h: Likewise.
63730         * lib/unistr/u-strtok.h: Likewise.
63731         * lib/unistr/u16-check.c: Likewise.
63732         * lib/unistr/u16-chr.c: Likewise.
63733         * lib/unistr/u16-cmp.c: Likewise.
63734         * lib/unistr/u16-cpy-alloc.c: Likewise.
63735         * lib/unistr/u16-cpy.c: Likewise.
63736         * lib/unistr/u16-endswith.c: Likewise.
63737         * lib/unistr/u16-mblen.c: Likewise.
63738         * lib/unistr/u16-mbsnlen.c: Likewise.
63739         * lib/unistr/u16-mbtouc-aux.c: Likewise.
63740         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
63741         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
63742         * lib/unistr/u16-mbtouc.c: Likewise.
63743         * lib/unistr/u16-mbtoucr.c: Likewise.
63744         * lib/unistr/u16-move.c: Likewise.
63745         * lib/unistr/u16-next.c: Likewise.
63746         * lib/unistr/u16-prev.c: Likewise.
63747         * lib/unistr/u16-set.c: Likewise.
63748         * lib/unistr/u16-startswith.c: Likewise.
63749         * lib/unistr/u16-stpcpy.c: Likewise.
63750         * lib/unistr/u16-stpncpy.c: Likewise.
63751         * lib/unistr/u16-strcat.c: Likewise.
63752         * lib/unistr/u16-strchr.c: Likewise.
63753         * lib/unistr/u16-strcmp.c: Likewise.
63754         * lib/unistr/u16-strcpy.c: Likewise.
63755         * lib/unistr/u16-strcspn.c: Likewise.
63756         * lib/unistr/u16-strdup.c: Likewise.
63757         * lib/unistr/u16-strlen.c: Likewise.
63758         * lib/unistr/u16-strmblen.c: Likewise.
63759         * lib/unistr/u16-strmbtouc.c: Likewise.
63760         * lib/unistr/u16-strncat.c: Likewise.
63761         * lib/unistr/u16-strncmp.c: Likewise.
63762         * lib/unistr/u16-strncpy.c: Likewise.
63763         * lib/unistr/u16-strnlen.c: Likewise.
63764         * lib/unistr/u16-strpbrk.c: Likewise.
63765         * lib/unistr/u16-strrchr.c: Likewise.
63766         * lib/unistr/u16-strspn.c: Likewise.
63767         * lib/unistr/u16-strstr.c: Likewise.
63768         * lib/unistr/u16-strtok.c: Likewise.
63769         * lib/unistr/u16-to-u32.c: Likewise.
63770         * lib/unistr/u16-to-u8.c: Likewise.
63771         * lib/unistr/u16-uctomb-aux.c: Likewise.
63772         * lib/unistr/u16-uctomb.c: Likewise.
63773         * lib/unistr/u32-check.c: Likewise.
63774         * lib/unistr/u32-chr.c: Likewise.
63775         * lib/unistr/u32-cmp.c: Likewise.
63776         * lib/unistr/u32-cpy-alloc.c: Likewise.
63777         * lib/unistr/u32-cpy.c: Likewise.
63778         * lib/unistr/u32-endswith.c: Likewise.
63779         * lib/unistr/u32-mblen.c: Likewise.
63780         * lib/unistr/u32-mbsnlen.c: Likewise.
63781         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
63782         * lib/unistr/u32-mbtouc.c: Likewise.
63783         * lib/unistr/u32-mbtoucr.c: Likewise.
63784         * lib/unistr/u32-move.c: Likewise.
63785         * lib/unistr/u32-next.c: Likewise.
63786         * lib/unistr/u32-prev.c: Likewise.
63787         * lib/unistr/u32-set.c: Likewise.
63788         * lib/unistr/u32-startswith.c: Likewise.
63789         * lib/unistr/u32-stpcpy.c: Likewise.
63790         * lib/unistr/u32-stpncpy.c: Likewise.
63791         * lib/unistr/u32-strcat.c: Likewise.
63792         * lib/unistr/u32-strchr.c: Likewise.
63793         * lib/unistr/u32-strcmp.c: Likewise.
63794         * lib/unistr/u32-strcpy.c: Likewise.
63795         * lib/unistr/u32-strcspn.c: Likewise.
63796         * lib/unistr/u32-strdup.c: Likewise.
63797         * lib/unistr/u32-strlen.c: Likewise.
63798         * lib/unistr/u32-strmblen.c: Likewise.
63799         * lib/unistr/u32-strmbtouc.c: Likewise.
63800         * lib/unistr/u32-strncat.c: Likewise.
63801         * lib/unistr/u32-strncmp.c: Likewise.
63802         * lib/unistr/u32-strncpy.c: Likewise.
63803         * lib/unistr/u32-strnlen.c: Likewise.
63804         * lib/unistr/u32-strpbrk.c: Likewise.
63805         * lib/unistr/u32-strrchr.c: Likewise.
63806         * lib/unistr/u32-strspn.c: Likewise.
63807         * lib/unistr/u32-strstr.c: Likewise.
63808         * lib/unistr/u32-strtok.c: Likewise.
63809         * lib/unistr/u32-to-u16.c: Likewise.
63810         * lib/unistr/u32-to-u8.c: Likewise.
63811         * lib/unistr/u32-uctomb.c: Likewise.
63812         * lib/unistr/u8-check.c: Likewise.
63813         * lib/unistr/u8-chr.c: Likewise.
63814         * lib/unistr/u8-cmp.c: Likewise.
63815         * lib/unistr/u8-cpy-alloc.c: Likewise.
63816         * lib/unistr/u8-cpy.c: Likewise.
63817         * lib/unistr/u8-endswith.c: Likewise.
63818         * lib/unistr/u8-mblen.c: Likewise.
63819         * lib/unistr/u8-mbsnlen.c: Likewise.
63820         * lib/unistr/u8-mbtouc-aux.c: Likewise.
63821         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
63822         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
63823         * lib/unistr/u8-mbtouc.c: Likewise.
63824         * lib/unistr/u8-mbtoucr.c: Likewise.
63825         * lib/unistr/u8-move.c: Likewise.
63826         * lib/unistr/u8-next.c: Likewise.
63827         * lib/unistr/u8-prev.c: Likewise.
63828         * lib/unistr/u8-set.c: Likewise.
63829         * lib/unistr/u8-startswith.c: Likewise.
63830         * lib/unistr/u8-stpcpy.c: Likewise.
63831         * lib/unistr/u8-stpncpy.c: Likewise.
63832         * lib/unistr/u8-strcat.c: Likewise.
63833         * lib/unistr/u8-strchr.c: Likewise.
63834         * lib/unistr/u8-strcmp.c: Likewise.
63835         * lib/unistr/u8-strcpy.c: Likewise.
63836         * lib/unistr/u8-strcspn.c: Likewise.
63837         * lib/unistr/u8-strdup.c: Likewise.
63838         * lib/unistr/u8-strlen.c: Likewise.
63839         * lib/unistr/u8-strmblen.c: Likewise.
63840         * lib/unistr/u8-strmbtouc.c: Likewise.
63841         * lib/unistr/u8-strncat.c: Likewise.
63842         * lib/unistr/u8-strncmp.c: Likewise.
63843         * lib/unistr/u8-strncpy.c: Likewise.
63844         * lib/unistr/u8-strnlen.c: Likewise.
63845         * lib/unistr/u8-strpbrk.c: Likewise.
63846         * lib/unistr/u8-strrchr.c: Likewise.
63847         * lib/unistr/u8-strspn.c: Likewise.
63848         * lib/unistr/u8-strstr.c: Likewise.
63849         * lib/unistr/u8-strtok.c: Likewise.
63850         * lib/unistr/u8-to-u16.c: Likewise.
63851         * lib/unistr/u8-to-u32.c: Likewise.
63852         * lib/unistr/u8-uctomb-aux.c: Likewise.
63853         * lib/unistr/u8-uctomb.c: Likewise.
63854         * lib/unitypes.h: Likewise.
63855         * lib/uniwidth.h: Likewise.
63856         * lib/uniwidth/cjk.h: Likewise.
63857         * lib/uniwidth/u16-strwidth.c: Likewise.
63858         * lib/uniwidth/u16-width.c: Likewise.
63859         * lib/uniwidth/u32-strwidth.c: Likewise.
63860         * lib/uniwidth/u32-width.c: Likewise.
63861         * lib/uniwidth/u8-strwidth.c: Likewise.
63862         * lib/uniwidth/u8-width.c: Likewise.
63863         * lib/uniwidth/width.c: Likewise.
63864
63865 2007-10-07  Bruno Haible  <bruno@clisp.org>
63866
63867         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
63868         The file is still under LGPL (see modules/inttypes).
63869
63870 2007-10-06  Bruno Haible  <bruno@clisp.org>
63871
63872         * modules/trunc (Dependencies): Add 'extensions'.
63873         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
63874         Reported by Ben Pfaff <blp@gnu.org>.
63875
63876 2007-10-06  Bruno Haible  <bruno@clisp.org>
63877
63878         * modules/freopen-tests: New file.
63879         * tests/test-freopen.c: New file.
63880
63881         * modules/fopen-tests: New file.
63882         * tests/test-fopen.c: New file.
63883
63884         * modules/fopen: New file.
63885         * lib/fopen.c: New file.
63886         * m4/fopen.m4: New file.
63887         * modules/freopen: New file.
63888         * lib/freopen.c: New file.
63889         * m4/freopen.m4: New file.
63890         * lib/stdio.in.h (fopen, freopen): New declarations.
63891         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
63892         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63893         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
63894         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
63895         * doc/functions/fopen.texi: Mention the 'fopen' module.
63896         * doc/functions/freopen.texi: Mention the 'freopen' module.
63897
63898 2007-10-06  Bruno Haible  <bruno@clisp.org>
63899
63900         * modules/open-tests: New file.
63901         * tests/test-open.c: New file.
63902
63903         * modules/open: New file.
63904         * lib/open.c: New file.
63905         * m4/open.m4: New file.
63906         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
63907         lib/open.c does.
63908         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
63909         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
63910         macros.
63911         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
63912         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
63913         REPLACE_OPEN.
63914         * doc/functions/open.texi: Mention the 'open' module.
63915
63916 2007-10-04  Bruno Haible  <bruno@clisp.org>
63917
63918         * modules/ceill-tests: New file.
63919         * tests/test-ceill.c: New file.
63920
63921         * modules/ceill: New file.
63922         * lib/ceill.c: Replace entire file.
63923         * m4/ceill.m4: New file.
63924         * lib/math.in.h (ceill): Replace declaration.
63925         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
63926         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
63927         * doc/functions/ceill.texi: Mention the 'ceill' module.
63928         * modules/mathl (Files): Remove lib/ceill.c.
63929         (Depends-on): Add ceill.
63930
63931 2007-10-04  Bruno Haible  <bruno@clisp.org>
63932
63933         * modules/ceilf-tests: New file.
63934         * tests/test-ceilf.c: New file.
63935
63936         * modules/ceilf: New file.
63937         * lib/ceil.c: New file.
63938         * lib/ceilf.c: New file.
63939         * m4/ceilf.m4: New file.
63940         * lib/math.in.h (ceilf): New declaration.
63941         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
63942         HAVE_DECL_CEILF.
63943         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
63944         HAVE_DECL_CEILF.
63945         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
63946
63947 2007-10-04  Bruno Haible  <bruno@clisp.org>
63948
63949         * modules/floorl-tests: New file.
63950         * tests/test-floorl.c: New file.
63951
63952         * modules/floorl: New file.
63953         * lib/floorl.c: Replace entire file.
63954         * m4/floorl.m4: New file.
63955         * lib/math.in.h (floorl): Replace declaration.
63956         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
63957         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
63958         * doc/functions/floorl.texi: Mention the 'floorl' module.
63959         * modules/mathl (Files): Remove lib/floorl.c.
63960         (Depends-on): Add floorl.
63961
63962 2007-10-04  Bruno Haible  <bruno@clisp.org>
63963
63964         * modules/floorf-tests: New file.
63965         * tests/test-floorf.c: New file.
63966
63967         * modules/floorf: New file.
63968         * lib/floor.c: New file.
63969         * lib/floorf.c: New file.
63970         * m4/floorf.m4: New file.
63971         * lib/math.in.h (floorf): New declaration.
63972         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
63973         HAVE_DECL_FLOORF.
63974         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
63975         HAVE_DECL_FLOORF.
63976         * doc/functions/floorf.texi: Mention the 'floorf' module.
63977
63978 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
63979             Bruno Haible  <bruno@clisp.org>
63980
63981         Advertise for the Git server instead of the CVS server.
63982         * doc/gnulib-intro.texi (Steady Development): Mention the Git
63983         repository instead of the CVS one.
63984         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
63985         about all VCS systems generically.
63986         * doc/gnulib.texi (Introduction): Capitalize `Git'.
63987
63988 2007-10-04  Bruno Haible  <bruno@clisp.org>
63989
63990         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
63991         means.
63992         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
63993
63994 2007-10-04  Bruno Haible  <bruno@clisp.org>
63995
63996         * modules/truncl-tests: New file.
63997         * tests/test-truncl.c: New file.
63998
63999         * modules/truncl: New file.
64000         * lib/truncl.c: New file.
64001         * m4/truncl.m4: New file.
64002         * lib/math.in.h (truncl): New declaration.
64003         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
64004         HAVE_DECL_TRUNCL.
64005         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
64006         HAVE_DECL_TRUNCL.
64007         * doc/functions/truncl.texi: Mention the 'truncl' module.
64008
64009 2007-10-04  Bruno Haible  <bruno@clisp.org>
64010
64011         * modules/truncf-tests: New file.
64012         * tests/test-truncf.c: New file.
64013
64014         * modules/truncf: New file.
64015         * lib/trunc.c: Make paramerizable through USE_* macros.
64016         * lib/truncf.c: New file.
64017         * m4/truncf.m4: New file.
64018         * lib/math.in.h (truncf): New declaration.
64019         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
64020         HAVE_DECL_TRUNCF.
64021         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
64022         HAVE_DECL_TRUNCF.
64023         * doc/functions/truncf.texi: Mention the 'truncf' module.
64024
64025 2007-10-03  Bruno Haible  <bruno@clisp.org>
64026
64027         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
64028         augmentation also for tests modules.
64029         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
64030         * modules/atexit-tests (Makefile.am): Likewise.
64031         * modules/binary-io-tests (Makefile.am): Likewise.
64032         * modules/c-strcase-tests (Makefile.am): Likewise.
64033         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
64034         * modules/canonicalize-tests (Makefile.am): Likewise.
64035         * modules/closein-tests (Makefile.am): Likewise.
64036         * modules/fprintf-posix-tests (Makefile.am): Likewise.
64037         * modules/freadahead-tests (Makefile.am): Likewise.
64038         * modules/fseek-tests (Makefile.am): Likewise.
64039         * modules/fseeko-tests (Makefile.am): Likewise.
64040         * modules/ftell-tests (Makefile.am): Likewise.
64041         * modules/ftello-tests (Makefile.am): Likewise.
64042         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
64043         * modules/isnanl-tests (Makefile.am): Likewise.
64044         * modules/lseek-tests (Makefile.am): Likewise.
64045         * modules/mbscasecmp-tests (Makefile.am): Likewise.
64046         * modules/mbscasestr-tests (Makefile.am): Likewise.
64047         * modules/mbschr-tests (Makefile.am): Likewise.
64048         * modules/mbscspn-tests (Makefile.am): Likewise.
64049         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
64050         * modules/mbspbrk-tests (Makefile.am): Likewise.
64051         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
64052         * modules/mbsrchr-tests (Makefile.am): Likewise.
64053         * modules/mbsspn-tests (Makefile.am): Likewise.
64054         * modules/mbsstr-tests (Makefile.am): Likewise.
64055         * modules/printf-posix-tests (Makefile.am): Likewise.
64056         * modules/snprintf-posix-tests (Makefile.am): Likewise.
64057         * modules/sprintf-posix-tests (Makefile.am): Likewise.
64058         * modules/tsearch-tests (Makefile.am): Likewise.
64059         * modules/uniname/uniname-tests (Makefile.am): Likewise.
64060         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
64061         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
64062         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
64063         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
64064         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
64065         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
64066         * modules/vprintf-posix-tests (Makefile.am): Likewise.
64067         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
64068         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
64069         * modules/xstrtoimax-tests (Makefile.am): Likewise.
64070         * modules/xstrtol-tests (Makefile.am): Likewise.
64071         * modules/xstrtoumax-tests (Makefile.am): Likewise.
64072         * modules/yesno-tests (Makefile.am): Likewise.
64073
64074 2007-10-03  Bruno Haible  <bruno@clisp.org>
64075
64076         * modules/trunc-tests: New file.
64077         * tests/test-trunc.c: New file.
64078
64079         * modules/trunc: New file.
64080         * lib/trunc.c: New file.
64081         * m4/trunc.m4: New file.
64082         * lib/math.in.h (trunc): New declaration.
64083         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
64084         HAVE_DECL_TRUNC.
64085         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
64086         HAVE_DECL_TRUNC.
64087         * doc/functions/trunc.texi: Mention the 'trunc' module.
64088
64089 2007-10-03  Bruno Haible  <bruno@clisp.org>
64090
64091         * tests/test-fpending.c: New file, mostly copied
64092         from coreutils/lib/t-fpending.c.
64093         * modules/fpending-tests: New file.
64094
64095 2007-10-03  Bruno Haible  <bruno@clisp.org>
64096
64097         Port the stdio extensions to QNX (untested).
64098         * lib/fseterr.c (fseterr): Add support for QNX.
64099         * lib/fbufmode.c (fbufmode): Likewise.
64100         * lib/freadable.c (freadable): Likewise.
64101         * lib/fwritable.c (fwritable): Likewise.
64102         * lib/freading.c (freading): Likewise.
64103         * lib/fwriting.c (fwriting): Likewise.
64104         * lib/freadahead.c (freadahed): Likewise.
64105         * lib/fpurge.c (fpurge): Likewise.
64106         * lib/fseeko.c (rpl_fseeko): Likewise.
64107
64108 2007-10-03  Bruno Haible  <bruno@clisp.org>
64109             Jim Meyering  <jim@meyering.net>
64110             Eric Blake  <ebb9@byu.net>
64111
64112         * doc/relocatable.texi: Use @command instead of @program.
64113
64114 2007-10-02  Jim Meyering  <jim@meyering.net>
64115
64116         Perform one more "_.h" -> ".in.h" substitution.
64117         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
64118         instead of unistd_.h here, too.
64119
64120 2007-10-01  Bruno Haible  <bruno@clisp.org>
64121
64122         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
64123         Needed for the alloca-opt module.
64124
64125 2007-09-30  Bruno Haible  <bruno@clisp.org>
64126
64127         * lib/alloca.in.h: Renamed from lib/alloca_.h.
64128         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
64129         alloca_.h.
64130         * lib/argz.in.h: Renamed from lib/argz_.h.
64131         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
64132         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
64133         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
64134         byteswap_.h.
64135         * lib/dirent.in.h: Renamed from lib/dirent_.h.
64136         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
64137         dirent_.h.
64138         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
64139         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
64140         fcntl_.h.
64141         * lib/float.in.h: Renamed from lib/float_.h.
64142         * modules/float (Files, Makefile.am): Use float.in.h instead of
64143         float_.h.
64144         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
64145         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
64146         fnmatch_.h.
64147         * lib/getopt.in.h: Renamed from lib/getopt_.h.
64148         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
64149         getopt_.h.
64150         * lib/glob.in.h: Renamed from lib/glob_.h.
64151         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
64152         * lib/iconv.in.h: Renamed from lib/iconv_.h.
64153         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
64154         iconv_.h.
64155         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
64156         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
64157         inttypes_.h.
64158         * lib/locale.in.h: Renamed from lib/locale_.h.
64159         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
64160         locale_.h.
64161         * lib/math.in.h: Renamed from lib/math_.h.
64162         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
64163         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
64164         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
64165         of netinet_in_.h. Add dependency.
64166         * lib/poll.in.h: Renamed from lib/poll_.h.
64167         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
64168         * lib/search.in.h: Renamed from lib/search_.h.
64169         * modules/search (Files, Makefile.am): Use search.in.h instead of
64170         search_.h.
64171         * lib/signal.in.h: Renamed from lib/signal_.h.
64172         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
64173         _signal.h.
64174         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
64175         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
64176         stdbool_.h.
64177         * lib/stdint.in.h: Renamed from lib/stdint_.h.
64178         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
64179         stdint_.h.
64180         * lib/stdio.in.h: Renamed from lib/stdio_.h.
64181         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
64182         stdio_.h.
64183         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
64184         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
64185         stdlib_.h.
64186         * lib/string.in.h: Renamed from lib/string_.h.
64187         * modules/string (Files, Makefile.am): Use string.in.h instead of
64188         string_.h.
64189         * doc/gnulib-tool.texi (Initial import): Update.
64190         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
64191         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
64192         of sys_select_.h. Add dependency.
64193         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
64194         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
64195         of sys_socket_.h.
64196         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
64197         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
64198         sys_stat_.h.
64199         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
64200         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
64201         sys_time_.h.
64202         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
64203         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
64204         sysexits_.h.
64205         * lib/time.in.h: Renamed from lib/time_.h.
64206         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
64207         * lib/unistd.in.h: Renamed from lib/unistd_.h.
64208         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
64209         unistd_.h.
64210         * lib/wchar.in.h: Renamed from lib/wchar_.h.
64211         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
64212         wchar_.h.
64213         * lib/wctype.in.h: Renamed from lib/wctype_.h.
64214         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
64215         wctype_.h.
64216         * build-aux/bootstrap (slurp): Update.
64217         * lib/.cppi-disable: Update.
64218
64219 2007-09-30  Bruno Haible  <bruno@clisp.org>
64220
64221         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
64222         Needed on BeOS.
64223
64224 2007-09-30  Bruno Haible  <bruno@clisp.org>
64225
64226         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
64227
64228 2007-09-29  Bruno Haible  <bruno@clisp.org>
64229
64230         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
64231
64232 2007-09-29  Bruno Haible  <bruno@clisp.org>
64233
64234         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
64235         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
64236         * build-aux/install-reloc: Compile also areadlink.c.
64237         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
64238
64239 2007-09-29  Bruno Haible  <bruno@clisp.org>
64240
64241         * gnulib-tool (func_emit_initmacro_done): Indentation.
64242
64243 2007-09-29  Bruno Haible  <bruno@clisp.org>
64244
64245         * README: Add CVS checkout update instructions.
64246         Info from Bob Proulx <bob@proulx.com>.
64247
64248 2007-09-28  Eric Blake  <ebb9@byu.net>
64249
64250         Provide move-if-change.
64251         * build-aux/move-if-change: New file, based on best practice
64252         rather than any canonical upstream location.
64253
64254 2007-09-28  Jim Meyering  <jim@meyering.net>
64255
64256         Fix canonicalize loop-detection corner case.
64257         Do not attempt to stat the symlink values stored via seen_triple.
64258         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
64259         on linux-2.6.18, (but not 2.6.22).
64260         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
64261         triple_compare.  The former compares dev,ino,filename, while the latter
64262         would actually stat dirname(filename) when dev and ino were equal.
64263         * lib/hash-triple.c: Install <string.h>.
64264         (STREQ): Define.
64265         (triple_compare_ino_str): New function.
64266         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
64267
64268 2007-09-28  Eric Blake  <ebb9@byu.net>
64269
64270         Enforce that AC_REPLACE_FUNCS files exist.
64271         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
64272         override check for typos.
64273
64274         Fix test-closein on Solaris 10.
64275         * tests/test-closein.c (main): Don't assume stdin can be inherited
64276         closed on all systems.
64277         * tests/test-closein.sh: Likewise.
64278         Reported by Piotr Tarnowski.
64279
64280 2007-09-28  Jim Meyering  <jim@meyering.net>
64281
64282         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
64283
64284 2007-09-27  Jim Meyering  <jim@meyering.net>
64285
64286         canonicalize: Avoid a false-positive cycle failure.
64287         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
64288         Sort.  Remove cycle-check.
64289         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
64290         not cycle-check.h.
64291         (seen_triple): New function.
64292         (canonicalize_filename_mode): Use it instead of cycle-check.
64293         * tests/test-canonicalize.c: Add a test for this bug.
64294         * tests/test-canonicalize.sh: Set up and run the test.
64295
64296         New module, file-set, from coreutils.
64297         * modules/file-set: Define it.
64298         * lib/file-set.c, lib/file-set.h: Implement.
64299
64300         New module, hash-triple, from coreutils.
64301         * modules/hash-triple: Define it.
64302         * lib/hash-triple.c, lib/hash-triple.h: Implement.
64303
64304 2007-09-25  Eric Blake  <ebb9@byu.net>
64305
64306         Fix strerror on Interix.
64307         * lib/string_.h (strerror): Declare replacement.
64308         * doc/functions/strerror.texi (strerror): Document the Interix
64309         shortcoming.
64310         * modules/string (Makefile.am): Support new hooks.
64311         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
64312         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
64313         gl_FUNC_STRERROR_SEPARATE.
64314         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
64315         * lib/strerror.c (rpl_strerror): Provide replacement.
64316         * modules/strerror (Depends-on): Add string.
64317         (configure.ac): Detect use of module.
64318         * tests/test-strerror.c: New file.
64319         * modules/strerror-tests: New test module.
64320         * modules/argp (Depends-on): Add strerror.
64321         * modules/error (Depends-on): Likewise.
64322         Reported by Martin Koeppe.
64323
64324 2007-09-24  Bruno Haible  <bruno@clisp.org>
64325
64326         * README: Update git instructions.
64327
64328 2007-09-24  Eric Blake  <ebb9@byu.net>
64329
64330         Revert fpending breakage from 2007-09-08.
64331         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
64332         __fpending.c.
64333
64334 2007-09-24  Jim Meyering  <jim@meyering.net>
64335
64336         filenamecat.c: Add a test.
64337         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
64338         showing how the function works when DIR is the empty string.
64339
64340 2007-09-21  Simon Josefsson  <simon@josefsson.org>
64341
64342         * tests/test-canonicalize.sh: Turn on executable bit.
64343
64344 2007-09-19  Eric Blake  <ebb9@byu.net>
64345
64346         * README: Update CVS instructions.
64347
64348 2007-09-18  Bruno Haible  <bruno@clisp.org>
64349
64350         * modules/areadlink: New file.
64351         * lib/areadlink.h (areadlink): New declaration.
64352         * lib/areadlink.c: New file, based on lib/xreadlink.c.
64353
64354 2007-09-17  Jim Meyering  <jim@meyering.net>
64355
64356         * lib/savewd.c (ESTALE) [!defined]: Define.
64357         Reported to be required on Interix by Martin Koeppe.
64358
64359 2007-09-17  Bruno Haible  <bruno@clisp.org>
64360
64361         * gnulib-tool (func_version): Use $version.
64362
64363 2007-09-16  Bruno Haible  <bruno@clisp.org>
64364
64365         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
64366         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
64367         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
64368         Reported by Greg Schafer <gschafer@zip.com.au>.
64369
64370 2007-09-15  Bruno Haible  <bruno@clisp.org>
64371
64372         * gnulib-tool (sed): Try a little harder to make bash understand the
64373         alias.
64374         Reported by Bruce Korb <bruce.korb@gmail.com>.
64375
64376 2007-09-13  Eric Blake  <ebb9@byu.net>
64377
64378         * ChangeLog: Remove conflict markers.
64379
64380 2007-09-13  Simon Josefsson  <simon@josefsson.org>
64381
64382         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
64383         Reported by Bruno Haible <bruno@clisp.org>.
64384
64385 2007-09-12  Bruno Haible  <bruno@clisp.org>
64386
64387         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
64388         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
64389         is not defined.
64390
64391 2007-09-12  Eric Blake  <ebb9@byu.net>
64392
64393         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
64394         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
64395         Autoconf definition.
64396         * modules/euidaccess (Depends-on): Add extensions, for
64397         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
64398         * modules/fnmatch (Depends-on): Likewise.
64399         * modules/getaddrinfo (Depends-on): Likewise.
64400         * modules/getdelim (Depends-on): Likewise.
64401         * modules/getline (Depends-on): Likewise.
64402         * modules/getsubopt (Depends-on): Likewise.
64403         * modules/gettext (Depends-on): Likewise.
64404         * modules/group-member (Depends-on): Likewise.
64405         * modules/mbchar (Depends-on): Likewise.
64406         * modules/memmem (Depends-on): Likewise.
64407         * modules/mempcpy (Depends-on): Likewise.
64408         * modules/memrchr (Depends-on): Likewise.
64409         * modules/pagealign_alloc (Depends-on): Likewise.
64410         * modules/readutmp (Depends-on): Likewise.
64411         * modules/stpcpy (Depends-on): Likewise.
64412         * modules/stpncpy (Depends-on): Likewise.
64413         * modules/strchrnul (Depends-on): Likewise.
64414         * modules/strndup (Depends-on): Likewise.
64415         * modules/strsep (Depends-on): Likewise.
64416         * modules/strverscmp (Depends-on): Likewise.
64417         * modules/vasprintf (Depends-on): Likewise.
64418         * modules/wcwidth (Depends-on): Likewise.
64419         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
64420         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
64421         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
64422         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
64423         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
64424         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64425         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
64426         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
64427         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
64428         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
64429         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
64430         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
64431         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
64432         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
64433         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
64434         * m4/readutmp.m4 (gl_READUTMP): Likewise.
64435         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
64436         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
64437         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
64438         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
64439         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
64440         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
64441         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
64442         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
64443         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
64444         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
64445         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
64446         so that lock.m4 can be used in gettext without extensions module.
64447
64448 2007-09-11  Bruno Haible  <bruno@clisp.org>
64449
64450         * m4/isc-posix.m4: Remove file.
64451         Suggested by Eric Blake.
64452
64453 2007-09-11  Eric Blake  <ebb9@byu.net>
64454
64455         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
64456
64457 2007-09-10  Bruno Haible  <bruno@clisp.org>
64458
64459         * posix-modules: Fix typo in error message.
64460         Reported by Matt <mkraai@beckman.com>.
64461
64462 2007-09-09  Bruno Haible  <bruno@clisp.org>
64463
64464         * doc/functions/getdelim.texi: Update list of platforms lacking the
64465         function.
64466         * doc/functions/getline.texi: Likewise.
64467
64468 2007-09-09  Jim Meyering  <jim@meyering.net>
64469
64470         * lib/hash.c (hash_initialize): Detect calloc failure.
64471         Reported by Bruno Haible.
64472
64473 2007-09-09  Bruno Haible  <bruno@clisp.org>
64474
64475         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
64476         malloc or realloc fails.
64477
64478 2007-09-09  Bruno Haible  <bruno@clisp.org>
64479
64480         * modules/getcwd (Depends-on): Add malloc-posix.
64481         * modules/glob (Depends-on): Likewise.
64482         * modules/putenv (Depends-on): Likewise.
64483         * modules/strdup (Depends-on): Likewise.
64484         * modules/getdelim (Depends-on): Add realloc-posix.
64485         * modules/read-file (Depends-on): Likewise.
64486
64487 2007-09-09  Bruno Haible  <bruno@clisp.org>
64488
64489         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
64490         (gl_FUNC_MALLOC_POSIX): Require it.
64491         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
64492         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
64493         * modules/realloc (Files): Add m4/malloc.m4.
64494         * modules/calloc (Files): Likewise.
64495
64496 2007-09-09  Bruno Haible  <bruno@clisp.org>
64497
64498         * modules/malloc-posix: New file.
64499         * modules/malloc (Depends-on): Add malloc-posix.
64500         * lib/malloc.c: Include errno.h.
64501         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
64502         and a POSIX-compatible malloc into a single function. Set ENOMEM
64503         when returning NULL.
64504         * m4/malloc.m4: New file.
64505         * doc/functions/malloc.texi: Mention the malloc-posix module.
64506         * lib/stdlib_.h (malloc): New declaration.
64507         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64508         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
64509         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
64510         and HAVE_MALLOC_POSIX.
64511
64512 2007-09-09  Bruno Haible  <bruno@clisp.org>
64513
64514         * modules/realloc-posix: New file.
64515         * modules/realloc (Depends-on): Add realloc-posix.
64516         * lib/realloc.c: Include errno.h.
64517         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
64518         and a POSIX-compatible realloc into a single function. Set ENOMEM
64519         when returning NULL.
64520         * m4/realloc.m4: New file.
64521         * doc/functions/realloc.texi: Mention the realloc-posix module.
64522         * lib/stdlib_.h (realloc): New declaration.
64523         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64524         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
64525         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
64526         and HAVE_REALLOC_POSIX.
64527
64528 2007-09-09  Bruno Haible  <bruno@clisp.org>
64529
64530         * modules/calloc-posix: New file.
64531         * modules/calloc (Depends-on): Add calloc-posix.
64532         * lib/calloc.c: Include errno.h.
64533         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
64534         and a POSIX-compatible calloc into a single function. Set ENOMEM
64535         when returning NULL.
64536         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
64537         * doc/functions/calloc.texi: Mention the calloc-posix module.
64538         * lib/stdlib_.h (calloc): New declaration.
64539         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64540         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
64541         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
64542         and HAVE_CALLOC_POSIX.
64543
64544 2007-09-09  Bruno Haible  <bruno@clisp.org>
64545
64546         Allow for modules to show an arbitrary notice.
64547         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
64548         * gnulib-tool: New option --extract-notice.
64549         (func_usage): Document it.
64550         (sed_extract_prog): Update.
64551         (func_get_notice): New function.
64552         (func_modules_notice): New function.
64553         (func_import, func_create_testdir): Invoke it.
64554         Suggested by Jim Meyering.
64555
64556 2007-09-09  Bruno Haible  <bruno@clisp.org>
64557
64558         * gnulib-tool: New options --verbose, --quiet.
64559         (func_usage): Document them.
64560         (verbose): New variable.
64561         (func_execute_command): New function.
64562         (func_import): Don't show the module list and the file list if
64563         $verbose < 0.
64564         (func_create_testdir): Likewise. Use func_execute_command.
64565         (func_create_megatestdir): Use func_execute_command.
64566
64567 2007-09-08  Bruno Haible  <bruno@clisp.org>
64568
64569         * gnulib-tool (func_import): Prefer rsync over wget when available,
64570         for fetching the PO files.
64571
64572 2007-09-08  Bruno Haible  <bruno@clisp.org>
64573
64574         * posix-modules: New file. Portions copied from gnulib-tool.
64575         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
64576
64577 2007-09-08  Jim Meyering  <jim@meyering.net>
64578
64579         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
64580         * lib/fpending.h: Rename from __fpending.h.
64581         * lib/fpending.c: Rename from __fpending.c.
64582         Include "fpending.h", not "__fpending.h".
64583         * lib/__fpending.h, lib/__fpending.c: Remove files.
64584         * modules/fpending (Files): Reflect new file names.
64585         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
64586
64587 2007-09-08  Bruno Haible  <bruno@clisp.org>
64588
64589         * m4/inttypes-h.m4: Remove stub file.
64590
64591 2007-09-07  Simon Josefsson  <simon@josefsson.org>
64592
64593         * doc/headers/stdint.texi: Discuss #include_next issue.
64594
64595 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
64596
64597         * build-aux/bootstrap: Remove obsolete comment about wget --help.
64598
64599 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
64600
64601         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
64602         in variable name.
64603
64604 2007-09-03  Jim Meyering  <jim@meyering.net>
64605
64606         New module: git-version-gen.
64607         * modules/git-version-gen: New file.
64608
64609         Import changes from coreutils for bootstrap script.
64610
64611         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
64612
64613         bootstrap: uses rsync to download the .po files
64614         * build-aux/bootstrap (po_download_command_format): New global.
64615         (download_po_files): Use rsync.
64616         (update_po_files): Don't remove .po files after download,
64617         so future rsync runs can take advantage of the copies.
64618
64619         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
64620
64621         Solve the unnecessary-.po-file-regeneration problem once and for all.
64622         * build-aux/bootstrap (download_po_files): New function, renamed from
64623         get_translations.  Now, downloads, but doesn't update LINGUAS.
64624         (update_po_files): New function.
64625
64626         bootstrap: Ignore more.
64627         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
64628         uniwidth to e.g., lib/.gitignore.
64629         (slurp): Handle the sys_stat_.h -> sys mapping, too.
64630
64631         * build-aux/bootstrap: New setting: vc_ignore.
64632         (insert_sorted_if_absent): Create $file if absent.
64633         Adapt to new, possibly empty, list: $vc_ignore.
64634
64635         bootstrap: generate more ignorable names
64636         * build-aux/bootstrap (slurp): When generating ignorable names,
64637         also map .sin to .sed, .gperf to .c, and .y to .c.
64638
64639 2007-09-03  Jim Meyering  <jim@meyering.net>
64640
64641         * build-aux/git-version-gen: New file, from coreutils.  For details, see
64642         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
64643
64644 2007-09-02  Bruno Haible  <bruno@clisp.org>
64645
64646         Fix mis-recognition of 'mcs' on QNX 6.
64647         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
64648         output contains the string "Mono".
64649         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
64650         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
64651
64652 2007-09-01  Bruno Haible  <bruno@clisp.org>
64653
64654         Fix collision between uniwidth/* and linebreak modules.
64655         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
64656         u32_width): Remove declarations.
64657         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
64658         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
64659         streq3, streq2, streq1, streq0): Remove functions.
64660         (STREQ): Remove macro.
64661         (is_cjk_encoding): Remove function.
64662         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
64663         (uc_width, u8_width, u16_width, u32_width): Remove functions.
64664         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
64665         * NEWS: Document the change.
64666
64667 2007-09-01  Bruno Haible  <bruno@clisp.org>
64668
64669         * lib/streq.h: Add double-inclusion guard.
64670
64671 2007-09-01  Karl Berry  <karl@gnu.org>
64672
64673         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
64674
64675 2007-08-28  Jim Meyering  <jim@meyering.net>
64676
64677         Rename mreadlink_with_size to areadlink_with_size.
64678         * NEWS: Document the change.
64679         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
64680         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
64681         * lib/mreadlink.h: Rename this to...
64682         * lib/areadlink.h: ...this.
64683         * modules/mreadlink-with-size: Rename this to...
64684         * modules/areadlink-with-size: ...this.
64685         * lib/canonicalize.c: Reflect the renaming.
64686         * modules/canonicalize: Likewise.
64687
64688 2007-08-26  Bruno Haible  <bruno@clisp.org>
64689
64690         * gnulib-tool (func_import): When deciding which files to remove,
64691         consider also dangling symbolic links.
64692         Reported by Eric Blake.
64693
64694 2007-08-26  Bruno Haible  <bruno@clisp.org>
64695
64696         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
64697
64698 2007-08-23  Simon Josefsson  <simon@josefsson.org>
64699
64700         * lib/readline.c: Don't include getline.h, the prototype is now
64701         found in stdio.h.
64702
64703 2007-08-23  Jim Meyering  <jim@meyering.net>
64704
64705         Getdelim touchup.
64706         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
64707         around the funlockfile call, since funlockfile never sets errno.
64708         Don't set errno upon failed realloc.
64709
64710 2007-08-22  Eric Blake  <ebb9@byu.net>
64711
64712         Getline touchups.
64713         * lib/getdelim.c (getdelim): Revert regression that required *n to
64714         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
64715         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
64716         getdelim, rather than whether implementation is missing.
64717         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
64718         * lib/stdio_.h (getline): Also declare if replacement is
64719         required.
64720         * doc/functions/getdelim.texi: New file.
64721         * doc/functions/getline.texi: Likewise.
64722         * doc/gnulib.texi (Function Substitutes): Add new files.
64723         Reported by Bruno Haible.
64724
64725 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
64726
64727         * users.txt: Add Guile.
64728
64729 2007-08-22  Eric Blake  <ebb9@byu.net>
64730
64731         * tests/test-getdelim.c (main): Use remove, not unlink.
64732         * tests/test-getline.c (main): Likewise.
64733
64734         Move getline and getdelim into stdio.h, per POSIX 200x.
64735         * modules/getline (Files): Remove getline.h.
64736         (Depends-on): Add stdio.
64737         (configure.ac): Add module indicator.
64738         * modules/getdelim (Files): Remove getdelim.h.
64739         (Depends-on): Add stdio.
64740         (configure.ac): Add module indicator.
64741         * modules/stdio (Makefile.am): Work with new indicators.
64742         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
64743         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
64744         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
64745         * lib/getdelim.h: Delete.
64746         * lib/getline.h: Delete.
64747         * lib/stdio_.h (getdelim, getline): Declare.
64748         * modules/getdelim-tests: New module.
64749         * modules/getline-tests: Likewise.
64750         * tests/test-getdelim.c: New file.
64751         * tests/test-getline.c: Likewise.
64752         * NEWS: Document the change.
64753         * lib/getline.c: Update choice of header.
64754         * lib/csharpcomp.c: Likewise.
64755         * lib/getpass.c: Likewise.
64756         * lib/javacomp.c: Likewise.
64757         * lib/javaversion.c: Likewise.
64758         * lib/yesno.c: Likewise.
64759         * lib/getdelim.c: Likewise.
64760         (getdelim): Set errno on failure, and avoid memory leak.
64761
64762 2007-08-19  Bruno Haible  <bruno@clisp.org>
64763
64764         * modules/closein (Depends-on): Add freadahead.
64765         * lib/closein.c: Include freadahead.h.
64766         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
64767         is zero.
64768
64769 2007-08-19  Bruno Haible  <bruno@clisp.org>
64770
64771         * modules/freadahead-tests: New file.
64772         * tests/test-freadahead.sh: New file.
64773         * tests/test-freadahead.c: New file.
64774
64775         * modules/freadahead: New file.
64776         * lib/freadahead.h: New file.
64777         * lib/freadahead.c: New file.
64778         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
64779         fbufmode, fpurge, freadable, fwritable.
64780
64781 2007-08-19  Eric Blake  <ebb9@byu.net>
64782
64783         Test yesno in combination with closein.
64784         * lib/yesno.c (yesno): Document use of stdin.
64785         * modules/yesno-tests (Files): New module.
64786         * tests/test-yesno.c (main): New file.
64787         * tests/test-yesno.sh: Likewise.
64788
64789 2007-08-19  Bruno Haible  <bruno@clisp.org>
64790
64791         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
64792         * lib/fseeko.c (rpl_fseeko): Likewise.
64793         * lib/fseterr.c (fseterr): Likewise.
64794
64795 2007-08-19  Bruno Haible  <bruno@clisp.org>
64796
64797         * tests/test-lseek.c (main): Disable a test for BeOS.
64798         * doc/functions/lseek.texi: Document the BeOS bug.
64799
64800 2007-08-19  Bruno Haible  <bruno@clisp.org>
64801             Eric Blake  <ebb9@byu.net>
64802
64803         * lib/lseek.c: Include <sys/stat.h>.
64804         (rpl_lseek): Add workaround code also for Unix platforms.
64805         Needed for BeOS.
64806         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
64807         * doc/functions/lseek.texi: Document BeOS definiency.
64808
64809 2007-08-18  Bruno Haible  <bruno@clisp.org>
64810
64811         * modules/fstrcmp-tests: New file.
64812         * tests/test-fstrcmp.c: New file.
64813
64814 2007-08-18  Bruno Haible  <bruno@clisp.org>
64815
64816         * modules/fstrcmp: New file, from GNU gettext with modifications.
64817         * lib/fstrcmp.h: New file, from GNU gettext.
64818         * lib/fstrcmp.c: New file, from GNU gettext.
64819         * MODULES.html.sh (String handling): Add fstrcmp.
64820
64821 2007-08-18  Bruno Haible  <bruno@clisp.org>
64822
64823         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
64824         'bool'.
64825         (diag, compareseq): Remove const from the ctxt argument.
64826         (USE_HEURISTIC): Undefine at the end.
64827
64828 2007-08-18  Jim Meyering  <jim@meyering.net>
64829
64830         New file: lib/idcache.h
64831         * NEWS: Mention the addition.
64832         * modules/idcache (Files): Add lib/idcache.h
64833         * lib/idcache.c: Include "idcache.h".
64834         Don't include <sys/types.h>.
64835         Add a FIXME comment.
64836         Move file-scoped "static" declarations to the top.
64837         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
64838
64839 2007-08-17  Bruno Haible  <bruno@clisp.org>
64840         and Paul Eggert  <eggert@cs.ucla.edu>
64841
64842         * MODULES.html.sh: Add diffseq.
64843         * modules/diffseq: New file.
64844         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
64845         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
64846
64847 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
64848
64849         Import changes from coreutils for bootstrap script.
64850
64851         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
64852
64853         * build-aux/bootstrap (slurp): Work even in environments where
64854         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
64855         current code does not slurp files whose names start with ".", and
64856         this looks like it might be a troublesome area.
64857
64858         2007-07-11  Jim Meyering  <jim@meyering.net>
64859
64860         If there's a GPL vN copyright comment, require that N == 3.
64861
64862         2007-07-08  Jim Meyering  <jim@meyering.net>
64863
64864         Run the coreutils-specific code only if tests/Makefile.am.in exists.
64865         * build-aux/bootstrap (mam_template): Move definition out of loop.
64866
64867         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
64868
64869         * build-aux/bootstrap (symlink_to_dir): Rename function from
64870         symlink_to_gnulib.  Add a directory parameter.  Update all
64871         callers.
64872         (cp_mark_as_generated): Also check for -- and link to -- files in
64873         gl/.
64874
64875         2007-07-08  Jim Meyering  <jim@meyering.net>
64876
64877         Adapt to deeper hierarchy in gnulib.
64878         * build-aux/bootstrap (symlink_to_dir): If the destination
64879         directory doesn't exist, create it. This is required at least for
64880         "lib/uniwidth/cjk.h".
64881
64882         2007-05-15  Jim Meyering  <jim@meyering.net>
64883
64884         * build-aux/bootstrap: Now that generated Makefile.am files
64885         are no longer under version control, they must be created at
64886         bootstrap time.
64887
64888 2007-08-14  Ben Pfaff  <blp@gnu.org>
64889
64890         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
64891
64892 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
64893
64894         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
64895         given the changes below.
64896         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
64897         even on hosts that have padding bits beyond the supported 64.
64898
64899 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
64900
64901         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
64902         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
64903         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
64904         depends on it.
64905         (xstrtol_error): Remove.
64906         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
64907         but with a different signature.
64908         (ATTRIBUTE_NORETURN, __attribute__): New macros.
64909         * lib/xstrtol-error.c: Include exitfail.h.
64910         (xstrtol_fatal): New function, with a different signature from the
64911         old xstrtol_error, so that the caller need not worry about passing
64912         in an exit status, or about storage management of the option argument.
64913         (xstrtol_error): Now a static function.  Redo signature to
64914         implement xstrtol_fatal.  Output the correct number of hyphens in
64915         front of the option so that the caller need not worry about
64916         storage management.
64917         (N_): New macro.
64918         (_): Remove; not used now.
64919         * modules/xstrtol: Depend on getopt.
64920         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
64921         of old STRTOL_FATAL_ERROR macro.
64922         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
64923         of test program.
64924         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
64925         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
64926
64927 2007-08-08  Eric Blake  <ebb9@byu.net>
64928
64929         * lib/xstrtol-error.c: Add missing include.
64930
64931         Move xstrtol messages into gnulib domain, when --pobase is used.
64932         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
64933         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
64934         * modules/xstrtol (Files): Distribute new file.
64935         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
64936         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
64937         * tests/test-xstrtol.c: ...into new file.
64938         * tests/test-xstrtoul.c: Also test xstrtoul.
64939         * tests/test-xstrtoimax.c: Also test xstrtoimax.
64940         * tests/test-xstrtoumax.c: Also test xstrtoumax.
64941         * tests/test-xstrtol.sh: Drive the tests.
64942         * tests/test-xstrtoimax.sh: Likewise.
64943         * tests/test-xstrtoumax.sh: Likewise.
64944         * modules/xstrtol-tests: New module.
64945         * modules/xstrtoimax-tests: Likewise.
64946         * modules/xstrtoumax-tests: Likewise.
64947
64948 2007-08-08  Jim Meyering  <jim@meyering.net>
64949
64950         New function: mfile_name_concat.
64951         * lib/filenamecat.c (mfile_name_concat): New function, just like
64952         file_name_concat, but return NULL upon failure rather than exiting
64953         with a diagnostic.
64954         * lib/filenamecat.h: Declare it.
64955
64956 2007-08-07  Bruno Haible  <bruno@clisp.org>
64957
64958         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
64959         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
64960         warning from gcc.
64961         Reported by Eric Blake.
64962
64963 2007-08-07  Simon Josefsson  <simon@josefsson.org>
64964
64965         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
64966         * modules/crypto/arcfour (License): Likewise.
64967         * modules/crypto/des-tests (License): Likewise.
64968         * modules/crypto/gc-arctwo-tests (License): Likewise.
64969         * modules/crypto/gc-des-tests (License): Likewise.
64970         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
64971         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
64972         * modules/crypto/gc-md2-tests (License): Likewise.
64973         * modules/crypto/gc-md4-tests (License): Likewise.
64974         * modules/crypto/gc-md5-tests (License): Likewise.
64975         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
64976         * modules/crypto/gc-rijndael-tests (License): Likewise.
64977         * modules/crypto/gc-sha1-tests (License): Likewise.
64978         * modules/crypto/gc-tests (License): Likewise.
64979         * modules/crypto/hmac-md5 (License): Likewise.
64980         * modules/crypto/hmac-sha1 (License): Likewise.
64981         * modules/crypto/md2-tests (License): Likewise.
64982         * modules/crypto/md4-tests (License): Likewise.
64983         * modules/crypto/md5 (License): Likewise.
64984         * modules/crypto/rijndael (License): Likewise.
64985         * modules/crypto/sha1 (License): Likewise.
64986         * modules/memxor (License): Likewise.
64987
64988 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
64989         and Bruno Haible  <bruno@clisp.org>
64990
64991         * NEWS: Describe interface changes to human, xstrtol.
64992         * lib/human.h: Include <xstrtol.h>.
64993         (human_options): Return enum strtol_error, not int.  Remove
64994         bool arg; take int * instead.
64995         * lib/human.c: Don't include "gettext.h".
64996         (_): Remove; no longer used.
64997         Don't include <xstrtol.h>, since human.h does it.
64998         (human_options): Adjust to abovementioned interface changes.
64999         Do not report error to stderr; that's now the caller's
65000         responsibility.
65001         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
65002         interface change.
65003         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
65004         Str, Argument_type_string.  All uses changed.  Put " argument"
65005         in diagnostics to make them clearer.  Change wording of suffix
65006         message for clarity.
65007         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
65008         Argument_type_string.
65009         (STRTOL_FATAL_WARN): Remove; no longer used.
65010         * modules/human (Depends-on): Remove gettext-h.
65011
65012 2007-08-06  Simon Josefsson  <simon@josefsson.org>
65013
65014         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
65015
65016 2007-07-31  Bruno Haible  <bruno@clisp.org>
65017
65018         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
65019         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
65020         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
65021
65022 2007-07-31  Bruno Haible  <bruno@clisp.org>
65023
65024         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
65025         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
65026
65027 2007-07-30  Bruno Haible  <bruno@clisp.org>
65028
65029         * modules/base64 (License): Use the synonymous term "LGPLv2+".
65030         * modules/c-ctype (License): Likewise.
65031         * modules/c-strcase (License): Likewise.
65032         * modules/check-version (License): Likewise.
65033         * modules/iconv (License): Likewise.
65034         * modules/iconv_open (License): Likewise.
65035         * modules/read-file (License): Likewise.
65036         * modules/striconv (License): Likewise.
65037         * modules/strverscmp (License): Likewise.
65038         * modules/vasprintf (License): Likewise.
65039         * modules/crypto/des (License): Likewise.
65040         * modules/crypto/gc (License): Likewise.
65041         * modules/crypto/gc-arcfour (License): Likewise.
65042         * modules/crypto/gc-arctwo (License): Likewise.
65043         * modules/crypto/gc-des (License): Likewise.
65044         * modules/crypto/gc-hmac-md5 (License): Likewise.
65045         * modules/crypto/gc-hmac-sha1 (License): Likewise.
65046         * modules/crypto/gc-md2 (License): Likewise.
65047         * modules/crypto/gc-md4 (License): Likewise.
65048         * modules/crypto/gc-md5 (License): Likewise.
65049         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
65050         * modules/crypto/gc-random (License): Likewise.
65051         * modules/crypto/gc-rijndael (License): Likewise.
65052         * modules/crypto/gc-sha1 (License): Likewise.
65053         * modules/crypto/md2 (License): Likewise.
65054         * modules/crypto/md4 (License): Likewise.
65055
65056 2007-07-30  Jim Meyering  <jim@meyering.net>
65057
65058         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
65059         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
65060         it has valid stat data.  This bug would cause du not to count the
65061         sizes of inaccessible directories.
65062         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
65063         in <http://bugzilla.redhat.com/250077>.
65064
65065 2007-07-25  Peter O'Gorman  <peter@pogma.com>
65066             Bruno Haible  <bruno@clisp.org>
65067
65068         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
65069         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
65070         #include_next, gives a diagnostic about it, but reports no error in
65071         the exit code.
65072         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
65073
65074 2007-07-24  Ben Pfaff  <blp@gnu.org>
65075
65076         Improve name: "count-one-bits" is better than "popcount".
65077         * MODULES.html.sh: Update name.
65078         * lib/popcount.h: Renamed lib/count-one-bits.h.
65079         (popcount): Renamed count_one_bits.
65080         (popcountl): Renamed count_one_bits_l.
65081         (popcountll): Renamed count_one_bits_ll.
65082         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
65083         * modules/popcount: Renamed module/count-one-bits.
65084         * modules/popcount-tests: Renamed module/count-one-bits-tests.
65085         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
65086
65087 2007-07-23  Ben Pfaff  <blp@gnu.org>
65088
65089         * lib/popcount.h (popcount32): Reduce size of constants, to allow
65090         better code generation, and add U to large constants to avoid
65091         warnings, in non-GCC case.
65092         Suggested by Bruno Haible.
65093
65094 2007-07-23  Ben Pfaff  <blp@gnu.org>
65095
65096         * lib/popcount.h: Use verify_true instead of if...abort.
65097         * modules/popcount: Depend on verify module.
65098         Suggested by Jim Meyering.
65099
65100 2007-07-23  Bruno Haible  <bruno@clisp.org>
65101
65102         * gnulib-tool (func_import): Create a .cvsignore file also when the
65103         directory is not yet in CVS but the toplevel directory is. When
65104         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
65105         Reported by Karl Berry.
65106
65107 2007-07-22  Ben Pfaff  <blp@gnu.org>
65108
65109         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
65110         case.
65111         Suggested by Eric Blake.
65112
65113 2007-07-22  Ben Pfaff  <blp@gnu.org>
65114
65115         New module: popcount.
65116         * MODULES.html.sh: Add popcount.
65117         * modules/popcount: New file.
65118         * modules/popcount-tests: New file.
65119         * tests/test-popcount.c: New file.
65120         * lib/popcount.h: New file.
65121         * m4/popcount.m4: New file.
65122
65123 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
65124
65125         * build-aux/announce-gen: Update to GPLv3.
65126
65127         * build-aux/config.guess: Update from config.
65128
65129 2007-07-21  Bruno Haible  <bruno@clisp.org>
65130
65131         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
65132         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
65133
65134 2007-07-20  Jim Meyering  <jim@meyering.net>
65135
65136         * check-module: Diagnose a self-dependency.
65137
65138 2007-07-19  Bruno Haible  <bruno@clisp.org>
65139
65140         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
65141         empty.
65142         Reported by Eric Blake.
65143
65144 2007-07-18  Bruno Haible  <bruno@clisp.org>
65145
65146         * gnulib-tool: New options --po-base, --po-domain.
65147         (func_usage): Document them.
65148         (pobase, po_domain): New variables.
65149         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
65150         DEFAULT_TEXT_DOMAIN.
65151         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
65152         (func_import): Consider pobase and po_domain. Create a po/ directory.
65153         (func_create_testdir): Set pobase and po_domain to empty.
65154         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
65155         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
65156
65157 2007-07-18  Bruno Haible  <bruno@clisp.org>
65158
65159         * gnulib-tool (func_get_automake_snippet): Synthesize also an
65160         EXTRA_DIST augmentation for files in build-aux/.
65161
65162 2007-07-16  Bruno Haible  <bruno@clisp.org>
65163
65164         * modules/lseek (License): Use the synonymous term "LGPLv2+".
65165         * modules/getdelim (License): Likewise.
65166
65167 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65168
65169         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
65170         * modules/d-type (License): Likewise.
65171         * modules/extensions (License): Likewise.
65172         * modules/fnmatch (License): Likewise.
65173         * modules/fseeko (License): Likewise.
65174         * modules/getaddrinfo (License): Likewise.
65175         * modules/getline (License): Likewise.
65176         * modules/getlogin_r (License): Likewise.
65177         * modules/getpass (License): Likewise.
65178         * modules/gettimeofday (License): Likewise.
65179         * modules/glob (License): Likewise.
65180         * modules/inet_ntop (License): Likewise.
65181         * modules/malloc (License): Likewise.
65182         * modules/malloca (License): Likewise.
65183         * modules/memmem (License): Likewise.
65184         * modules/mempcpy (License): Likewise.
65185         * modules/memset (License): Likewise.
65186         * modules/minmax (License): Likewise.
65187         * modules/mktime (License): Likewise.
65188         * modules/netinet_in (License): Likewise.
65189         * modules/pathmax (License): Likewise.
65190         * modules/poll (License): Likewise.
65191         * modules/regex (License): Likewise.
65192         * modules/snprintf (License): Likewise.
65193         * modules/stdbool (License): Likewise.
65194         * modules/stdint (License): Likewise.
65195         * modules/stdio (License): Likewise.
65196         * modules/strcase (License): Likewise.
65197         * modules/strcasestr (License): Likewise.
65198         * modules/strdup (License): Likewise.
65199         * modules/string (License): Likewise.
65200         * modules/strndup (License): Likewise.
65201         * modules/strnlen (License): Likewise.
65202         * modules/strpbrk (License): Likewise.
65203         * modules/strptime (License): Likewise.
65204         * modules/strsep (License): Likewise.
65205         * modules/sys_select (License): Likewise.
65206         * modules/sys_socket (License): Likewise.
65207         * modules/sys_stat (License): Likewise.
65208         * modules/sys_time (License): Likewise.
65209         * modules/time (License): Likewise.
65210         * modules/time_r (License): Likewise.
65211         * modules/timegm (License): Likewise.
65212         * modules/unistd (License): Likewise.
65213         * modules/vsnprintf (License): Likewise.
65214         * modules/wctype (License): Likewise.
65215
65216 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65217
65218         * modules/argz (License): LGPLv2+.
65219
65220 2007-07-15  Karl Berry  <karl@gnu.org>
65221
65222         * doc/gnulib.texi: revise node structure per new fdl.texi.
65223
65224 2007-07-14  Bruno Haible  <bruno@clisp.org>
65225
65226         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
65227         the output file.
65228         * lib/uniname/uninames.h: Regenerated.
65229
65230 2007-07-14  Karl Berry  <karl@gnu.org>
65231
65232         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
65233         omitting sectioning and index commands.
65234
65235 2007-07-13  Bruno Haible  <bruno@clisp.org>
65236
65237         New gnulib-tool option --more-symlinks.
65238         * gnulib-tool (func_usage): Document --more-symlinks.
65239         (do_copyrights): New variable.
65240         Recognize option --more-symlinks.
65241         (func_import): Don't add a copyright notice transform to
65242         sed_transform_lib_file if do_copyrights is empty.
65243
65244 2007-07-13  Bruno Haible  <bruno@clisp.org>
65245
65246         * lib/vasnprintf.c (decimal_point_char): Define also if
65247         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
65248         && !NEED_PRINTF_DIRECTIVE_A.
65249         Reported by Clemens Koller <clemens.koller@anagramm.de> via
65250         Gary V. Vaughan <gary@gnu.org>.
65251
65252 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
65253
65254         * lib/inttypes_.h: Undo previous change, since it was fixed
65255         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
65256
65257 2007-07-13  Bruno Haible  <bruno@clisp.org>
65258
65259         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
65260         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
65261
65262 2007-07-13  Jim Meyering  <jim@meyering.net>
65263
65264         df: Don't fail for Tru64's "file-on-file mount".
65265         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
65266         so we fall through and use statfs instead.  Details here:
65267         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
65268         Reported by Albert Chin.
65269
65270 2007-07-13  Bruno Haible  <bruno@clisp.org>
65271
65272         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
65273         * modules/configmake (License): Likewise.
65274         * modules/gettext (License): Likewise.
65275         * modules/gettext-h (License): Likewise.
65276         * modules/include_next (License): Likewise.
65277         * modules/link-warning (License): Likewise.
65278         * modules/localcharset (License): Likewise.
65279         * modules/localename (License): Likewise.
65280         * modules/lock (License): Likewise.
65281         * modules/relocatable-lib-lgpl (License): Likewise.
65282         * modules/size_max (License): Likewise.
65283         * modules/vasnprintf (License): Likewise.
65284         * modules/wchar (License): Likewise.
65285         * modules/xsize (License): Likewise.
65286
65287 2007-07-13  Bruno Haible  <bruno@clisp.org>
65288
65289         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
65290         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
65291
65292 2007-07-12  Bruno Haible  <bruno@clisp.org>
65293
65294         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
65295         in the modules files.
65296
65297 2007-07-11  Karl Berry  <karl@gnu.org>
65298
65299         * MODULES.html.sh (func_module): use
65300          sed -e '\|^'"${includefile}"'$|d'
65301          instead of /.../d, to avoid errors on $includefile's containing /.
65302
65303 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
65304
65305         * gnulib-tool (func_import): Avoid duplication of --avoid
65306         statements
65307         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
65308         names to `_' in variable names.
65309
65310 2007-07-10  Eric Blake  <ebb9@byu.net>
65311
65312         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
65313         * NEWS: Document this change.
65314
65315 2007-07-08  Bruno Haible  <bruno@clisp.org>
65316
65317         Update to Unicode 5.0.
65318         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
65319         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
65320         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
65321         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
65322         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
65323         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
65324         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
65325         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
65326         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
65327         U+10A3F, U+1D242..U+1D244.
65328         (nonspacing_table_ind): Update.
65329         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
65330         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
65331
65332 2007-07-08  Bruno Haible  <bruno@clisp.org>
65333
65334         Update to Unicode 5.0.
65335         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
65336         code transform. Extend the name index field of unicode_name_to_code and
65337         unicode_code_to_name from 16 to 24 bits.
65338         * lib/uniname/uniname.c (unicode_character_name,
65339         unicode_name_character): Add the range 0x12xxx to the code transform.
65340         * lib/uniname/uninames.h: Regenerated.
65341         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
65342
65343 2007-07-07  Bruno Haible  <bruno@clisp.org>
65344
65345         * modules/wcwidth-tests: New file.
65346         * tests/test-wcwidth.c: New file.
65347
65348         Work around MacOS X wcwidth() bug.
65349         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
65350         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
65351         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
65352         original wcwidth in non-UTF-8 locales.
65353         * modules/wcwidth (Depends-on): Add localcharset, streq,
65354         uniwidth/width.
65355         * doc/functions/wcwidth.texi: Update.
65356
65357 2007-07-07  Bruno Haible  <bruno@clisp.org>
65358
65359         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
65360         (wcwidth): New declaration.
65361         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
65362         macros.
65363         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
65364         here. Prepare for creating <wchar.h> unconditionally.
65365         * modules/wchar (Depends-on): Add link-warning.
65366         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
65367         REPLACE_WCWIDTH, and GL_LINK_WARNING.
65368         * lib/wcwidth.h: Remove file.
65369         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
65370         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
65371         * modules/wcwidth (Files): Remove lib/wcwidth.h.
65372         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
65373         (Include): Replace wcwidth.h with <wchar.h>.
65374         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
65375         * lib/mbchar.h: Don't include wcwidth.h.
65376         * lib/mbswidth.c: Likewise.
65377         * NEWS: Mention the change.
65378
65379 2007-07-07  Bruno Haible  <bruno@clisp.org>
65380
65381         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
65382         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
65383         definition with an external declaration.
65384         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
65385         defined as a function. Remove AC_C_INLINE requirement.
65386         * modules/wcwidth (Files): Add lib/wcwidth.c.
65387         (Makefile.am): Remove redundant statement.
65388
65389 2007-07-07  Bruno Haible  <bruno@clisp.org>
65390
65391         * MODULES.html.sh (Unicode string functions): Add the new modules.
65392
65393         * tests/uniwidth/test-u32-strwidth.c: New file.
65394         * modules/uniwidth/u32-strwidth-tests: New file.
65395
65396         * lib/uniwidth/u32-strwidth.c: New file.
65397         * modules/uniwidth/u32-strwidth: New file.
65398
65399         * tests/uniwidth/test-u16-strwidth.c: New file.
65400         * modules/uniwidth/u16-strwidth-tests: New file.
65401
65402         * lib/uniwidth/u16-strwidth.c: New file.
65403         * modules/uniwidth/u16-strwidth: New file.
65404
65405         * tests/uniwidth/test-u8-strwidth.c: New file.
65406         * modules/uniwidth/u8-strwidth-tests: New file.
65407
65408         * lib/uniwidth/u8-strwidth.c: New file.
65409         * modules/uniwidth/u8-strwidth: New file.
65410
65411         * tests/uniwidth/test-u32-width.c: New file.
65412         * modules/uniwidth/u32-width-tests: New file.
65413
65414         * lib/uniwidth/u32-width.c: New file.
65415         * modules/uniwidth/u32-width: New file.
65416
65417         * tests/uniwidth/test-u16-width.c: New file.
65418         * modules/uniwidth/u16-width-tests: New file.
65419
65420         * lib/uniwidth/u16-width.c: New file.
65421         * modules/uniwidth/u16-width: New file.
65422
65423         * tests/uniwidth/test-u8-width.c: New file.
65424         * modules/uniwidth/u8-width-tests: New file.
65425
65426         * lib/uniwidth/u8-width.c: New file.
65427         * modules/uniwidth/u8-width: New file.
65428
65429         * tests/uniwidth/test-uc_width.c: New file.
65430         * modules/uniwidth/width-tests: New file.
65431
65432         * lib/uniwidth/width.c: New file, from GNU libiconv.
65433         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
65434         * modules/uniwidth/width: New file.
65435
65436         * lib/uniwidth.h: New file, from GNU libiconv.
65437         * modules/uniwidth/base: New file.
65438
65439 2007-07-07  Bruno Haible  <bruno@clisp.org>
65440
65441         * lib/uniname.h: New file, from GNU gettext.
65442         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
65443         * lib/uniname/uninames.h: New file, from GNU gettext.
65444         * lib/uniname/uniname.c: New file, from GNU gettext.
65445         * tests/uniname/test-uninames.sh: New file.
65446         * tests/uniname/test-uninames.c: New file, from GNU gettext.
65447         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
65448         * modules/uniname/base: New file.
65449         * modules/uniname/uniname: New file.
65450         * modules/uniname/uniname-tests: New file.
65451         * MODULES.html.sh (Unicode string functions): Add the new modules.
65452
65453 2007-07-06  Bruno Haible  <bruno@clisp.org>
65454
65455         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
65456
65457 2007-07-06  Bruno Haible  <bruno@clisp.org>
65458
65459         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
65460         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
65461         includes <cygwin/sys_time.h> which includes <sys/select.h> which
65462         include <sys/time.h>.
65463         Reported by Eric Blake.
65464
65465 2007-07-06  Eric Blake  <ebb9@byu.net>
65466
65467         Fix testing canonicalize on cygwin.
65468         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65469         Revert patch from 2007-06-19.
65470         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
65471         canonicalize module is also in use.
65472         * tests/test-canonicalize.c: New file.
65473         * tests/test-canonicalize.sh: Likewise.
65474         * modules/canonicalize-tests: Likewise.
65475
65476 2007-07-06  Jim Meyering  <jim@meyering.net>
65477
65478         * lib/getugroups.c (getugroups): Detect getgrent failure.
65479         Adjust comment to reflect reality: this function may return -1.
65480
65481 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
65482
65483         * build-aux/bootstrap (TP_URL,get_translations): Update to use
65484         the new TP address.
65485         (usage): Fix typo
65486         (gnulib_mk): New variable.
65487
65488 2007-07-05  Jim Meyering  <jim@meyering.net>
65489
65490         Don't let endgrent clobber errno, no matter how improbable.
65491         * lib/getugroups.c (getugroups): Save and restore errno around
65492         endgrent call.
65493
65494         Close the group DB even when failing with 2^31 or more members.
65495         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
65496
65497 2007-07-04  Jim Meyering  <jim@meyering.net>
65498
65499         * lib/getugroups.h: New file.
65500         * lib/getugroups.c: Include "getugroups.h".
65501         Remove uses of "register" keyword.
65502         Move local variable, "cp", down into scope where used.
65503         Give "username" parameter the "const" attribute.
65504         * modules/getugroups (Files): Add lib/getugroups.h
65505
65506 2007-07-04  Karl Berry  <karl@gnu.org>
65507
65508         * MODULES.html.sh (func_all_modules): Complete rename of
65509         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
65510
65511 2007-07-02  Bruno Haible  <bruno@clisp.org>
65512
65513         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
65514         mode, when inttypes.h comes from gnulib.
65515         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
65516
65517 2007-07-02  Simon Josefsson  <simon@josefsson.org>
65518
65519         * NEWS: Mention lgpl module name change.
65520
65521         * modules/lgpl-2.1: Renamed from lgpl.
65522
65523         * NEWS: Mention gpl module name change.
65524
65525         * modules/gpl-3.0: New file, based on gpl-2.0.
65526
65527         * modules/gpl-2.0: Renamed from gpl.
65528
65529         * modules/gpl: Fix filename, doc/gpl.texi is now found at
65530         doc/gpl-2.0.texi.
65531
65532 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
65533
65534         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
65535         #define __STDC_LIMIT_MACROS temporarily while including
65536         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
65537         Problem reported by Joel E. Denny in
65538         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
65539
65540 2007-07-01  Bruno Haible  <bruno@clisp.org>
65541
65542         * lib/unistdio.h: New file.
65543         * lib/unistdio/u-asnprintf.h: New file.
65544         * lib/unistdio/u-asprintf.h: New file.
65545         * lib/unistdio/u-printf-args.c: New file.
65546         * lib/unistdio/u-printf-args.h: New file.
65547         * lib/unistdio/u-printf-parse.h: New file.
65548         * lib/unistdio/u-snprintf.h: New file.
65549         * lib/unistdio/u-sprintf.h: New file.
65550         * lib/unistdio/u-vasprintf.h: New file.
65551         * lib/unistdio/u-vsnprintf.h: New file.
65552         * lib/unistdio/u-vsprintf.h: New file.
65553         * lib/unistdio/ulc-asnprintf.c: New file.
65554         * lib/unistdio/ulc-asprintf.c: New file.
65555         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
65556         * lib/unistdio/ulc-printf-parse.c: New file.
65557         * lib/unistdio/ulc-snprintf.c: New file.
65558         * lib/unistdio/ulc-sprintf.c: New file.
65559         * lib/unistdio/ulc-vasnprintf.c: New file.
65560         * lib/unistdio/ulc-vasprintf.c: New file.
65561         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
65562         * lib/unistdio/ulc-vsnprintf.c: New file.
65563         * lib/unistdio/ulc-vsprintf.c: New file.
65564         * lib/unistdio/u8-asnprintf.c: New file.
65565         * lib/unistdio/u8-asprintf.c: New file.
65566         * lib/unistdio/u8-printf-parse.c: New file.
65567         * lib/unistdio/u8-snprintf.c: New file.
65568         * lib/unistdio/u8-sprintf.c: New file.
65569         * lib/unistdio/u8-vasnprintf.c: New file.
65570         * lib/unistdio/u8-vasprintf.c: New file.
65571         * lib/unistdio/u8-vsnprintf.c: New file.
65572         * lib/unistdio/u8-vsprintf.c: New file.
65573         * lib/unistdio/u8-u8-asnprintf.c: New file.
65574         * lib/unistdio/u8-u8-asprintf.c: New file.
65575         * lib/unistdio/u8-u8-snprintf.c: New file.
65576         * lib/unistdio/u8-u8-sprintf.c: New file.
65577         * lib/unistdio/u8-u8-vasnprintf.c: New file.
65578         * lib/unistdio/u8-u8-vasprintf.c: New file.
65579         * lib/unistdio/u8-u8-vsnprintf.c: New file.
65580         * lib/unistdio/u8-u8-vsprintf.c: New file.
65581         * lib/unistdio/u16-asnprintf.c: New file.
65582         * lib/unistdio/u16-asprintf.c: New file.
65583         * lib/unistdio/u16-printf-parse.c: New file.
65584         * lib/unistdio/u16-snprintf.c: New file.
65585         * lib/unistdio/u16-sprintf.c: New file.
65586         * lib/unistdio/u16-vasnprintf.c: New file.
65587         * lib/unistdio/u16-vasprintf.c: New file.
65588         * lib/unistdio/u16-vsnprintf.c: New file.
65589         * lib/unistdio/u16-vsprintf.c: New file.
65590         * lib/unistdio/u16-u16-asnprintf.c: New file.
65591         * lib/unistdio/u16-u16-asprintf.c: New file.
65592         * lib/unistdio/u16-u16-snprintf.c: New file.
65593         * lib/unistdio/u16-u16-sprintf.c: New file.
65594         * lib/unistdio/u16-u16-vasnprintf.c: New file.
65595         * lib/unistdio/u16-u16-vasprintf.c: New file.
65596         * lib/unistdio/u16-u16-vsnprintf.c: New file.
65597         * lib/unistdio/u16-u16-vsprintf.c: New file.
65598         * lib/unistdio/u32-asnprintf.c: New file.
65599         * lib/unistdio/u32-asprintf.c: New file.
65600         * lib/unistdio/u32-printf-parse.c: New file.
65601         * lib/unistdio/u32-snprintf.c: New file.
65602         * lib/unistdio/u32-sprintf.c: New file.
65603         * lib/unistdio/u32-vasnprintf.c: New file.
65604         * lib/unistdio/u32-vasprintf.c: New file.
65605         * lib/unistdio/u32-vsnprintf.c: New file.
65606         * lib/unistdio/u32-vsprintf.c: New file.
65607         * lib/unistdio/u32-u32-asnprintf.c: New file.
65608         * lib/unistdio/u32-u32-asprintf.c: New file.
65609         * lib/unistdio/u32-u32-snprintf.c: New file.
65610         * lib/unistdio/u32-u32-sprintf.c: New file.
65611         * lib/unistdio/u32-u32-vasnprintf.c: New file.
65612         * lib/unistdio/u32-u32-vasprintf.c: New file.
65613         * lib/unistdio/u32-u32-vsnprintf.c: New file.
65614         * lib/unistdio/u32-u32-vsprintf.c: New file.
65615         * tests/unistdio/test-ulc-asnprintf1.c: New file.
65616         * tests/unistdio/test-ulc-asnprintf1.h: New file.
65617         * tests/unistdio/test-ulc-printf1.h: New file.
65618         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
65619         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
65620         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
65621         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
65622         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
65623         * tests/unistdio/test-ulc-vasprintf1.c: New file.
65624         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
65625         * tests/unistdio/test-ulc-vsprintf1.c: New file.
65626         * tests/unistdio/test-u8-asnprintf1.c: New file.
65627         * tests/unistdio/test-u8-asnprintf1.h: New file.
65628         * tests/unistdio/test-u8-printf1.h: New file.
65629         * tests/unistdio/test-u8-vasnprintf1.c: New file.
65630         * tests/unistdio/test-u8-vasnprintf2.c: New file.
65631         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
65632         * tests/unistdio/test-u8-vasnprintf3.c: New file.
65633         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
65634         * tests/unistdio/test-u8-vasprintf1.c: New file.
65635         * tests/unistdio/test-u8-vsnprintf1.c: New file.
65636         * tests/unistdio/test-u8-vsprintf1.c: New file.
65637         * tests/unistdio/test-u16-asnprintf1.c: New file.
65638         * tests/unistdio/test-u16-asnprintf1.h: New file.
65639         * tests/unistdio/test-u16-printf1.h: New file.
65640         * tests/unistdio/test-u16-vasnprintf1.c: New file.
65641         * tests/unistdio/test-u16-vasnprintf2.c: New file.
65642         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
65643         * tests/unistdio/test-u16-vasnprintf3.c: New file.
65644         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
65645         * tests/unistdio/test-u16-vasprintf1.c: New file.
65646         * tests/unistdio/test-u16-vsnprintf1.c: New file.
65647         * tests/unistdio/test-u16-vsprintf1.c: New file.
65648         * tests/unistdio/test-u32-asnprintf1.c: New file.
65649         * tests/unistdio/test-u32-asnprintf1.h: New file.
65650         * tests/unistdio/test-u32-printf1.h: New file.
65651         * tests/unistdio/test-u32-vasnprintf1.c: New file.
65652         * tests/unistdio/test-u32-vasnprintf2.c: New file.
65653         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
65654         * tests/unistdio/test-u32-vasnprintf3.c: New file.
65655         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
65656         * tests/unistdio/test-u32-vasprintf1.c: New file.
65657         * tests/unistdio/test-u32-vsnprintf1.c: New file.
65658         * tests/unistdio/test-u32-vsprintf1.c: New file.
65659         * modules/unistdio/base: New file.
65660         * modules/unistdio/u-printf-args: New file.
65661         * modules/unistdio/ulc-asnprintf: New file.
65662         * modules/unistdio/ulc-asprintf: New file.
65663         * modules/unistdio/ulc-fprintf: New file.
65664         * modules/unistdio/ulc-printf-parse: New file.
65665         * modules/unistdio/ulc-snprintf: New file.
65666         * modules/unistdio/ulc-sprintf: New file.
65667         * modules/unistdio/ulc-vasnprintf: New file.
65668         * modules/unistdio/ulc-vasprintf: New file.
65669         * modules/unistdio/ulc-vfprintf: New file.
65670         * modules/unistdio/ulc-vsnprintf: New file.
65671         * modules/unistdio/ulc-vsprintf: New file.
65672         * modules/unistdio/u8-asnprintf: New file.
65673         * modules/unistdio/u8-asprintf: New file.
65674         * modules/unistdio/u8-printf-parse: New file.
65675         * modules/unistdio/u8-snprintf: New file.
65676         * modules/unistdio/u8-sprintf: New file.
65677         * modules/unistdio/u8-vasnprintf: New file.
65678         * modules/unistdio/u8-vasprintf: New file.
65679         * modules/unistdio/u8-vsnprintf: New file.
65680         * modules/unistdio/u8-vsprintf: New file.
65681         * modules/unistdio/u8-u8-asnprintf: New file.
65682         * modules/unistdio/u8-u8-asprintf: New file.
65683         * modules/unistdio/u8-u8-snprintf: New file.
65684         * modules/unistdio/u8-u8-sprintf: New file.
65685         * modules/unistdio/u8-u8-vasnprintf: New file.
65686         * modules/unistdio/u8-u8-vasprintf: New file.
65687         * modules/unistdio/u8-u8-vsnprintf: New file.
65688         * modules/unistdio/u8-u8-vsprintf: New file.
65689         * modules/unistdio/u16-asnprintf: New file.
65690         * modules/unistdio/u16-asprintf: New file.
65691         * modules/unistdio/u16-printf-parse: New file.
65692         * modules/unistdio/u16-snprintf: New file.
65693         * modules/unistdio/u16-sprintf: New file.
65694         * modules/unistdio/u16-vasnprintf: New file.
65695         * modules/unistdio/u16-vasprintf: New file.
65696         * modules/unistdio/u16-vsnprintf: New file.
65697         * modules/unistdio/u16-vsprintf: New file.
65698         * modules/unistdio/u16-u16-asnprintf: New file.
65699         * modules/unistdio/u16-u16-asprintf: New file.
65700         * modules/unistdio/u16-u16-snprintf: New file.
65701         * modules/unistdio/u16-u16-sprintf: New file.
65702         * modules/unistdio/u16-u16-vasnprintf: New file.
65703         * modules/unistdio/u16-u16-vasprintf: New file.
65704         * modules/unistdio/u16-u16-vsnprintf: New file.
65705         * modules/unistdio/u16-u16-vsprintf: New file.
65706         * modules/unistdio/u32-asnprintf: New file.
65707         * modules/unistdio/u32-asprintf: New file.
65708         * modules/unistdio/u32-printf-parse: New file.
65709         * modules/unistdio/u32-snprintf: New file.
65710         * modules/unistdio/u32-sprintf: New file.
65711         * modules/unistdio/u32-vasnprintf: New file.
65712         * modules/unistdio/u32-vasprintf: New file.
65713         * modules/unistdio/u32-vsnprintf: New file.
65714         * modules/unistdio/u32-vsprintf: New file.
65715         * modules/unistdio/u32-u32-asnprintf: New file.
65716         * modules/unistdio/u32-u32-asprintf: New file.
65717         * modules/unistdio/u32-u32-snprintf: New file.
65718         * modules/unistdio/u32-u32-sprintf: New file.
65719         * modules/unistdio/u32-u32-vasnprintf: New file.
65720         * modules/unistdio/u32-u32-vasprintf: New file.
65721         * modules/unistdio/u32-u32-vsnprintf: New file.
65722         * modules/unistdio/u32-u32-vsprintf: New file.
65723         * modules/unistdio/ulc-asnprintf-tests: New file.
65724         * modules/unistdio/ulc-vasnprintf-tests: New file.
65725         * modules/unistdio/ulc-vasprintf-tests: New file.
65726         * modules/unistdio/ulc-vsnprintf-tests: New file.
65727         * modules/unistdio/ulc-vsprintf-tests: New file.
65728         * modules/unistdio/u8-asnprintf-tests: New file.
65729         * modules/unistdio/u8-vasnprintf-tests: New file.
65730         * modules/unistdio/u8-vasprintf-tests: New file.
65731         * modules/unistdio/u8-vsnprintf-tests: New file.
65732         * modules/unistdio/u8-vsprintf-tests: New file.
65733         * modules/unistdio/u16-asnprintf-tests: New file.
65734         * modules/unistdio/u16-vasnprintf-tests: New file.
65735         * modules/unistdio/u16-vasprintf-tests: New file.
65736         * modules/unistdio/u16-vsnprintf-tests: New file.
65737         * modules/unistdio/u16-vsprintf-tests: New file.
65738         * modules/unistdio/u32-asnprintf-tests: New file.
65739         * modules/unistdio/u32-vasnprintf-tests: New file.
65740         * modules/unistdio/u32-vasprintf-tests: New file.
65741         * modules/unistdio/u32-vsnprintf-tests: New file.
65742         * modules/unistdio/u32-vsprintf-tests: New file.
65743         * MODULES.html.sh (Unicode string functions): Add the new modules.
65744
65745 2007-07-01  Bruno Haible  <bruno@clisp.org>
65746
65747         * lib/sprintf.c (sprintf): Limit the available length estimation,
65748         to avoid address wraparound.
65749         * lib/vsprintf.c (vsprintf): Likewise.
65750         * modules/sprintf-posix (Dependencies): Add stdint.
65751         * modules/vsprintf-posix (Dependencies): Likewise.
65752
65753 2007-07-01  Bruno Haible  <bruno@clisp.org>
65754
65755         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
65756         Windows PATH as well. Conservative double-quoting. Comments.
65757
65758 2007-07-01  Bruno Haible  <bruno@clisp.org>
65759             Eric Blake  <ebb9@byu.net>
65760             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65761
65762         * gnulib-tool (self_abspathname): Fix algorithm to cope with
65763         empty components in $PATH, denoting '.'.
65764
65765 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65766
65767         * gnulib-tool: Fix indentation.
65768         (func_create_megatestdir): Likewise.
65769         Report by Bruno Haible.
65770
65771 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65772
65773         Sync from Automake.
65774         * build-aux/gnupload: Fix shell portability issues with for loops.
65775         Report by Karl Berry.
65776
65777 2007-06-29  Simon Josefsson  <simon@josefsson.org>
65778
65779         * build-aux/maint.mk (POURL): Use translationproject.org.
65780
65781 2007-06-27  Simon Josefsson  <simon@josefsson.org>
65782             Bruno Haible  <bruno@clisp.org>
65783
65784         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
65785         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
65786         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
65787         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
65788         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
65789
65790 2007-06-27  Bruno Haible  <bruno@clisp.org>
65791
65792         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
65793         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
65794
65795 2007-06-26  Karl Berry  <karl@gnu.org>
65796
65797         * MODULES.html.sh: remove xreadlink-with-size.
65798
65799 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65800
65801         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
65802         method that I hope also handles the double-include problem noted
65803         by Bruno Haible in
65804         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
65805
65806 2007-06-23  Bruno Haible  <bruno@clisp.org>
65807
65808         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
65809         Don't let the 'mostlyclean' target fail if the last subdirectory could
65810         not be removed.
65811         Reported by Karl Berry.
65812
65813 2007-06-23  Bruno Haible  <bruno@clisp.org>
65814
65815         * gnulib-tool (echo): Add a speedier workaround for ksh.
65816         * tests/test-echo.sh: Likewise.
65817
65818 2007-06-23  Bruno Haible  <bruno@clisp.org>
65819
65820         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
65821         * tests/test-echo.sh: Likewise.
65822
65823 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65824
65825         * gnulib-tool (IFS): Initialize early, so we don't set it to
65826         empty later.
65827         (self_abspathname): Rewrite algorithm to set it, reindent.
65828         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
65829         (func_create_megatestdir): Merge some sed scripts.
65830
65831 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
65832
65833         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
65834         exposed by Sun Studio 11 cc on Solaris 8.
65835
65836 2007-06-22  Bruno Haible  <bruno@clisp.org>
65837
65838         * gnulib-tool (echo): Ensure the echo primitive does not interpret
65839         backslashes.
65840         * tests/test-echo.sh: New file.
65841
65842 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65843
65844         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
65845         simplify `sed_replace_build_aux' scripts, they are portable but
65846         echoing them with `echo' is not.
65847         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
65848
65849 2007-06-21  Karl Berry  <karl@gnu.org>
65850
65851         * config/srclist.txt: guess we can't handle the licenses via
65852         srclist at the moment.
65853
65854 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
65855
65856         * MODULES.html.sh: Add include_next.
65857         * modules/include_next: New file.
65858
65859 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
65860
65861         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
65862         INCLUDE_NEXT.
65863         (gl_CHECK_NEXT_HEADERS): New macro.
65864         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
65865         the obsolescent gl_ABSOLUTE_HEADER.
65866         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
65867         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
65868         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
65869         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
65870         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65871         * m4/math_h.m4 (gl_MATH_H): Likewise.
65872         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
65873         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
65874         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
65875         * m4/stdint.m4 (gl_STDINT_H): Likewise.
65876         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
65877         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
65878         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
65879         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
65880         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
65881         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
65882         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
65883         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
65884         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
65885         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
65886         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
65887         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
65888         * m4/inttypes.m4 (gl_INTTYPES_H): Define
65889         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
65890         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
65891         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
65892         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
65893         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
65894         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
65895         * lib/float_.h: Likewise.
65896         * lib/inttypes_.h: Likewise.
65897         * lib/math_.h: Likewise.
65898         * lib/search_.h: Likewise.
65899         * lib/signal_.h: Likewise.
65900         * lib/stdint_.h: Likewise.
65901         * lib/stdio_.h: Likewise.
65902         * lib/stdlib_.h: Likewise.
65903         * lib/string_.h: Likewise.
65904         * lib/sys_stat_.h: Likewise.
65905         * lib/sys_time_.h: Likewise.
65906         * lib/time_.h: Likewise.
65907         * lib/unistd_.h: Likewise.
65908         * lib/wchar_.h: Likewise.
65909         * lib/wctype_.h: Likewise.
65910         * lib/dirent_.h: Likewise.
65911         * lib/iconv_.h: Likewise.
65912         * lib/locale_.h: Likewise.
65913         * lib/netinet_in_.h: Likewise.
65914         * lib/sys_select_.h: Likewise.
65915         * lib/sys_socket_.h: Likewise.
65916         * lib/sysexits_.h: Likewise.
65917         * modules/fcntl (Depends-on): Depend on include_next, not
65918         absolute_header.
65919         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
65920         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
65921         * modules/fchdir: Likewise.
65922         * modules/float: Likewise.
65923         * modules/iconv_open: Likewise.
65924         * modules/inttypes: Likewise.
65925         * modules/locale: Likewise.
65926         * modules/math: Likewise.
65927         * modules/netinet_in: Likewise.
65928         * modules/search: Likewise.
65929         * modules/signal: Likewise.
65930         * modules/stdint: Likewise.
65931         * modules/stdio: Likewise.
65932         * modules/stdlib: Likewise.
65933         * modules/string: Likewise.
65934         * modules/sys_select: Likewise.
65935         * modules/sys_socket: Likewise.
65936         * modules/sys_stat: Likewise.
65937         * modules/sys_time: Likewise.
65938         * modules/sysexits: Likewise.
65939         * modules/time: Likewise.
65940         * modules/unistd: Likewise.
65941         * modules/wchar: Likewise.
65942         * modules/wctype: Likewise.
65943         * modules/sys_stat: Change maintainer to "all".
65944         * modules/unistd: Likewise.
65945
65946 2007-06-20  Karl Berry  <karl@gnu.org>
65947
65948         * config/srclist.txt: track www changes in license files.
65949
65950 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
65951
65952         * build-aux/bootstrap: Remove stray dot.
65953         Make sure build_aux settings are honored when linking
65954         gnulib_extra_files.
65955
65956 2007-06-19  Eric Blake  <ebb9@byu.net>
65957
65958         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
65959         Allow compilation on cygwin.
65960
65961 2007-06-19  Jim Meyering  <jim@meyering.net>
65962
65963         xreadlink-with-size: Remove module.  No longer used.
65964         Ex-callers now use xreadlink or mreadlink-with-size.
65965         * modules/xreadlink-with-size: Remove module.
65966         * lib/xreadlink-with-size.c: Remove file.
65967         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
65968         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
65969         just before the function definition *is* accurate.
65970
65971         Eliminate one way canonicalize_filename_mode could exit.
65972         * lib/canonicalize.c (canonicalize_filename_mode):
65973         Use mreadlink_with_size, not xreadlink_with_size.
65974
65975 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
65976
65977         Detect porting problems to FreeBSD/arm, which has time_t wider than
65978         long int.  Original problem reported for GNU diff by Xin Li in
65979         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
65980         * modules/getdate (Depends-on): Add intprops, verify.
65981         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
65982         is an integer type no wider than long int.
65983
65984 2007-06-18  Jim Meyering  <jim@meyering.net>
65985
65986         New module: mreadlink-with-size.
65987         * MODULES.html.sh: Add mreadlink-with-size.
65988         * modules/mreadlink-with-size: New module
65989         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
65990         not xreadlink-with-size.
65991         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
65992
65993 2007-06-16  Bruno Haible  <bruno@clisp.org>
65994
65995         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
65996         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
65997         Reported by Gary V. Vaughan <gary@gnu.org>.
65998
65999 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
66000
66001         Revamp lchown so that it lives in unistd.h where it belongs.
66002         * lib/lchown.h: Remove.
66003         * lib/dirchownmod.c: Don't include lib/lchown.h.
66004         * lib/fchownat.c: Likewise.
66005         * lib/openat.c: Likewise.
66006         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
66007         does not follow symlinks.
66008         (EOPNOTSUPP): Define if not defined.
66009         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
66010         is defined to 0.
66011         (lchown): New decl.
66012         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
66013         Do not check for lchown decl.
66014         Set REPLACE_LCHOWN.
66015         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
66016         REPLACE_LCHOWN.
66017         * modules/chown: Make it clear it follows symlinks.
66018         * modules/lchown: Make it clear it doesn't follow symlinks.
66019         (Files): Remove lib/lchown.h
66020         (Depends-on): Add unistd.
66021         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
66022         (Include): Include <unistd.h>, not "lchown.h".
66023         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
66024         REPLACE_LCHOWN.
66025
66026 2007-06-15  Jim Meyering  <jim@meyering.net>
66027
66028         Change license (GPL to LGPL) of fsusage and dependents.
66029         * modules/fsusage (License): Change to LGPL.
66030         * modules/full-read (License): Likewise.
66031         * modules/full-write (License): Likewise.
66032         * modules/safe-read (License): Likewise.
66033         * modules/safe-write (License): Likewise.
66034
66035 2007-06-14  Ben Pfaff  <blp@gnu.org>
66036
66037         Missing part of allocsa -> malloca transition.
66038         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
66039         gl_MALLOCA.
66040
66041 2007-06-12  Bruno Haible  <bruno@clisp.org>
66042
66043         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
66044         to ia64, x86_64, i386.
66045         Reported by Eric Blake.
66046
66047 2007-06-12  Bruno Haible  <bruno@clisp.org>
66048
66049         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
66050         cross-compiling to x86_64.
66051
66052 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
66053
66054         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
66055         glitch reported by Ralf Wildenhues in
66056         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
66057
66058         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
66059         Vin Shelton.
66060
66061 2007-06-11  Bruno Haible  <bruno@clisp.org>
66062
66063         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
66064         replacement string.
66065         Reported by Eric Blake.
66066
66067 2007-06-10  Bruno Haible  <bruno@clisp.org>
66068
66069         Prepare vasnprintf code for use with Unicode strings.
66070         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
66071         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
66072         TYPE_U32_STRING.
66073         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
66074         a_u32_string variants.
66075         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66076         * lib/printf-args.c: Don't include config.h and the specification
66077         header if PRINTF_FETCHARGS is already defined.
66078         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
66079         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
66080         TYPE_U16_STRING, TYPE_U32_STRING.
66081         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
66082         u16_directive, u16_directives, u32_directive, u32_directives): New
66083         types.
66084         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
66085         New declarations.
66086         * lib/printf-parse.c: Don't include config.h and the specification
66087         header if PRINTF_PARSE is already defined. Eliminate the set of
66088         parameters for WIDE_CHAR_VERSION; the user of this file must provide
66089         them now. Include c-ctype.h.
66090         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
66091         directive and CHAR_T_ONLY_ASCII.
66092         * lib/vasnprintf.c: Don't include config.h and the specification header
66093         if VASNPRINTF is already defined.
66094         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
66095         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
66096         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
66097         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
66098         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
66099         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
66100         code accordingly.
66101         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
66102         pad_ourselves also in this case, with the 'c' and 's' directives, and
66103         with a different notion of "width".
66104         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
66105
66106 2007-06-10  Bruno Haible  <bruno@clisp.org>
66107
66108         * modules/unistr/u32-mbsnlen: New file.
66109         * lib/unistr/u32-mbsnlen.c: New file.
66110
66111         * modules/unistr/u16-mbsnlen: New file.
66112         * lib/unistr/u16-mbsnlen.c: New file.
66113
66114         * modules/unistr/u8-mbsnlen: New file.
66115         * lib/unistr/u8-mbsnlen.c: New file.
66116
66117         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
66118         declarations.
66119
66120 2007-06-10  Bruno Haible  <bruno@clisp.org>
66121
66122         * lib/string_.h (mbsnlen): New declaration.
66123         * lib/mbsnlen.c: New file.
66124         * m4/mbsnlen.m4: New file.
66125         * modules/mbsnlen: New file.
66126         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
66127         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
66128         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
66129
66130 2007-06-10  Bruno Haible  <bruno@clisp.org>
66131
66132         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
66133
66134 2007-06-10  Bruno Haible  <bruno@clisp.org>
66135
66136         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
66137         * lib/mbuiter.h: Likewise.
66138
66139 2007-06-10  Bruno Haible  <bruno@clisp.org>
66140
66141         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
66142         declaration.
66143
66144 2007-06-10  Karl Berry  <karl@gnu.org>
66145
66146         * config/srclist.txt: remove gettext entries, Bruno prefers
66147         to update individually.
66148
66149 2007-06-10  Bruno Haible  <bruno@clisp.org>
66150
66151         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
66152         'maxlen'. Ensure only length + width bytes are allocated, not
66153         length + 1 + width.
66154
66155 2007-06-09  Bruno Haible  <bruno@clisp.org>
66156
66157         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
66158         (CHAR_T): Remove macro.
66159         (VASNPRINTF): Update.
66160
66161 2007-06-09  Bruno Haible  <bruno@clisp.org>
66162
66163         * MODULES.html.sh (Unicode string functions): Add the new modules.
66164
66165         * modules/uniconv/u32-conv-to-enc: New file.
66166         * lib/uniconv/u32-conv-to-enc.c: New file.
66167         * modules/uniconv/u32-conv-to-enc-tests: New file.
66168         * tests/uniconv/test-u32-conv-to-enc.c: New file.
66169
66170         * modules/uniconv/u16-conv-to-enc: New file.
66171         * lib/uniconv/u16-conv-to-enc.c: New file.
66172         * lib/uniconv/u-conv-to-enc.h: New file.
66173         * modules/uniconv/u16-conv-to-enc-tests: New file.
66174         * tests/uniconv/test-u16-conv-to-enc.c: New file.
66175
66176         * modules/uniconv/u8-conv-to-enc: New file.
66177         * lib/uniconv/u8-conv-to-enc.c: New file.
66178         * modules/uniconv/u8-conv-to-enc-tests: New file.
66179         * tests/uniconv/test-u8-conv-to-enc.c: New file.
66180
66181         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
66182         u32_conv_to_encoding): New declarations.
66183
66184 2007-06-09  Bruno Haible  <bruno@clisp.org>
66185
66186         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
66187
66188 2007-06-09  Bruno Haible  <bruno@clisp.org>
66189
66190         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
66191         * modules/malloca: Renamed from modules/allocsa, updated.
66192         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
66193         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
66194         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
66195         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
66196         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
66197         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
66198         * modules/xmalloca: Renamed from modules/xallocsa, updated.
66199         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
66200         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
66201         * modules/c-strcasestr (Depends-on): Update.
66202         * lib/c-strcasestr.c: Update.
66203         * modules/c-strstr (Depends-on): Update.
66204         * lib/c-strstr.c: Update.
66205         * modules/canonicalize-lgpl (Depends-on): Update.
66206         * lib/canonicalize-lgpl.c: Update.
66207         * modules/clean-temp (Depends-on): Update.
66208         * lib/clean-temp.c: Update.
66209         * modules/csharpcomp (Depends-on): Update.
66210         * lib/csharpcomp.c: Update.
66211         * modules/csharpexec (Depends-on): Update.
66212         * lib/csharpexec.c: Update.
66213         * modules/javacomp (Depends-on): Update.
66214         * lib/javacomp.c: Update.
66215         * modules/javaexec (Depends-on): Update.
66216         * lib/javaexec.c: Update.
66217         * modules/mbscasestr (Depends-on): Update.
66218         * lib/mbscasestr.c: Update.
66219         * modules/mbsstr (Depends-on): Update.
66220         * lib/mbsstr.c: Update.
66221         * modules/setenv (Depends-on): Update.
66222         * lib/setenv.c: Update.
66223         * modules/strcasestr (Depends-on): Update.
66224         * lib/strcasestr.c: Update.
66225         * modules/striconveha (Depends-on): Update.
66226         * lib/striconveha.c: Update.
66227         * modules/relocatable-prog-wrapper (Files): Update.
66228         * lib/relocwrapper.c: Update.
66229         * build-aux/install-reloc: Update.
66230         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
66231
66232 2007-06-08  Bruno Haible  <bruno@clisp.org>
66233
66234         Port to uClibc.
66235         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
66236         * lib/fpurge.c (fpurge): Likewise.
66237         * lib/freading.c (freading): Likewise.
66238         * lib/fseeko.c (rpl_fseeko): Likewise.
66239         * lib/fseterr.c (fseterr): Likewise.
66240         * lib/fwriting.c (fwriting): Likewise.
66241         * tests/test-fflush.c (main): Avoid a failure on uClibc.
66242
66243 2007-06-08  Bruno Haible  <bruno@clisp.org>
66244
66245         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
66246         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
66247         * modules/gettext (Files): Add m4/intlmacosx.m4.
66248
66249 2007-06-07  Bruno Haible  <bruno@clisp.org>
66250
66251         * modules/localename-tests: New file.
66252         * tests/test-localename.c: New file.
66253
66254         New module 'localename'.
66255         * lib/localename.h: New file.
66256         * lib/localename.c: New file, from GNU gettext.
66257         * m4/localename.m4: New file.
66258         * modules/localename: New file.
66259
66260 2007-06-07  Bruno Haible  <bruno@clisp.org>
66261
66262         Work around the lack of <wchar.h> on some builds of uClibc.
66263         * doc/headers/wchar.texi: Update.
66264         * lib/wchar_.h: Include <wchar.h> only if it exists.
66265         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
66266         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
66267         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
66268         doesn't exist.
66269         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
66270         * modules/mbfile (Depends-on): Add wchar.
66271         * modules/mbiter (Depends-on): Likewise.
66272         * modules/mbuiter (Depends-on): Likewise.
66273         Reported by Simon Josefsson.
66274
66275 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
66276
66277         Work around problem reported by Steven M. Schweda in
66278         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
66279         Tru64 5.1B with the Compaq compiler environment installed declares
66280         an 'isblank' function but does not define it in the C library.
66281         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
66282         * lib/regex_internal.h (isblank): Likewise.
66283         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
66284         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66285
66286 2007-06-05  Bruno Haible  <bruno@clisp.org>
66287
66288         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
66289         ia64.
66290         * modules/printf-safe: New file.
66291         * modules/fprintf-posix (Depends-on): Add printf-safe.
66292         * modules/printf-posix (Depends-on): Likewise.
66293         * modules/snprintf-posix (Depends-on): Likewise.
66294         * modules/sprintf-posix (Depends-on): Likewise.
66295         * modules/vasnprintf-posix (Depends-on): Likewise.
66296         * modules/vasprintf-posix (Depends-on): Likewise.
66297         * modules/vfprintf-posix (Depends-on): Likewise.
66298         * modules/vprintf-posix (Depends-on): Likewise.
66299         * modules/vsnprintf-posix (Depends-on): Likewise.
66300         * modules/vsprintf-posix (Depends-on): Likewise.
66301         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
66302         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
66303         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
66304         "no" on i386, x86_64, ia64.
66305         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
66306         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66307         on i386, x86_64, ia64.
66308         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
66309         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66310         on i386, x86_64, ia64.
66311         * tests/test-vasnprintf-posix.c: Include float.h.
66312         (LDBL80_WORDS): New macro.
66313         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66314         on i386, x86_64, ia64.
66315         * tests/test-vasprintf-posix.c: Include float.h.
66316         (LDBL80_WORDS): New macro.
66317         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
66318         on i386, x86_64, ia64.
66319         * tests/test-snprintf-posix.c: Include float.h.
66320         * tests/test-sprintf-posix.c: Likewise.
66321         * tests/test-vsnprintf-posix.c: Likewise.
66322         * tests/test-vsprintf-posix.c: Likewise.
66323
66324 2007-06-05  Bruno Haible  <bruno@clisp.org>
66325
66326         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
66327         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
66328         non-IEEE numbers on i386, x86_64, ia64.
66329         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
66330         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
66331         * tests/test-isnanl.h: Include float.h.
66332         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
66333
66334 2007-06-05  Bruno Haible  <bruno@clisp.org>
66335
66336         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
66337         also the %a / %A. Handle the %a / %A code before this extra handling.
66338
66339 2007-06-05  Bruno Haible  <bruno@clisp.org>
66340
66341         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
66342         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
66343
66344 2007-06-05  Bruno Haible  <bruno@clisp.org>
66345
66346         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
66347         typo in variable name.
66348
66349 2007-06-05  Eric Blake  <ebb9@byu.net>
66350
66351         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
66352         Reported by Simon Josefsson.
66353
66354 2007-06-04  Bruno Haible  <bruno@clisp.org>
66355
66356         Avoid test failures on some PowerPC platforms.
66357         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
66358         Define differently for PowerPC.
66359         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
66360         Reported by Gary V. Vaughan <gary@gnu.org>.
66361
66362 2007-06-02  Bruno Haible  <bruno@clisp.org>
66363
66364         Fix test-stdint failure on FreeBSD/ia64.
66365         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
66366         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
66367         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
66368         * doc/headers/stdint.texi: Update.
66369
66370 2007-06-01  Bruno Haible  <bruno@clisp.org>
66371
66372         * tests/test-binary-io.c (main): Pass a third argument to open().
66373         Reported by Gary V. Vaughan <gary@gnu.org>.
66374
66375 2007-06-01  Bruno Haible  <bruno@clisp.org>
66376
66377         * doc/functions/frexpl.texi: Update for mingw.
66378
66379 2007-06-01  Bruno Haible  <bruno@clisp.org>
66380
66381         * tests/test-lseek.c (main): Disable test of errno for invalid third
66382         argument.
66383         * doc/functions/lseek.texi: Update.
66384         Reported by Gary V. Vaughan <gary@gnu.org>.
66385
66386 2007-05-28  Bruno Haible  <bruno@clisp.org>
66387
66388         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
66389
66390 2007-05-31  Eric Blake  <ebb9@byu.net>
66391
66392         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
66393         cross compiling.
66394
66395 2007-05-30  Eric Blake  <ebb9@byu.net>
66396         and Bruno Haible  <bruno@clisp.org>
66397
66398         Work around mingw test failures exposed by m4-1.4.9b.
66399         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
66400         * tests/test-unistd.c: Disable uid_t and git_t tests for the
66401         moment.
66402
66403 2007-05-30  Bruno Haible  <bruno@clisp.org>
66404
66405         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
66406         assuming that they are closed. Needed on HP-UX 11.
66407
66408 2007-05-29  Bruno Haible  <bruno@clisp.org>
66409
66410         Fix a problem with #include_next.
66411         * lib/dirent_.h: Split the double-inclusion guard.
66412         * lib/fcntl_.h: Likewise.
66413         * lib/float_.h: Likewise.
66414         * lib/iconv_.h: Likewise.
66415         * lib/inttypes_.h: Likewise.
66416         * lib/locale_.h: Likewise.
66417         * lib/math_.h: Likewise.
66418         * lib/netinet_in_.h: Likewise.
66419         * lib/search_.h: Likewise.
66420         * lib/signal_.h: Likewise.
66421         * lib/stdint_.h: Likewise.
66422         * lib/stdio_.h: Likewise.
66423         * lib/stdlib_.h: Likewise.
66424         * lib/string_.h: Likewise.
66425         * lib/sys_select_.h: Likewise.
66426         * lib/sys_socket_.h: Likewise.
66427         * lib/sys_stat_.h: Likewise.
66428         * lib/sys_time_.h: Likewise.
66429         * lib/sysexits_.h: Likewise.
66430         * lib/time_.h: Likewise.
66431         * lib/unistd_.h: Likewise.
66432         * lib/wchar_.h: Likewise.
66433         * lib/wctype_.h: Likewise.
66434
66435 2007-05-29  Bruno Haible  <bruno@clisp.org>
66436
66437         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
66438         for the moment.
66439
66440 2007-05-29  Bruno Haible  <bruno@clisp.org>
66441
66442         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
66443         invocation.
66444         Reported by Eric Blake.
66445
66446 2007-05-29  Bruno Haible  <bruno@clisp.org>
66447
66448         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
66449         compiling case.
66450
66451 2007-05-29  Eric Blake  <ebb9@byu.net>
66452             Bruno Haible  <bruno@clisp.org>
66453
66454         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
66455         cross compiles.
66456
66457 2007-05-28  Eric Blake  <ebb9@byu.net>
66458
66459         * modules/closein-tests (test_closein_LDADD): Support test on
66460         cygwin with libtool.
66461
66462 2007-05-28  Bruno Haible  <bruno@clisp.org>
66463
66464         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
66465         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66466         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66467         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66468         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66469         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66470         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66471         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66472         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66473
66474 2007-05-28  Eric Blake  <ebb9@byu.net>
66475
66476         Unconditionally include <config.h> in unit tests.
66477         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
66478         * tests/test-allocsa.c, tests/test-arcfour.c,
66479         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
66480         tests/test-array_list.c, tests/test-array_oset.c,
66481         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
66482         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
66483         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
66484         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
66485         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
66486         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
66487         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
66488         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
66489         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
66490         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
66491         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
66492         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
66493         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
66494         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
66495         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
66496         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
66497         test-md5.c, test-memmem.c, test-printf-posix.c,
66498         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
66499         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
66500         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
66501         test-strcasestr.c, test-striconv.c, test-striconveh.c,
66502         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
66503         test-vasnprintf-posix2.c, test-vasnprintf.c,
66504         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
66505         test-vfprintf-posix.c, test-vprintf-posix.c,
66506         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
66507         test-xvasprintf.c: Likewise.
66508
66509 2007-05-28  Bruno Haible  <bruno@clisp.org>
66510
66511         * gnulib-tool (func_import): Remember the --with-tests command-line
66512         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
66513         Reported by Eric Blake.
66514
66515 2007-05-28  Bruno Haible  <bruno@clisp.org>
66516
66517         * modules/ftell-tests: New file.
66518         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
66519         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
66520
66521         * lib/ftell.c: New file.
66522         * modules/ftell: New file.
66523         * m4/ftell.m4: New file.
66524         * doc/functions/ftell.texi: Update.
66525         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
66526         REPLACE_FTELL.
66527         * lib/stdio_.h (rpl_ftell): New declaration.
66528         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
66529         REPLACE_FTELL.
66530
66531 2007-05-28  Eric Blake  <ebb9@byu.net>
66532
66533         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
66534
66535 2007-05-28  Bruno Haible  <bruno@clisp.org>
66536
66537         * modules/fseek-tests: New file.
66538         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
66539         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
66540
66541         * lib/fseek.c: New file.
66542         * modules/fseek: New file.
66543         * m4/fseek.m4: New file.
66544         * doc/functions/fseek.texi: Update.
66545         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
66546         REPLACE_FSEEK.
66547         * lib/stdio_.h (rpl_fseek): New declaration.
66548         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
66549         REPLACE_FSEEK.
66550
66551 2007-05-28  Bruno Haible  <bruno@clisp.org>
66552
66553         * lib/stdio_.h (fflush): More comments.
66554
66555 2007-05-28  Bruno Haible  <bruno@clisp.org>
66556
66557         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
66558         runtime test.
66559
66560 2007-05-28  Eric Blake  <ebb9@byu.net>
66561
66562         Improve lseek module.
66563         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
66564         * lib/unistd_.h (lseek): Scale back link warning message.
66565         * tests/test-lseek.c: Beef up test.
66566         * tests/test-lseek.sh: Exercise more facets of lseek.
66567         Reported by Bruno Haible.
66568
66569 2007-05-28  Bruno Haible  <bruno@clisp.org>
66570
66571         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
66572         to define.
66573
66574 2007-05-27  Bruno Haible  <bruno@clisp.org>
66575
66576         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
66577
66578 2007-05-27  Bruno Haible  <bruno@clisp.org>
66579
66580         * modules/openmp: New file.
66581         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
66582         Noah Misch.
66583
66584 2007-05-26  Bruno Haible  <bruno@clisp.org>
66585
66586         * modules/chdir-long (Depends-on): Add fchdir.
66587         * modules/chdir-safer (Depends-on): Likewise.
66588         * modules/fts (Depends-on): Likewise.
66589         * modules/fts-lgpl (Depends-on): Likewise.
66590         * modules/openat (Depends-on): Likewise.
66591         * modules/savewd (Depends-on): Likewise.
66592
66593 2007-05-24  Eric Blake  <ebb9@byu.net>
66594
66595         Fix lseek on mingw.
66596         * modules/lseek: New module.
66597         * m4/lseek.m4: New file.
66598         * lib/lseek.c: New file.
66599         * modules/lseek-tests: New file.
66600         * tests/test-lseek.c: New file.
66601         * tests/test-lseek.sh: New file.
66602         * MODULES.html.sh: Document lseek module.
66603         * modules/fflush (Depends-on): Add lseek, fseeko.
66604         * modules/fseeko (Depends-on): Likewise.
66605         * modules/ftello (Depends-on): Likewise.
66606         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
66607         broken.
66608         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
66609         broken.
66610         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
66611         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
66612         * lib/ftello.c (rpl_ftello): Likewise.
66613         * tests/test-fseeko.c (main): Test this.
66614         * tests/test-fseeko.sh: Likewise.
66615         * tests/test-ftello.c (main): Likewise.
66616         * tests/test-ftello.sh: Likewise.
66617         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
66618         implies replacing fseek.
66619         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
66620         HAVE_FTELLO.
66621         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
66622         * modules/unistd (Makefile.am): Likewise.
66623         * lib/unistd_.h (lseek): Declare a replacement.
66624         * doc/functions/lseek.texi (lseek): Document this fix.
66625         * doc/functions/fseek.texi (fseek): Likewise.
66626         * doc/functions/ftell.texi (ftell): Likewise.
66627
66628 2007-05-24  Bruno Haible  <bruno@clisp.org>
66629
66630         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
66631         in the printed representation of a NaN.
66632         * tests/test-vasprintf-posix.c (test_function): Likewise.
66633         * tests/test-snprintf-posix.h (test_function): Likewise.
66634         * tests/test-sprintf-posix.h (test_function): Likewise.
66635         Reported by Eric Blake.
66636
66637 2007-05-23  Eric Blake  <ebb9@byu.net>
66638
66639         Fix fseeko/ftello on cygwin 1.5.24.
66640         * doc/functions/fseeko.texi (fseeko): Document the fix.
66641         * doc/functions/ftello.texi (ftello): Document the fix.
66642         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
66643         * doc/functions/stdout.text (stdout): New file.
66644         * doc/functions/stderr.text (stderr): New file.
66645         * doc/gnulib.texi (Function Substitutes): Use new files.
66646         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
66647         prior to 1.7.0.
66648         * tests/test-ftello.c (main): Likewise for ftello.
66649         * tests/test-fseeko.sh: New file.
66650         * tests/test-ftello.sh: New file.
66651         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
66652         with seekable stdin.
66653         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
66654         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
66655         (gl_REPLACE_FSEEKO): New macro.
66656         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
66657         * modules/fseeko (Files): Distribute fseeko.c.
66658         * modules/ftello (Files): Distribute ftello.c.
66659         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
66660         mode.
66661         * lib/ftello.c (rpl_ftello): New file.
66662         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
66663         fseeko, ftello.
66664         (gl_STDIN_LARGE_OFFSET): New macro.
66665         * modules/stdio (Makefile.am): Perform the replacement.
66666         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
66667
66668 2007-05-23  Bruno Haible  <bruno@clisp.org>
66669
66670         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
66671         GNULIB_POSIXCHECK is defined.
66672
66673 2007-05-21  Bruno Haible  <bruno@clisp.org>
66674
66675         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
66676         Check also the output for NaN arguments. When cross-compiling, guess
66677         no on IRIX.
66678         * lib/vasnprintf.c: Update comments.
66679         * tests/test-vasnprintf-posix.c (strisnan): New function.
66680         (test_function): Use it.
66681         * tests/test-vasprintf-posix.c (strisnan): New function.
66682         (test_function): Use it.
66683         * tests/test-snprintf-posix.h (strisnan): New function.
66684         (test_function): Use it.
66685         * tests/test-sprintf-posix.h (strisnan): New function.
66686         (test_function): Use it.
66687         Reported by Eric Blake.
66688
66689 2007-05-20  Bruno Haible  <bruno@clisp.org>
66690
66691         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
66692         numbers that fails on BeOS.
66693         * doc/functions/frexpl.texi: Update.
66694
66695 2007-05-20  Jim Meyering  <jim@meyering.net>
66696
66697         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
66698         forced upon us by glibc-2.6.
66699
66700 2007-05-20  Bruno Haible  <bruno@clisp.org>
66701
66702         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
66703         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
66704         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
66705         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
66706         NEED_PRINTF_INFINITE.
66707         (is_infinitel): New function.
66708         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
66709         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
66710         gl_PREREQ_VASNPRINTF_INFINITE.
66711         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
66712         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66713         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
66714         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
66715         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
66716         gl_PREREQ_VASNPRINTF_INFINITE.
66717         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66718         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66719         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66720         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66721         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66722         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66723         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66724         * doc/functions/fprintf.texi: Update.
66725         * doc/functions/printf.texi: Update.
66726         * doc/functions/snprintf.texi: Update.
66727         * doc/functions/sprintf.texi: Update.
66728         * doc/functions/vfprintf.texi: Update.
66729         * doc/functions/vprintf.texi: Update.
66730         * doc/functions/vsnprintf.texi: Update.
66731         * doc/functions/vsprintf.texi: Update.
66732
66733 2007-05-20  Bruno Haible  <bruno@clisp.org>
66734
66735         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
66736         was not found in libc.
66737         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66738
66739 2007-05-20  Bruno Haible  <bruno@clisp.org>
66740
66741         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66742         printed as "-nan" instead of "nan".
66743         * tests/test-vasprintf-posix.c (test_function): Likewise.
66744         * tests/test-snprintf-posix.h (test_function): Likewise.
66745         * tests/test-sprintf-posix.h (test_function): Likewise.
66746         Needed for HP-UX 11.
66747
66748 2007-05-20  Jim Meyering  <jim@meyering.net>
66749
66750         Fix buggy test for the fchownat-deref bug.
66751         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
66752         symlink required for the run-test.  Without it, this test would
66753         always declare that fchownat doesn't work, and client code would
66754         unnecessarily use the replacement function with fixed libc.
66755         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
66756         Reported by Greg Schafer.
66757
66758 2007-05-19  Bruno Haible  <bruno@clisp.org>
66759
66760         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
66761         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
66762         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
66763         Needed for IRIX 6.5 and Solaris 2.5.1.
66764
66765 2007-05-19  Bruno Haible  <bruno@clisp.org>
66766
66767         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
66768         (test_function): Skip tests involving -0.0 on platforms where
66769         -0.0 = 0.0.
66770         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
66771         (test_function): Skip tests involving -0.0 on platforms where
66772         -0.0 = 0.0.
66773         * tests/test-snprintf-posix.h (have_minus_zero): New function.
66774         (test_function): Skip tests involving -0.0 on platforms where
66775         -0.0 = 0.0.
66776         * tests/test-sprintf-posix.h (have_minus_zero): New function.
66777         (test_function): Skip tests involving -0.0 on platforms where
66778         -0.0 = 0.0.
66779         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
66780         tests.
66781         * tests/test-printf-posix.h (test_function): Likewise.
66782         * tests/test-printf-posix.output: Remove all -0.0 related results.
66783         Needed for IRIX 6.5.
66784
66785 2007-05-19  Bruno Haible  <bruno@clisp.org>
66786
66787         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
66788         printed as "nan0x7fffffff" instead of "nan".
66789         * tests/test-vasprintf-posix.c (test_function): Likewise.
66790         * tests/test-snprintf-posix.h (test_function): Likewise.
66791         * tests/test-sprintf-posix.h (test_function): Likewise.
66792         * tests/test-fprintf-posix.h (NaN): Remove macro.
66793         (test_function): Remove all NaN related tests.
66794         * tests/test-printf-posix.h (NaN): Remove macro.
66795         (test_function): Remove all NaN related tests.
66796         * tests/test-printf-posix.output: Remove all NaN related results.
66797         Needed for IRIX 6.5.
66798
66799 2007-05-19  Bruno Haible  <bruno@clisp.org>
66800
66801         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
66802         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
66803
66804 2007-05-19  Bruno Haible  <bruno@clisp.org>
66805
66806         * lib/float_.h: New file.
66807         * m4/float_h.m4: New file.
66808         * modules/float: New file.
66809         * modules/isnanl (Dependencies): Add float.
66810         * modules/isnanl-nolibm (Dependencies): Likewise.
66811         * modules/mathl (Dependencies): Likewise.
66812         * modules/printf-frexpl (Dependencies): Likewise.
66813         * modules/signbit (Dependencies): Likewise.
66814         * modules/vasnprintf (Dependencies): Likewise.
66815         * doc/headers/float.texi: Update.
66816
66817 2007-05-19  Jim Meyering  <jim@meyering.net>
66818
66819         * lib/utimens.c (gl_futimens): Rename from futimens,
66820         now that glibc-2.6 declares futimens.
66821         * lib/utimens.h: Likewise.
66822
66823 2007-05-19  Bruno Haible  <bruno@clisp.org>
66824
66825         Avoid test failures on mingw.
66826         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
66827         * tests/test-printf-posix.sh: Likewise.
66828         * tests/test-vfprintf-posix.sh: Likewise.
66829         * tests/test-vprintf-posix.sh: Likewise.
66830
66831 2007-05-19  Bruno Haible  <bruno@clisp.org>
66832
66833         Fix *printf result for NaN, Inf, -0.0 on mingw.
66834         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
66835         * lib/vasnprintf.c: Include math.h and isnan.h.
66836         (is_infinite_or_zero): New function.
66837         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
66838         values in the %f, %F, %e, %E, %g, %G directives.
66839         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
66840         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66841         gl_PRINTF_INFINITE and test its result. Invoke
66842         gl_PREREQ_VASNPRINTF_INFINITE.
66843         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66844         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66845         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66846         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66847         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66848         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66849         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66850         * doc/functions/fprintf.texi: Update.
66851         * doc/functions/printf.texi: Update.
66852         * doc/functions/snprintf.texi: Update.
66853         * doc/functions/sprintf.texi: Update.
66854         * doc/functions/vfprintf.texi: Update.
66855         * doc/functions/vprintf.texi: Update.
66856         * doc/functions/vsnprintf.texi: Update.
66857         * doc/functions/vsprintf.texi: Update.
66858
66859 2007-05-19  Bruno Haible  <bruno@clisp.org>
66860
66861         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
66862         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
66863         Instead of multiplying with 10^k, set extra_zeroes to k.
66864         (scale10_round_long_double): Remove function.
66865
66866 2007-05-18  Bruno Haible  <bruno@clisp.org>
66867
66868         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
66869         introduced on 2007-05-06.
66870
66871 2007-05-18  Bruno Haible  <bruno@clisp.org>
66872
66873         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
66874         %g directives.
66875         * tests/test-vasprintf-posix.c (test_function): Likewise.
66876         * tests/test-snprintf-posix.h (test_function): Likewise.
66877         * tests/test-sprintf-posix.h (test_function): Likewise.
66878
66879 2007-05-18  Bruno Haible  <bruno@clisp.org>
66880
66881         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
66882         (strmatch): New function.
66883         (test_function): Test the %f directive on numbers of various exponents.
66884         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
66885         (strmatch): New function.
66886         (test_function): Test the %f directive on numbers of various exponents.
66887         * tests/test-snprintf-posix.h (strmatch): New function.
66888         (test_function): Test the %f directive on numbers of various exponents.
66889         * tests/test-sprintf-posix.h (strmatch): New function.
66890         (test_function): Test the %f directive on numbers of various exponents.
66891         * tests/test-snprintf-posix.c (SIZEOF): New macro.
66892         * tests/test-sprintf-posix.c (SIZEOF): New macro.
66893         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
66894         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
66895
66896 2007-05-18  Bruno Haible  <bruno@clisp.org>
66897
66898         Add support for 'long double' number output.
66899         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
66900         * lib/vasnprintf.c: Include math.h and float+.h.
66901         (mp_limb_t): New type.
66902         (GMP_LIMB_BITS): New macro.
66903         (mp_twolimb_t): New type.
66904         (GMP_TWOLIMB_BITS): New macro.
66905         (mpn_t): New type.
66906         (multiply, divide, convert_to_decimal, decode_long_double,
66907         scale10_round_long_double, scale10_round_decimal_long_double,
66908         floorlog10l): New functions.
66909         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
66910         for the %f, %F, %e, %E, %g, %G directives.
66911         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
66912         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
66913         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
66914         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
66915         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
66916         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
66917         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
66918         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
66919         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
66920         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
66921         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
66922         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
66923         * modules/snprintf-posix (Depends-on): Likewise.
66924         * modules/sprintf-posix (Depends-on): Likewise.
66925         * modules/vasnprintf-posix (Depends-on): Likewise.
66926         * modules/vasprintf-posix (Depends-on): Likewise.
66927         * modules/vfprintf-posix (Depends-on): Likewise.
66928         * modules/vsnprintf-posix (Depends-on): Likewise.
66929         * modules/vsprintf-posix (Depends-on): Likewise.
66930         * modules/vasnprintf (Files): Add lib/float+.h.
66931         * doc/functions/fprintf.texi: Update.
66932         * doc/functions/printf.texi: Update.
66933         * doc/functions/snprintf.texi: Update.
66934         * doc/functions/sprintf.texi: Update.
66935         * doc/functions/vfprintf.texi: Update.
66936         * doc/functions/vprintf.texi: Update.
66937         * doc/functions/vsnprintf.texi: Update.
66938         * doc/functions/vsprintf.texi: Update.
66939
66940 2007-05-18  Bruno Haible  <bruno@clisp.org>
66941
66942         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
66943
66944 2007-05-18  Bruno Haible  <bruno@clisp.org>
66945
66946         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
66947         for printing 64-bit integers. Needed for mingw.
66948
66949 2007-05-18  Bruno Haible  <bruno@clisp.org>
66950
66951         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
66952         gl_FUNC_FREXPL_WORKS.
66953         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
66954
66955 2007-05-18  Bruno Haible  <bruno@clisp.org>
66956
66957         * modules/frexpl-nolibm-tests: New file.
66958
66959         * modules/frexpl-nolibm: New file.
66960         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
66961
66962 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
66963
66964         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
66965         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
66966         GCC 4.2, which otherwise issues a lot of warnings.
66967         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
66968         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
66969         Likewise.
66970         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
66971         * modules/iconv_open (iconv.h): Likewise.
66972         * modules/locale (locale.h): Likewise.
66973         * modules/netinet_in (netinet/in.h): Likewise.
66974         * modules/sys_select (sys_select.h): Likewise.
66975         * modules/sys_socket (sys/socket.h): Likewise.
66976         * modules/sys_stat (sys/stat.h): Likewise.
66977         * modules/sysexits (sysexits.h): Likewise.
66978         * modules/unistd (unistd.h): Likewise.
66979
66980 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66981
66982         * modules/closein-tests (Makefile.am): Distribute
66983         `test-closein.sh'.
66984
66985 2007-05-17  Bruno Haible  <bruno@clisp.org>
66986
66987         * tests/test-printf-posix.output: Renamed from
66988         tests/test-fprintf-posix.out.
66989         * modules/fprintf-posix-tests: Update.
66990         * modules/printf-posix-tests: Update.
66991         * modules/vfprintf-posix-tests: Update.
66992         * modules/vprintf-posix-tests: Update.
66993         * tests/test-fprintf-posix.sh: Update.
66994         * tests/test-printf-posix.sh: Update.
66995         * tests/test-vfprintf-posix.sh: Update.
66996         * tests/test-vprintf-posix.sh: Update.
66997         Reported by Ralf Wildenhues.
66998
66999 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
67000
67001         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
67002         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
67003         GCC 4.2, which otherwise issues a lot of warnings.
67004         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
67005         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
67006         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
67007         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
67008         it should no longer be needed.
67009         * lib/string_.h: Likewise.
67010         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
67011         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
67012         * modules/inttypes (inttypes.h): Likewise.
67013         * modules/math (math.h): Likewise.
67014         * modules/search (search.h): Likewise.
67015         * modules/signal (signal.h): Likewise.
67016         * modules/stdint (stdint.h): Likewise.
67017         * modules/stdio (stdio.h): Likewise.
67018         * modules/stdlib (stdlib.h): Likewise.
67019         * modules/string (string.h): Likewise.
67020         * modules/sys_time (sys/time.h): Likewise.
67021         * modules/time (time.h): Likewise.
67022         * modules/wchar (wchar.h): Likewise.
67023         * modules/wctype (wtype.h): Likewise.
67024
67025 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
67026
67027         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
67028
67029 2007-05-13  Bruno Haible  <bruno@clisp.org>
67030
67031         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
67032         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67033         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
67034         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
67035         (gl_PREREQ_STRTOK_R): Don't require it here.
67036
67037 2007-05-13  Bruno Haible  <bruno@clisp.org>
67038
67039         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
67040         when used in C++ mode.
67041
67042 2007-05-12  Bruno Haible  <bruno@clisp.org>
67043
67044         * lib/linebuffer.h: Tweak doc.
67045         * lib/linebuffer.c: Likewise.
67046
67047 2007-05-12  James Youngman  <jay@gnu.org>
67048
67049         * lib/linebuffer.c (readlinebuffer_delim): New function,
67050         like readlinebuffer, but use a caller-specified delimiter.
67051         (readlinebuffer): Just call readlinebuffer_delim with '\n'
67052         as the delimiter.
67053         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
67054
67055 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
67056
67057         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
67058         * modules/openat (Files): Remove openat-die.c.
67059         (Depends-on): Add openat-die.
67060         * modules/openat-die: New module.
67061
67062 2007-05-06  Bruno Haible  <bruno@clisp.org>
67063
67064         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
67065         Update with info about Cygwin.
67066         * doc/functions/fprintf.texi: Update.
67067         * doc/functions/printf.texi: Update.
67068         * doc/functions/snprintf.texi: Update.
67069         * doc/functions/sprintf.texi: Update.
67070         * doc/functions/vfprintf.texi: Update.
67071         * doc/functions/vprintf.texi: Update.
67072         * doc/functions/vsnprintf.texi: Update.
67073         * doc/functions/vsprintf.texi: Update.
67074         Reported by Eric Blake.
67075
67076 2007-05-06  Bruno Haible  <bruno@clisp.org>
67077
67078         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
67079         padding ourselves for the floating-point directives.
67080         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
67081         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
67082         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67083         gl_PRINTF_FLAG_ZERO and test its result. Invoke
67084         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
67085         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67086         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67087         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67088         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67089         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67090         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67091         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67092         * tests/test-snprintf-posix.h (test_function): Also check the width
67093         and some flags in the %f directive.
67094         * tests/test-sprintf-posix.h (test_function): Likewise.
67095         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67096         * tests/test-vasprintf-posix.c (test_function): Likewise.
67097         * doc/functions/fprintf.texi: Update.
67098         * doc/functions/printf.texi: Update.
67099         * doc/functions/snprintf.texi: Update.
67100         * doc/functions/sprintf.texi: Update.
67101         * doc/functions/vfprintf.texi: Update.
67102         * doc/functions/vprintf.texi: Update.
67103         * doc/functions/vsnprintf.texi: Update.
67104         * doc/functions/vsprintf.texi: Update.
67105
67106 2007-05-06  Bruno Haible  <bruno@clisp.org>
67107
67108         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
67109         pass the ' flag character to sprintf or snprintf.
67110         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
67111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
67112         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67113         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
67114         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
67115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67116         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
67117         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67118         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67119         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67120         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67121         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67122         * tests/test-snprintf-posix.h (test_function): Also check the grouping
67123         flag.
67124         * tests/test-sprintf-posix.h (test_function): Likewise.
67125         * tests/test-vasnprintf-posix.c (test_function): Likewise.
67126         * tests/test-vasprintf-posix.c (test_function): Likewise.
67127         * doc/functions/fprintf.texi: Update.
67128         * doc/functions/printf.texi: Update.
67129         * doc/functions/snprintf.texi: Update.
67130         * doc/functions/sprintf.texi: Update.
67131         * doc/functions/vfprintf.texi: Update.
67132         * doc/functions/vprintf.texi: Update.
67133         * doc/functions/vsnprintf.texi: Update.
67134         * doc/functions/vsprintf.texi: Update.
67135
67136 2007-05-01  Bruno Haible  <bruno@clisp.org>
67137
67138         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
67139
67140 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
67141
67142         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
67143         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
67144
67145 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
67146
67147         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
67148         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
67149         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
67150
67151 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
67152
67153         * lib/argp-help.c (struct hol_entry): New member `ord'.
67154         (HOL_ENTRY_PTRCMP): Use ord for comparison
67155         (hol_sort): Initialize ord.
67156
67157 2007-05-01  Bruno Haible  <bruno@clisp.org>
67158
67159         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
67160         Reported by Eric Blake.
67161         * doc/gnulib.texi (Function Substitutes): Update.
67162
67163 2007-05-01  Bruno Haible  <bruno@clisp.org>
67164
67165         * doc/functions.texi: Remove file, now redundant through
67166         doc/functions/*.texi.
67167
67168 2007-05-01  Bruno Haible  <bruno@clisp.org>
67169
67170         * modules/argp (Depends-on): Add sleep.
67171
67172 2007-05-01  Bruno Haible  <bruno@clisp.org>
67173
67174         * modules/sleep-tests: New file.
67175         * tests/test-sleep.c: New file.
67176
67177         * modules/sleep: New file.
67178         * lib/sleep.c: New file.
67179         * m4/sleep.m4: New file.
67180         * lib/unistd_.h (sleep): New declaration.
67181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
67182         HAVE_SLEEP.
67183         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
67184         * doc/functions/sleep.texi: Document the sleep module.
67185
67186 2007-05-01  Bruno Haible  <bruno@clisp.org>
67187
67188         * lib/sigprocmask.h: Remove file.
67189         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
67190         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
67191         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
67192         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
67193         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
67194         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
67195         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
67196         HAVE_SIGSET_T as a shell variable.
67197         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
67198         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
67199         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
67200         (Depends-on): Add signal. Remove verify.
67201         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
67202         (Include): Mention <signal.h> instead of sigprocmask.h.
67203         * NEWS: Mention the change.
67204         * lib/fatal-signal.c: Don't include sigprocmask.h.
67205
67206 2007-05-01  Bruno Haible  <bruno@clisp.org>
67207
67208         * modules/signal: New file.
67209         * lib/signal_.h: New file.
67210         * m4/signal_h.m4: New file.
67211
67212 2007-05-01  Bruno Haible  <bruno@clisp.org>
67213
67214         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
67215         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
67216         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
67217         HAVE_WCTYPE_CTMP_BUG into wctype.h.
67218
67219 2007-05-01  Bruno Haible  <bruno@clisp.org>
67220
67221         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
67222         configure time.
67223         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
67224         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
67225         * modules/sys_stat (Makefile.am): Substitute their values into
67226         sys/stat.h.
67227
67228 2007-05-01  Bruno Haible  <bruno@clisp.org>
67229
67230         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
67231         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
67232         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
67233
67234 2007-05-01  Bruno Haible  <bruno@clisp.org>
67235
67236         * doc/header/assert.texi: Undo last change: don't mention the gnulib
67237         'assert' module here.
67238
67239 2007-05-01  Bruno Haible  <bruno@clisp.org>
67240
67241         * doc/functions/*.texi: New files.
67242         * doc/functions/google-ranking.txt: New file.
67243         * doc/gnulib.texi (Function Substitutes): New chapter.
67244         (ctime, inet_ntoa): Remove sections.
67245         * doc/ctime.texi: Remove file.
67246         * doc/inet_ntoa.texi: Remove file.
67247         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
67248         dependencies.
67249         (%.info): New rule, specifying a --reference-limit.
67250
67251 2007-05-01  Bruno Haible  <bruno@clisp.org>
67252
67253         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
67254
67255 2007-05-01  Bruno Haible  <bruno@clisp.org>
67256
67257         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
67258         the portability of 'mkdir' to mingw systems.
67259
67260 2007-05-01  Bruno Haible  <bruno@clisp.org>
67261
67262         * doc/headers/google-ranking.txt: New file.
67263
67264 2007-04-30  Eric Blake  <ebb9@byu.net>
67265
67266         Prefer fseeko to fseek.
67267         * modules/getpass (Depends-on): Add fseeko.
67268         * lib/getpass.c (getpass): Use fseeko, not fseek.
67269
67270 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
67271
67272         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
67273         assumes the sorting is stable, while most qsort implementations
67274         are not.  Use argument addresses to ensure they never compare as
67275         equal.
67276
67277         * tests/test-argp-2.sh (usage-indent test): Fix output
67278         (func_compare): Restore diff options
67279         * tests/test-argp.c: Restore #include "progname.h"
67280
67281 2007-04-29  Bruno Haible  <bruno@clisp.org>
67282
67283         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
67284         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67285         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
67286         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67287         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
67288         (configure.ac): Define CHECK_SNPRINTF_POSIX.
67289         (TESTS, check_PROGRAMS): Add test-snprintf.
67290         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
67291         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
67292         (TESTS, check_PROGRAMS): Add test-vsnprintf.
67293         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
67294         assertions that fail on HP-UX, OSF/1, or IRIX.
67295         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
67296
67297 2007-04-29  Bruno Haible  <bruno@clisp.org>
67298
67299         * MODULES.html.sh (posix_functions): Remove 'contents'.
67300
67301 2007-04-29  Karl Berry  <karl@gnu.org>
67302
67303         * config/srclist.txt (gendocs_template_min): new entry.
67304
67305 2007-04-29  Bruno Haible  <bruno@clisp.org>
67306
67307         Work around fpurge bug on BSD systems.
67308         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
67309         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
67310         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
67311         fpurge to rpl_fpurge if the system already has this function.
67312         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
67313         the case where the system already has this function. Correct invariants
67314         on BSD systems.
67315         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
67316         BSD systems.
67317
67318 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
67319
67320         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
67321         proposed by Sven Verdoolaege.
67322
67323         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
67324         options.
67325         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
67326         (usage and help tests): Update
67327
67328 2007-04-29  Bruno Haible  <bruno@clisp.org>
67329
67330         * tests/test-fflush.c (main): Use a file of size 17, not 10.
67331         Print more information in case of failure. Disable a test on BeOS.
67332
67333 2007-04-29  Bruno Haible  <bruno@clisp.org>
67334
67335         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
67336         This helps debugging on systems on which no gdb is available.
67337
67338 2007-04-29  Bruno Haible  <bruno@clisp.org>
67339
67340         * lib/freading.h: Improve comments.
67341         * lib/fwriting.h: Likewise.
67342         * tests/test-freading.c (main): Don't check freading immediately after
67343         repositioning. Needed for glibc.
67344
67345 2007-04-29  Bruno Haible  <bruno@clisp.org>
67346
67347         * lib/freading.c (freading): Trivial simplification.
67348
67349 2007-04-28  Bruno Haible  <bruno@clisp.org>
67350
67351         * tests/test-fwriting.c (main): Also test the interaction between
67352         fflush and fwriting.
67353         * modules/fwriting-tests (Depends-on): Add fflush.
67354
67355         * tests/test-freading.c (main): Also test the interaction between
67356         fflush and freading.
67357         * modules/freading-tests (Depends-on): Add fflush.
67358
67359 2007-04-28  Bruno Haible  <bruno@clisp.org>
67360
67361         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
67362         fseeko and ftello.
67363         Suggested by Eric Blake.
67364
67365 2007-04-28  Jim Meyering  <jim@meyering.net>
67366
67367         Avoid false-negative in gl_STDINT_H's C99 conformance test.
67368         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
67369         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
67370
67371 2007-04-27  Eric Blake  <ebb9@byu.net>
67372
67373         * doc/headers/assert.texi (assert.h): Document assert module use.
67374
67375 2007-04-27  Bruno Haible  <bruno@clisp.org>
67376
67377         * doc/headers/*.texi: New files.
67378         * doc/gnulib.texi (Header File Substitutes): New chapter.
67379         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
67380         dependencies.
67381         (standards.info ,standards.html, standards.dvi): Update dependencies.
67382         (mostlyclean, clean): New targets.
67383
67384 2007-04-27  Bruno Haible  <bruno@clisp.org>
67385
67386         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
67387         * modules/sysexits (Files, Makefile.am): Update.
67388
67389         * lib/sys_socket_.h: Renamed from lib/socket_.h.
67390         * modules/sys_socket (Files, Makefile.am): Update.
67391
67392         * lib/sys_stat_.h: Renamed from lib/stat_.h.
67393         * modules/sys_stat (Files, Makefile.am): Update.
67394
67395 2007-04-27  Eric Blake  <ebb9@byu.net>
67396
67397         * lib/freading.h: Improve comments.
67398         * lib/fwriting.h: Likewise.
67399         * lib/fflush.c: Likewise.
67400
67401         Fix closein for mingw.
67402         * modules/closein-tests: Add tests for closein.
67403         * tests/test-closein.c: New file.
67404         * tests/test-closein.sh: Likewise.
67405         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
67406         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
67407
67408 2007-04-27  Bruno Haible  <bruno@clisp.org>
67409
67410         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
67411         version is < 6.
67412         * lib/math_.h [__DECC]: Likewise.
67413         * lib/stdio_.h [__DECC]: Likewise.
67414         * lib/stdlib_.h [__DECC]: Likewise.
67415         * lib/string_.h [__DECC]: Likewise.
67416         * lib/time_.h [__DECC]: Likewise.
67417         * lib/wchar_.h [__DECC]: Likewise.
67418         * lib/wctype_.h [__DECC]: Likewise.
67419
67420 2007-04-27  Bruno Haible  <bruno@clisp.org>
67421
67422         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
67423
67424 2007-04-27  Bruno Haible  <bruno@clisp.org>
67425
67426         * lib/fflush.c: Add comments.
67427         * modules/fpurge-tests (Depends-on): Add fflush.
67428         * modules/freadable-tests (Depends-on): Likewise.
67429         * modules/fwritable-tests (Depends-on): Likewise.
67430
67431 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
67432
67433         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
67434         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
67435         Report by Bruno Haible <bruno@clisp.org>.
67436
67437 2007-04-26  Eric Blake  <ebb9@byu.net>
67438
67439         Fix fflush on mingw.
67440         * modules/fflush (Depends-on): Add freading.
67441         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
67442         but unread data.
67443
67444 2007-04-26  Eric Blake  <ebb9@byu.net>
67445         and Bruno Haible  <bruno@clisp.org>
67446
67447         Implement freading and fwriting.
67448         * lib/freading.c: New file.
67449         * lib/freading.h: Likewise.
67450         * m4/freading.m4: Likewise.
67451         * modules/freading: Likewise.
67452         * modules/freading-tests: Likewise.
67453         * tests/test-freading.c: Likewise.
67454         * lib/fwriting.c: New file.
67455         * lib/fwriting.h: Likewise.
67456         * m4/fwriting.m4: Likewise.
67457         * modules/fwriting: Likewise.
67458         * modules/fwriting-tests: Likewise.
67459         * tests/test-fwriting.c: Likewise.
67460         * MODULES.html.sh (File stream based Input/Output): Mention them.
67461
67462 2007-04-26  Bruno Haible  <bruno@clisp.org>
67463
67464         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
67465         'long' when we assume it.
67466         Suggested by Eric Blake.
67467
67468 2007-04-26  Bruno Haible  <bruno@clisp.org>
67469
67470         Ensure fseeko, ftello are declared on glibc systems.
67471         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
67472         * modules/fseeko (configure.ac-early): Likewise.
67473         * modules/ftello (configure.ac-early): Likewise.
67474         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
67475         AC_FUNC_FSEEKO for this.
67476         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
67477         (gl_CHECK_FSEEKO): Remove macro.
67478
67479 2007-04-26  Bruno Haible  <bruno@clisp.org>
67480
67481         * tests/test-fflush.c (main): Also check the ftell result after
67482         fflush and fseek/fseeko.
67483         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
67484         file descriptor position cache in the stream.
67485         * lib/fseeko.c (rpl_fseeko): Likewise.
67486
67487 2007-04-26  Bruno Haible  <bruno@clisp.org>
67488
67489         * modules/fflush-tests (Depends-on): Add fseeko.
67490
67491 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
67492             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67493
67494         * lib/argz_.h: ensure error_t definition is obtained in same
67495         mechanism system argz.h would have.
67496         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
67497         argz facilities are known bad.  Err on the side of caution if
67498         cross-compiling.
67499
67500 2007-04-25  Eric Blake  <ebb9@byu.net>
67501
67502         * lib/fpurge.c (includes): Use stdlib.h for free.
67503         * tests/test-fflush.c (main): Also test fflush-fseeko.
67504
67505 2007-04-25  Bruno Haible  <bruno@clisp.org>
67506
67507         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
67508         * lib/fseeko.c: New file.
67509         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
67510         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
67511         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
67512         gl_FUNC_FSEEKO.
67513         (gl_FUNC_FSEEKO): Invoke it.
67514         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
67515         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
67516         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
67517
67518 2007-04-25  Bruno Haible  <bruno@clisp.org>
67519
67520         * modules/fflush (Depends-on): Add ftello.
67521
67522 2007-04-25  Bruno Haible  <bruno@clisp.org>
67523
67524         * modules/ftello-tests: New file.
67525         * tests/test-ftello.c: New file.
67526
67527         * modules/ftello: New file.
67528         * m4/ftello.m4: New file.
67529         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
67530         HAVE_FTELLO.
67531         * lib/stdio_.h (ftello): New declaration.
67532         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
67533         HAVE_FTELLO.
67534
67535 2007-04-25  Bruno Haible  <bruno@clisp.org>
67536
67537         * modules/fseeko-tests: New file.
67538         * tests/test-fseeko.c: New file.
67539
67540         * modules/fseeko: New file.
67541         * m4/fseeko.m4: New file.
67542         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
67543         HAVE_FSEEKO.
67544         * lib/stdio_.h (fseeko): New declaration.
67545         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
67546         HAVE_FSEEKO.
67547
67548 2007-04-25  Bruno Haible  <bruno@clisp.org>
67549
67550         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
67551
67552 2007-04-25  Bruno Haible  <bruno@clisp.org>
67553
67554         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
67555         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
67556         * tests/test-unistd.c: Likewise.
67557         * tests/test-fcntl.c: Likewise.
67558
67559 2007-04-23  Eric Blake  <ebb9@byu.net>
67560
67561         * lib/fflush.c: Fix missing include.
67562         Reported by Bruno Haible.
67563
67564 2007-04-23  Bruno Haible  <bruno@clisp.org>
67565
67566         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
67567         Reported by Eric Blake.
67568
67569 2007-04-23  Bruno Haible  <bruno@clisp.org>
67570
67571         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
67572
67573 2007-04-23  Bruno Haible  <bruno@clisp.org>
67574
67575         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
67576
67577 2007-04-23  Bruno Haible  <bruno@clisp.org>
67578
67579         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
67580         Needed on HP-UX 11.
67581
67582 2007-04-16  Eric Blake  <ebb9@byu.net>
67583
67584         Make fflush rely on fpurge.
67585         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
67586         open coding all variants.
67587         * modules/fflush (Depends-on): Add fpurge and unistd.
67588         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
67589         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
67590
67591         Fix --with-tests compilation on cygwin.
67592         * modules/argmatch-tests (Makefile.am): List gnulib library first
67593         in LDADD.
67594         * modules/argp-tests (Makefile.am): Likewise.
67595         * modules/array-list-tests (Makefile.am): Likewise.
67596         * modules/array-oset-tests (Makefile.am): Likewise.
67597         * modules/avltree-list-tests (Makefile.am): Likewise.
67598         * modules/avltree-oset-tests (Makefile.am): Likewise.
67599         * modules/avltreehash-list-tests (Makefile.am): Likewise.
67600         * modules/carray-list-tests (Makefile.am): Likewise.
67601         * modules/dirname-tests (Makefile.am): Likewise.
67602         * modules/frexp-tests (Makefile.am): Likewise.
67603         * modules/isnanl-tests (Makefile.am): Likewise.
67604         * modules/linked-list-tests (Makefile.am): Likewise.
67605         * modules/linkedhash-list-tests (Makefile.am): Likewise.
67606         * modules/lock-tests (Makefile.am): Likewise.
67607         * modules/rbtree-list-tests (Makefile.am): Likewise.
67608         * modules/rbtree-oset-tests (Makefile.am): Likewise.
67609         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
67610         * modules/tls-tests (Makefile.am): Likewise.
67611         * modules/tsearch-tests (Makefile.am): Likewise.
67612         * modules/xvasprintf-tests (Makefile.am): Likewise.
67613
67614         Fix fpurge for cygwin.
67615         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
67616         value.
67617         * modules/fpurge-tests (Depends-on): Clean up trash.
67618
67619 2007-04-16  Simon Josefsson  <simon@josefsson.org>
67620
67621         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
67622
67623         * m4/autobuild.m4: Re-indent.
67624
67625 2007-04-13  Bruno Haible  <bruno@clisp.org>
67626
67627         * modules/fpurge-tests: New file.
67628         * tests/test-fpurge.c: New file.
67629
67630         * modules/fpurge: New file.
67631         * lib/fpurge.h: New file.
67632         * lib/fpurge.c: New file.
67633         * m4/fpurge.m4: New file.
67634
67635 2007-04-13  Bruno Haible  <bruno@clisp.org>
67636
67637         * modules/fbufmode-tests: New file.
67638         * tests/test-fbufmode.c: New file.
67639
67640         * modules/fbufmode: New file.
67641         * lib/fbufmode.h: New file.
67642         * lib/fbufmode.c: New file.
67643         * m4/fbufmode.m4: New file.
67644
67645 2007-04-13  Bruno Haible  <bruno@clisp.org>
67646
67647         * modules/fwritable-tests: New file.
67648         * tests/test-fwritable.c: New file.
67649
67650         * modules/fwritable: New file.
67651         * lib/fwritable.h: New file.
67652         * lib/fwritable.c: New file.
67653         * m4/fwritable.m4: New file.
67654
67655 2007-04-13  Bruno Haible  <bruno@clisp.org>
67656
67657         * modules/freadable-tests: New file.
67658         * tests/test-freadable.c: New file.
67659
67660         * modules/freadable: New file.
67661         * lib/freadable.h: New file.
67662         * lib/freadable.c: New file.
67663         * m4/freadable.m4: New file.
67664
67665 2007-04-13  Bruno Haible  <bruno@clisp.org>
67666
67667         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
67668         MOSTLYCLEANFILES.
67669
67670 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67671
67672         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
67673         gzip bootstrap.conf to avoid dragging in i18n machinery.
67674         (gnulib_tool_option): Use it.
67675
67676 2007-04-13  Bruno Haible  <bruno@clisp.org>
67677
67678         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
67679         %F directives.
67680         * tests/test-vasprintf-posix.c (test_function): Likewise.
67681         * tests/test-snprintf-posix.h (test_function): Likewise.
67682         * tests/test-sprintf-posix.h (test_function): Likewise.
67683         * tests/test-fprintf-posix.h (test_function): Likewise.
67684         * tests/test-printf-posix.h (test_function): Likewise.
67685         * tests/test-fprintf-posix.out: Likewise.
67686
67687 2007-04-13  Bruno Haible  <bruno@clisp.org>
67688
67689         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
67690         * modules/tls-tests (configure.ac): Likewise.
67691         Reported by Arto C. Nirkko <anirkko@insel.ch>.
67692
67693 2007-04-13  Bruno Haible  <bruno@clisp.org>
67694
67695         * lib/tls.c (glthread_tls_get): Fix return type.
67696         Patch by Arto C. Nirkko <anirkko@insel.ch>.
67697
67698 2007-04-12  Eric Blake  <ebb9@byu.net>
67699
67700         * modules/gettime (Depends-on): Remove gettime.
67701         Reported by Dmitry V. Levin.
67702
67703 2007-04-12  Bruno Haible  <bruno@clisp.org>
67704
67705         * modules/fflush (Include): Mention <stdio.h>.
67706         * modules/strtoimax (Include): Mention <inttypes.h>.
67707         * modules/strtoumax (Include): Likewise.
67708
67709 2007-04-12  Eric Blake  <ebb9@byu.net>
67710
67711         * .cvsignore: New file.
67712         * .gitignore: Likewise.
67713
67714 2007-04-12  Bruno Haible  <bruno@clisp.org>
67715
67716         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
67717         not before, since $(LDADD) often contains libgnu.a.
67718         * modules/striconv-tests (test_striconv_LDADD): Likewise.
67719         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
67720         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
67721         Needed on Cygwin.
67722
67723 2007-04-12  Eric Blake  <ebb9@byu.net>
67724
67725         Work around glibc's failure to flush stdin on fclose.
67726         * lib/closein.c (close_stdin): Flush stdin before closing.
67727
67728         Work around glibc's failure to reset seekable stdin on exit.
67729         * modules/closein: New module.
67730         * lib/closein.c: New file.
67731         * lib/closein.h: Likewise.
67732         * m4/closein.m4: Likewise.
67733         * MODULES.html.sh (File stream based Input/Output): Document it.
67734
67735 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67736
67737         * gnulib-tool: Rename generated 'autobuild' script to
67738         'do-autobuild' in --create-megatestdir output.
67739
67740         * doc/gnulib.texi (Build robot for gnulib): Fix.
67741
67742 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67743
67744         * modules/sysexits (Depends-on): Add absolute-header.
67745
67746 2007-04-12  Eric Blake  <ebb9@byu.net>
67747
67748         No need to preserve errno on success.
67749         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
67750         Reported by Bruno Haible.
67751
67752 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67753
67754         * MODULES.html.sh (Support for maintaining and releasing
67755         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
67756
67757 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67758
67759         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
67760
67761 2007-04-12  Simon Josefsson  <simon@josefsson.org>
67762
67763         * modules/autobuild: New module.
67764
67765         * m4/autobuild.m4: New file.
67766
67767 2007-04-11  Bruno Haible  <bruno@clisp.org>
67768
67769         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
67770         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
67771         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
67772         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
67773         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67774         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67775         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67776         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
67777         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67778         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67779         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
67780         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67781         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67782         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
67783         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67784         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67785         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
67786         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67787         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67788         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
67789         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67790         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67791         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
67792         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67793         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67794         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
67795         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
67796         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
67797         Reported by Eric Blake.
67798
67799 2007-04-11  Bruno Haible  <bruno@clisp.org>
67800
67801         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
67802
67803 2007-04-10  Bruno Haible  <bruno@clisp.org>
67804
67805         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
67806         for NaN and Infinity. Needed on FreeBSD 6.1.
67807         * tests/test-vasnprintf-posix.c (test_function): Undo last change
67808         regarding results for "%010a" of Infinity and NaN.
67809         * tests/test-vasprintf-posix.c (test_function): Likewise.
67810         * tests/test-snprintf-posix.h (test_function): Likewise.
67811         * tests/test-sprintf-posix.h (test_function): Likewise.
67812         * tests/test-fprintf-posix.h (test_function): Likewise.
67813         * tests/test-printf-posix.h (test_function): Likewise.
67814         * tests/test-fprintf-posix.out: Likewise.
67815
67816 2007-04-10  Bruno Haible  <bruno@clisp.org>
67817
67818         * modules/locale-tests: New file.
67819         * tests/test-locale.c: New file.
67820
67821         * modules/locale: New file.
67822         * lib/locale_.h: New file.
67823         * m4/locale_h.m4: New file.
67824
67825 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
67826             Bruno Haible  <bruno@clisp.org>
67827
67828         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
67829         be determined, test for availability of the copysignf, copysign,
67830         copysignl functions.
67831         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
67832         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
67833         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
67834
67835 2007-04-09  Eric Blake  <ebb9@byu.net>
67836
67837         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
67838         * modules/stdio (Makefile.am): Support fflush.
67839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
67840         * modules/fflush: New file.
67841         * lib/fflush.c: Likewise.
67842         * m4/fflush.m4: Likewise.
67843         * modules/fflush-tests: New test.
67844         * tests/test-fflush.c: Likewise.
67845         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
67846
67847 2007-04-06  Bruno Haible  <bruno@clisp.org>
67848
67849         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
67850         (VASNPRINTF): Use signbit for faster determination whether to print a
67851         minus sign.
67852         * modules/vasnprintf (Files): Remove lib/float+.h.
67853         * modules/fprintf-posix (Depends-on): Add signbit.
67854         * modules/snprintf-posix (Depends-on): Likewise.
67855         * modules/sprintf-posix (Depends-on): Likewise.
67856         * modules/vasnprintf-posix (Depends-on): Likewise.
67857         * modules/vasprintf-posix (Depends-on): Likewise.
67858         * modules/vfprintf-posix (Depends-on): Likewise.
67859         * modules/vsnprintf-posix (Depends-on): Likewise.
67860         * modules/vsprintf-posix (Depends-on): Likewise.
67861
67862 2007-04-06  Bruno Haible  <bruno@clisp.org>
67863
67864         * tests/test-frexp.c (main): Test also the sign bit of zero results.
67865         * tests/test-frexpl.c (main): Likewise.
67866         * tests/test-ldexpl.c (main): Likewise.
67867         * modules/frexp-tests (Depends-on): Add signbit.
67868         * modules/frexpl-tests (Depdends-on): Likewise.
67869         * modules/ldexpl-tests (Depdends-on): Likewise.
67870
67871 2007-04-06  Bruno Haible  <bruno@clisp.org>
67872
67873         * modules/signbit-tests: New file.
67874         * tests/test-signbit.c: New file.
67875
67876         * modules/signbit: New file.
67877         * lib/signbitf.c: New file.
67878         * lib/signbitd.c: New file.
67879         * lib/signbitl.c: New file.
67880         * m4/signbit.m4: New file.
67881         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
67882         (signbit): New macro.
67883         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
67884         REPLACE_SIGNBIT.
67885         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
67886         REPLACE_FREXPL into math.h.
67887
67888 2007-04-06  Bruno Haible  <bruno@clisp.org>
67889
67890         * modules/isnanf-nolibm-tests: New file.
67891         * tests/test-isnanf.c: New file.
67892
67893         * modules/isnanf-nolibm: New file.
67894         * lib/isnanf.h: New file.
67895         * lib/isnanf.c: New file.
67896         * lib/isnan.c: Consider the USE_FLOAT macro.
67897         * m4/isnanf.m4: New file.
67898
67899 2007-04-06  Bruno Haible  <bruno@clisp.org>
67900
67901         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
67902         (Link): New section.
67903
67904         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
67905
67906 2007-04-06  Bruno Haible  <bruno@clisp.org>
67907
67908         Assume the 'long double' type.
67909         * m4/longdouble.m4: Remove file.
67910         * config/srclist.txt: Don't mention longdouble.m4.
67911         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
67912         * lib/float+.h: Likewise.
67913         * lib/frexp.c: Likewise.
67914         * lib/printf-args.h: Likewise.
67915         * lib/printf-args.c: Likewise.
67916         * lib/printf-frexp.c: Likewise.
67917         * lib/printf-parse.c: Likewise.
67918         * lib/vasnprintf.c: Likewise.
67919         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
67920         * m4/intl.m4: Likewise.
67921         * m4/isnanl.m4: Likewise.
67922         * m4/printf.m4: Likewise.
67923         * m4/printf-frexpl.m4: Likewise.
67924         * m4/vasnprintf.m4: Likewise.
67925         * modules/allocsa (Files): Remove m4/longdouble.m4.
67926         * modules/gettext (Files): Likewise.
67927         * modules/relocatable-prog-wrapper (Files): Likewise.
67928         * modules/vasnprintf (Files): Likewise.
67929         * modules/isnanl (Files): Likewise.
67930         (Include): Simplify.
67931         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
67932         (Include): Simplify.
67933         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
67934         (Include): Simplify.
67935         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
67936         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67937         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
67938         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67939         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67940         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67941         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
67942         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67943         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
67944         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67945         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
67946         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
67947         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
67948         * tests/test-isnanl.c: Likewise.
67949         * tests/test-snprintf-posix.h: Likewise.
67950         * tests/test-sprintf-posix.h: Likewise.
67951         * tests/test-vasnprintf-posix.c: Likewise.
67952         * tests/test-vasnprintf-posix2.c: Likewise.
67953         * tests/test-vasprintf-posix.c: Likewise.
67954
67955 2007-04-06  Bruno Haible  <bruno@clisp.org>
67956
67957         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
67958         * lib/math_.h [__DECC]: Include the overridden include file through
67959         #include_next, outside the double-inclusion guard.
67960         * lib/stdio_.h [__DECC]: Likewise.
67961         * lib/stdlib_.h [__DECC]: Likewise.
67962         * lib/string_.h [__DECC]: Likewise.
67963         * lib/time_.h [__DECC]: Likewise.
67964         * lib/wchar_.h [__DECC]: Likewise.
67965         * lib/wctype_.h [__DECC]: Likewise.
67966         * lib/inttypes_.h [__DECC]: Likewise.
67967         Reported by Albert Chin <china@thewrittenword.com> in
67968         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
67969
67970 2007-04-04  Eric Blake  <ebb9@byu.net>
67971
67972         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
67973         1.5.x.
67974
67975 2007-04-04  Bruno Haible  <bruno@clisp.org>
67976
67977         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
67978         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
67979
67980 2007-04-04  Bruno Haible  <bruno@clisp.org>
67981
67982         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
67983         results for "%010a" of Infinity and NaN.
67984         * tests/test-vasprintf-posix.c (test_function): Likewise.
67985         * tests/test-snprintf-posix.h (test_function): Likewise.
67986         * tests/test-sprintf-posix.h (test_function): Likewise.
67987         * tests/test-fprintf-posix.h (test_function): Remove these tests.
67988         * tests/test-printf-posix.h (test_function): Likewise.
67989         * tests/test-fprintf-posix.out: Update.
67990         Needed for FreeBSD 6.1.
67991
67992 2007-04-04  Bruno Haible  <bruno@clisp.org>
67993
67994         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
67995         directly used by the gnulib modules nor by gnulib-tool.
67996
67997 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67998
67999         * DEPENDENCIES: Give overall description of version dependency
68000         desirability.  Use more-typical names for apps.
68001         Add shell, coreutils, diffutils, grep, tar, gzip.
68002
68003 2007-04-04  Simon Josefsson  <simon@josefsson.org>
68004
68005         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
68006
68007 2007-04-04  Karl Berry  <karl@gnu.org>
68008
68009         * MODULES.html.sh (func_module): missing '.
68010
68011 2007-04-03  Bruno Haible  <bruno@clisp.org>
68012
68013         * modules/argmatch-tests (Makefile.am): New variable
68014         test_argmatch_LDADD.
68015         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
68016         * modules/array-list-tests (Makefile.am): New variable
68017         test_array_list_LDADD.
68018         * modules/array-oset-tests (Makefile.am): New variable
68019         test_array_oset_LDADD.
68020         * modules/avltree-list-tests (Makefile.am): New variable
68021         test_avltree_list_LDADD.
68022         * modules/avltree-oset-tests (Makefile.am): New variable
68023         test_avltree_oset_LDADD.
68024         * modules/avltreehash-list-tests (Makefile.am): New variable
68025         test_avltreehash_list_LDADD.
68026         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
68027         test_canonicalize_lgpl_LDADD.
68028         * modules/carray-list-tests (Makefile.am): New variable
68029         test_carray_list_LDADD.
68030         * modules/dirname-tests (Makefile.am): New variable
68031         test_dirname_LDADD.
68032         * modules/linked-list-tests (Makefile.am): New variable
68033         test_linked_list_LDADD.
68034         * modules/linkedhash-list-tests (Makefile.am): New variable
68035         test_linkedhash_list_LDADD.
68036         * modules/rbtree-list-tests (Makefile.am): New variable
68037         test_rbtree_list_LDADD.
68038         * modules/rbtree-oset-tests (Makefile.am): New variable
68039         test_rbtree_oset_LDADD.
68040         * modules/rbtreehash-list-tests (Makefile.am): New variable
68041         test_rbtreehash_list_LDADD.
68042         * modules/xvasprintf-tests (Makefile.am): New variable
68043         test_xvasprintf_LDADD.
68044         Reported by Eric Blake.
68045
68046 2007-04-03  Eric Blake  <ebb9@byu.net>
68047
68048         * DEPENDENCIES: Weaken m4 requirements.
68049
68050 2007-04-03  Bruno Haible  <bruno@clisp.org>
68051
68052         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
68053         * modules/isnanl-tests (configure.ac): Likewise.
68054
68055 2007-04-03  Ben Pfaff  <blp@gnu.org>
68056
68057         * modules/iconv_open: Add $(srcdir)/ to source directory
68058         references in Makefile fragments that call gperf, to fix VPATH
68059         builds.
68060
68061 2007-04-03  Bruno Haible  <bruno@clisp.org>
68062
68063         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
68064         * lib/ldexpl.c: Undo last change.
68065
68066 2007-04-03  Bruno Haible  <bruno@clisp.org>
68067
68068         * modules/printf-frexpl (Depends-on): Undo last change.
68069         (Files): Add m4/ldexpl.m4.
68070
68071 2007-04-03  Bruno Haible  <bruno@clisp.org>
68072
68073         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
68074         * modules/isnanl (Link): New section.
68075
68076         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
68077         * modules/frexp (Link): New section.
68078
68079         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
68080         * modules/frexpl (Link): New section.
68081
68082         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
68083         * modules/ldexpl (Link): New section.
68084
68085 2007-04-03  Bruno Haible  <bruno@clisp.org>
68086
68087         * modules/TEMPLATE-EXTENDED: New file.
68088         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
68089
68090 2007-04-03  Bruno Haible  <bruno@clisp.org>
68091
68092         * DEPENDENCIES: New file.
68093         Suggested by Simon Josefsson.
68094
68095 2007-04-03  Bruno Haible  <bruno@clisp.org>
68096
68097         * doc/gnulib.texi: Escape @.
68098
68099 2007-04-03  James Youngman  <jay@gnu.org>
68100         and Paul Eggert  <eggert@cs.ucla.edu>
68101
68102         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
68103         birthtime on all systems that have birthtime, not just those which
68104         use st_birthtimensec rather than st_birthtim.  Putting zero in
68105         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
68106         that the birth time is not available for files on an NFS mount.
68107
68108 2007-04-03  Simon Josefsson  <simon@josefsson.org>
68109
68110         * modules/memxor: Move back from crypto/, suggested by Bruno.
68111         * modules/crypto/hmac-sha1: Fix memxor dependency.
68112
68113         * modules/crypto/gc: Moved from ../.
68114
68115 2007-04-02  Eric Blake  <ebb9@byu.net>
68116
68117         * lib/ldexpl.c (includes): Avoid libm.
68118
68119         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
68120
68121 2007-04-02  Bruno Haible  <bruno@clisp.org>
68122
68123         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
68124         on IRIX.
68125
68126 2007-04-02  Bruno Haible  <bruno@clisp.org>
68127
68128         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
68129         x86 or x86_64 platforms running MacOS X.
68130         Reported by Ryan Schmidt <@ryandesign.com>.
68131
68132 2007-04-02  Bruno Haible  <bruno@clisp.org>
68133
68134         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
68135         i386.
68136
68137 2007-04-01  Simon Josefsson  <simon@josefsson.org>
68138
68139         * modules/crypto/arcfour: Moved from ../.
68140         * modules/crypto/arcfour-tests: Moved from ../.
68141         * modules/crypto/arctwo: Moved from ../.
68142         * modules/crypto/arctwo-tests: Moved from ../.
68143         * modules/crypto/des: Moved from ../.
68144         * modules/crypto/des-tests: Moved from ../.
68145         * modules/crypto/gc-arcfour: Moved from ../.
68146         * modules/crypto/gc-arcfour-tests: Moved from ../.
68147         * modules/crypto/gc-arctwo: Moved from ../.
68148         * modules/crypto/gc-arctwo-tests: Moved from ../.
68149         * modules/crypto/gc-des: Moved from ../.
68150         * modules/crypto/gc-des-tests: Moved from ../.
68151         * modules/crypto/gc-hmac-md5: Moved from ../.
68152         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
68153         * modules/crypto/gc-hmac-sha1: Moved from ../.
68154         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
68155         * modules/crypto/gc-md2: Moved from ../.
68156         * modules/crypto/gc-md2-tests: Moved from ../.
68157         * modules/crypto/gc-md4: Moved from ../.
68158         * modules/crypto/gc-md4-tests: Moved from ../.
68159         * modules/crypto/gc-md5: Moved from ../.
68160         * modules/crypto/gc-md5-tests: Moved from ../.
68161         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
68162         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
68163         * modules/crypto/gc-random: Moved from ../.
68164         * modules/crypto/gc-rijndael: Moved from ../.
68165         * modules/crypto/gc-rijndael-tests: Moved from ../.
68166         * modules/crypto/gc-sha1: Moved from ../.
68167         * modules/crypto/gc-sha1-tests: Moved from ../.
68168         * modules/crypto/gc-tests: Moved from ../.
68169         * modules/crypto/hmac-md5: Moved from ../.
68170         * modules/crypto/hmac-md5-tests: Moved from ../.
68171         * modules/crypto/hmac-sha1: Moved from ../.
68172         * modules/crypto/hmac-sha1-tests: Moved from ../.
68173         * modules/crypto/md2: Moved from ../.
68174         * modules/crypto/md2-tests: Moved from ../.
68175         * modules/crypto/md4: Moved from ../.
68176         * modules/crypto/md4-tests: Moved from ../.
68177         * modules/crypto/md5: Moved from ../.
68178         * modules/crypto/md5-tests: Moved from ../.
68179         * modules/crypto/memxor: Moved from ../.
68180         * modules/crypto/rijndael: Moved from ../.
68181         * modules/crypto/rijndael-tests: Moved from ../.
68182         * modules/crypto/sha1: Moved from ../.
68183
68184 2007-03-30  James Youngman  <jay@gnu.org>
68185
68186         * tests/test-stat-time.c (prepare_test): use chmod() rather than
68187         rename() to change the ctime of a file (because ctime is unaffected
68188         by rename on jfs2 on AIX 5.1).
68189         (main): Start by doing cleanup, in case a previous run failed leaving
68190         test files behind.
68191
68192 2007-03-31  Bruno Haible  <bruno@clisp.org>
68193
68194         Support old proprietary implementations of iconv.
68195         * modules/iconv_open: New file.
68196         * lib/iconv_.h: New file.
68197         * m4/iconv_h.m4: New file.
68198         * lib/iconv_open.c: New file.
68199         * lib/iconv_open-aix.gperf: New file.
68200         * lib/iconv_open-hpux.gperf: New file.
68201         * lib/iconv_open-irix.gperf: New file.
68202         * lib/iconv_open-osf.gperf: New file.
68203         * m4/iconv_open.m4: New file.
68204         * modules/linebreak (Depends-on): Add iconv_open.
68205         * modules/striconv (Depends-on): Likewise.
68206         * modules/striconveh (Depends-on): Likewise.
68207         * modules/unicodeio (Depends-on): Likewise.
68208         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
68209         (iconv_t)(-1).
68210         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
68211         conversion if cd is (iconv_t)(-1).
68212         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
68213         is not possible.
68214
68215 2007-03-31  Bruno Haible  <bruno@clisp.org>
68216
68217         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68218         work on Solaris either. Protect also second use of "autodetect_jp".
68219
68220 2007-03-31  Bruno Haible  <bruno@clisp.org>
68221
68222         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
68223         the function is not present.
68224
68225 2007-03-31  Bruno Haible  <bruno@clisp.org>
68226
68227         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
68228         the function is not present.
68229
68230 2007-03-31  Bruno Haible  <bruno@clisp.org>
68231
68232         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
68233         a bug in HP-UX iconv_open().
68234
68235 2007-03-31  Bruno Haible  <bruno@clisp.org>
68236
68237         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
68238         (Mathematics <math.h>): New section, add fpieee.
68239         (Input/output <stdio.h>): Add fseterr.
68240         (Mathematics <math.h>): New section, add printf-frexp.
68241         (Container data structures): Add sublist.
68242         (Core language properties): Add fpucw, inline.
68243         (Functions for greatest-width integer types <inttypes.h>): Add
68244         imaxabs, imaxdiv, inttypes.
68245         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
68246         isnanl-nolibm, ldexp.
68247         (Mathematics <math.h>): New section, add printf-frexpl.
68248         (Support for systems lacking POSIX:2001): Add fprintf-posix,
68249         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
68250         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
68251         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
68252         (Unicode string functions): Add unistr/u*-mbtoucr.
68253         (Java): Add javacomp-script, javaexec-script.
68254         (C#): Add csharpcomp-script, csharpexec-script.
68255         (Support for building libraries and executables): Add havelib,
68256         relocatable-*.
68257         (Support for maintaining and releasing projects): Renamed from
68258         'Support for maintaining and release projects'. Add announce-gen.
68259
68260 2007-03-31  Bruno Haible  <bruno@clisp.org>
68261
68262         * README: Talk primarily about git.
68263         (git and CVS): Renamed from CVS.
68264         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
68265         gnulib is available through git.
68266         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
68267
68268 2007-03-30  Bruno Haible  <bruno@clisp.org>
68269
68270         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
68271         * lib/poll_.h: Likewise.
68272         * lib/stat_.h: Likewise.
68273         * lib/sys_time_.h: Likewise.
68274         * lib/sysexit_.h: Likewise.
68275         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
68276         * lib/stdbool_.h: Likewise.
68277         * lib/byteswap_.h: Add double-inclusion guard.
68278
68279 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
68280
68281         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
68282
68283 2007-03-30  Karl Berry  <karl@gnu.org>
68284
68285         * config/srclist-update: double space after USA in the license
68286         substitution, since that's how it's usually (?) written.
68287
68288 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
68289
68290         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
68291         reported by Bruno Haible.
68292
68293 2007-03-29  Bruno Haible  <bruno@clisp.org>
68294
68295         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
68296         a bug in AIX iconv().
68297
68298 2007-03-29  Bruno Haible  <bruno@clisp.org>
68299
68300         * modules/ldexpl-tests: New file.
68301         * tests/test-ldexpl.c: New file.
68302
68303 2007-03-29  Bruno Haible  <bruno@clisp.org>
68304
68305         * lib/ldexpl.c: Include fpucw.h.
68306         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
68307         multiplication.
68308         * modules/ldexpl (Depends-on): Add fpucw.
68309
68310 2007-03-29  Bruno Haible  <bruno@clisp.org>
68311
68312         * modules/ldexpl: New file.
68313         * m4/ldexpl.m4: New file.
68314         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
68315         set.
68316         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
68317         REPLACE_LDEXPL.
68318         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
68319         REPLACE_LDEXPL.
68320         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68321         gl_FUNC_LDEXPL_WORKS.
68322         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
68323         * modules/mathl (Files): Remove lib/ldexpl.c.
68324         (Depends-on): Add ldexpl.
68325
68326 2007-03-29  Bruno Haible  <bruno@clisp.org>
68327
68328         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
68329
68330 2007-03-29  Bruno Haible  <bruno@clisp.org>
68331
68332         * tests/test-striconveh.c (main): Don't assume that a direct conversion
68333         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
68334         and possibly also HP-UX.
68335         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
68336         work on AIX, IRIX, HP-UX, OSF/1.
68337         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
68338         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
68339         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
68340         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
68341         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
68342         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
68343
68344 2007-03-29  Bruno Haible  <bruno@clisp.org>
68345
68346         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
68347
68348 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68349
68350         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
68351         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
68352
68353 2007-03-29  Eric Blake  <ebb9@byu.net>
68354
68355         * lib/acl-internal.h: Remove redundant include.
68356         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
68357         Cygwin when a file is locked.
68358
68359 2007-03-29  Bruno Haible  <bruno@clisp.org>
68360
68361         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
68362         file.
68363         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
68364
68365 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
68366
68367         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
68368         try to remove a parent directory if the child couldn't be removed
68369         (except for the first rmdir, which could fail because the child
68370         doesn't exist).  Problem reported by Jeff Blaine in
68371         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
68372
68373 2007-03-28  Bruno Haible  <bruno@clisp.org>
68374
68375         * lib/striconveh.c (utf8conv_carefully): New function.
68376         (mem_cd_iconveh_internal): Invoke it.
68377
68378 2007-03-28  Bruno Haible  <bruno@clisp.org>
68379
68380         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
68381         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
68382         input.
68383         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
68384         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
68385         unistr/u8-uctomb.
68386
68387 2007-03-28  Bruno Haible  <bruno@clisp.org>
68388
68389         * modules/unistr/u8-mbtoucr: New file.
68390         * lib/unistr/u8-mbtoucr.c: New file.
68391         * modules/unistr/u16-mbtoucr: New file.
68392         * lib/unistr/u16-mbtoucr.c: New file.
68393         * modules/unistr/u16-mbtoucr: New file.
68394         * lib/unistr/u16-mbtoucr.c: New file.
68395         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
68396
68397 2007-03-27  Simon Josefsson  <simon@josefsson.org>
68398             Bruno Haible  <bruno@clisp.org>
68399
68400         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
68401         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
68402         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
68403
68404         * m4/stdio_h.m4: Add stubs for vasprintf too.
68405
68406         * modules/stdio: Support vasprintf in sed command.
68407
68408         * modules/vasprintf: Depend on stdio for prototypes.  Remove
68409         vasprintf.h.  Add stdio module indicator.
68410
68411         * lib/stdio_.h: Declare asprintf and vasprintf, based on
68412         vasprintf.h.
68413
68414         * lib/vasprintf.h: File removed.
68415
68416         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
68417         * lib/vasprintf.c: Ditto.
68418         * lib/xvasprintf.c: Ditto.
68419         * tests/test-vasprintf-posix.c: Ditto.
68420         * tests/test-vasprintf.c: Ditto.
68421
68422 2007-03-27  Bruno Haible  <bruno@clisp.org>
68423
68424         Make vasnprintf multithread-safe.
68425         * lib/vasnprintf.c (decimal_point_char): New function.
68426         (VASNPRINTF): Use it.
68427         Suggested by Simon Josefsson.
68428
68429 2007-03-27  Eric Blake  <ebb9@byu.net>
68430
68431         Support sub-second birthtime on cygwin.
68432         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
68433         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
68434         (get_stat_birthtime): Also work with st_birthtim.
68435
68436 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
68437
68438         * lib/stat-time.h (USE_BIRTHTIME): Remove.
68439         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
68440         (get_stat_birthtime_ns): Do not try to use "spare" fields.
68441         (get_stat_birthtime_ns): Simplify compile-time tests.
68442         (get_stat_birthtime): Change the API to look like
68443         get_stat_mtime etc., except return a negative tv_nsec on error.
68444         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
68445         Don't check for "spare" fields.
68446         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
68447         or for struct stat.st_birthtime, as these tests aren't used.
68448         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
68449
68450 2007-03-27  Bruno Haible  <bruno@clisp.org>
68451
68452         * lib/stat-time.h: Include <sys/stat.h>.
68453
68454 2007-03-27  James Youngman  <jay@gnu.org>
68455
68456         * lib/stat-time.h (get_stat_birthtime): New function for
68457           retrieving st_birthtime as provided by UFS2 (hence *BSD).
68458         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
68459           and its variants.
68460         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
68461         * modules/stat-time-test: New file.
68462         * tests/test-stat-time.c: New test, devised by Bruno Haible.
68463
68464 2007-03-26  Bruno Haible  <bruno@clisp.org>
68465
68466         Better support of signalling NaNs.
68467         * lib/atanl.c: Include isnanl.h.
68468         (atanl): Perform test for NaN at the beginning of the function and
68469         through a call to isnanl.
68470         * lib/cosl.c: Include isnanl.h.
68471         (cosl): Perform test for NaN at the beginning of the function and
68472         through a call to isnanl.
68473         * lib/ldexpl.c: Include isnanl.h.
68474         (ldexpl): Perform test for NaN through a call to isnanl.
68475         * lib/logl.c: Include isnanl.h.
68476         (logl): Perform test for NaN at the beginning of the function and
68477         through a call to isnanl.
68478         * lib/sinl.c: Include isnanl.h.
68479         (sinl): Perform test for NaN at the beginning of the function and
68480         through a call to isnanl.
68481         * lib/sqrtl.c: Include isnanl.h.
68482         (sqrtl): Perform test for NaN at the beginning of the function and
68483         through a call to isnanl.
68484         * lib/tanl.c: Include isnanl.h.
68485         (tanl): Perform test for NaN at the beginning of the function and
68486         through a call to isnanl.
68487         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
68488         * modules/mathl (Depends-on): Add isnanl.
68489
68490 2007-03-26  Eric Blake  <ebb9@byu.net>
68491
68492         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
68493         regression in logic sense of previous patch.
68494
68495 2007-03-26  Bruno Haible  <bruno@clisp.org>
68496
68497         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
68498         unportable shell command "if ! ...".
68499         Reported by Ralf Wildenhues.
68500
68501 2007-03-25  Bruno Haible  <bruno@clisp.org>
68502
68503         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
68504         <sysexits.h> file, and only add EX_CONFIG.
68505         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
68506         absolute file name and whether it is sufficient. Substitute also
68507         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
68508         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
68509         ABSOLUTE_SYSEXITS_H into sysexits.h.
68510
68511 2007-03-25  Bruno Haible  <bruno@clisp.org>
68512
68513         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
68514         hints is NULL.
68515
68516 2007-03-25  Bruno Haible  <bruno@clisp.org>
68517
68518         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
68519         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
68520
68521 2007-03-25  Bruno Haible  <bruno@clisp.org>
68522
68523         * lib/vasnprintf.c: Include langinfo.h.
68524         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
68525         multithread-safe.
68526         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
68527         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
68528         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68529         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68530         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68531         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68532         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68533         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
68534         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68535         Reported by Simon Josefsson.
68536
68537 2007-03-25  Bruno Haible  <bruno@clisp.org>
68538
68539         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
68540         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
68541         * modules/vasnprintf (Depends-on): Add stdint.
68542
68543 2007-03-25  Bruno Haible  <bruno@clisp.org>
68544
68545         * modules/fpieee: New file.
68546         * m4/fpieee.m4: New file.
68547         * modules/isnan-nolibm (Depends-on): Add fpieee.
68548         * modules/isnanl-nolibm (Depends-on): Add fpieee.
68549         * modules/isnanl (Depends-on): Add fpieee.
68550
68551 2007-03-25  Bruno Haible  <bruno@clisp.org>
68552
68553         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
68554
68555 2007-03-25  Bruno Haible  <bruno@clisp.org>
68556
68557         Avoid test failures on IRIX 6.5.
68558         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
68559         (main): Use it.
68560         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
68561         macros.
68562         (main): Use them.
68563
68564 2007-03-25  Bruno Haible  <bruno@clisp.org>
68565
68566         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
68567         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
68568         exists but doesn't work.
68569         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
68570         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
68571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
68572         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
68573         math.h.
68574
68575 2007-03-25  Bruno Haible  <bruno@clisp.org>
68576
68577         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
68578         returns inf. Needed on IRIX 6.5.
68579
68580 2007-03-25  Bruno Haible  <bruno@clisp.org>
68581
68582         * tests/test-frexpl.c: Include isnanl-nolibm.h.
68583         (main): Use isnanl instead of x != x idiom.
68584         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
68585
68586         * tests/test-frexp.c: Include isnan.h.
68587         (main): Use isnan instead of x != x idiom.
68588         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
68589
68590 2007-03-25  Bruno Haible  <bruno@clisp.org>
68591
68592         * tests/test-frexp.c (NaN): New function/macro.
68593         (main): Use it instead of 0.0 / 0.0.
68594         * tests/test-isnan.c (NaN): New function/macro.
68595         (main): Use it instead of 0.0 / 0.0.
68596         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
68597         (test_function): Use it instead of 0.0 / 0.0.
68598         * tests/test-vasprintf-posix.c (NaN): New function/macro.
68599         (test_function): Use it instead of 0.0 / 0.0.
68600         * tests/test-snprintf-posix.h (NaN): New function/macro.
68601         (test_function): Use it instead of 0.0 / 0.0.
68602         * tests/test-sprintf-posix.h (NaN): New function/macro.
68603         (test_function): Use it instead of 0.0 / 0.0.
68604         * tests/test-fprintf-posix.h (NaN): New function/macro.
68605         (test_function): Use it instead of 0.0 / 0.0.
68606         * tests/test-printf-posix.h (NaN): New function/macro.
68607         (test_function): Use it instead of 0.0 / 0.0.
68608
68609         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
68610
68611 2007-03-25  Bruno Haible  <bruno@clisp.org>
68612
68613         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
68614
68615 2007-03-25  Bruno Haible  <bruno@clisp.org>
68616
68617         * lib/regexec.c (merge_state_with_log): Make static.
68618
68619 2007-03-25  Bruno Haible  <bruno@clisp.org>
68620
68621         * lib/trigl.c (kernel_rem_pio2): Make static.
68622
68623 2007-03-25  Bruno Haible  <bruno@clisp.org>
68624
68625         * lib/sincosl.c (sincosl_table): Make static.
68626
68627 2007-03-25  Bruno Haible  <bruno@clisp.org>
68628
68629         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
68630         if the compiler does not support C99.
68631
68632 2007-03-25  Bruno Haible  <bruno@clisp.org>
68633
68634         * modules/time (Makefile.am): Ensure all rule action lines start with a
68635         tab.
68636
68637 2007-03-24  Bruno Haible  <bruno@clisp.org>
68638
68639         * modules/tsearch-tests: New file.
68640         * tests/test-tsearch.sh: New file.
68641         * tests/test-tsearch.c: New file, mostly copied from glibc.
68642
68643         * modules/search-tests: New file.
68644         * tests/test-search.c: New file.
68645
68646         * modules/search: New file.
68647         * lib/search_.h: New file, incorporating lib/tsearch.h.
68648         * m4/search_h.m4: New file.
68649         * lib/tsearch.h: Remove file.
68650         * lib/tsearch.c: Include search.h instead of tsearch.h.
68651         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
68652         HAVE_TSEARCH.
68653         * modules/tsearch (Files): Remove lib/tsearch.h.
68654         (Depends-on): Add search.
68655         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
68656         (Include): Change tsearch.h into search.h.
68657
68658 2007-03-24  Bruno Haible  <bruno@clisp.org>
68659
68660         * modules/fpucw: New file.
68661         * lib/fpucw.h: New file.
68662         * lib/frexp.c: Include fpucw.h.
68663         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68664         (FUNC): Use them.
68665         * lib/printf-frexp.c: Include fpucw.h.
68666         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
68667         (FUNC): Use them.
68668         * lib/vasnprintf.c: Include fpucw.h.
68669         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
68670         'long double' calculations.
68671         * tests/test-frexpl.c: Include fpucw.h.
68672         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68673         * tests/test-printf-frexpl.c: Include fpucw.h.
68674         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
68675         * modules/frexpl (Depends-on): Add fpucw.
68676         * modules/printf-frexpl (Depends-on): Likewise.
68677         * modules/fprintf-posix (Depends-on): Likewise.
68678         * modules/snprintf-posix (Depends-on): Likewise.
68679         * modules/sprintf-posix (Depends-on): Likewise.
68680         * modules/vasnprintf-posix (Depends-on): Likewise.
68681         * modules/vasprintf-posix (Depends-on): Likewise.
68682         * modules/vfprintf-posix (Depends-on): Likewise.
68683         * modules/vsnprintf-posix (Depends-on): Likewise.
68684         * modules/vsprintf-posix (Depends-on): Likewise.
68685         * modules/frexpl-tests (Depends-on): Likewise.
68686         * modules/printf-frexpl-tests (Depends-on): Likewise.
68687
68688 2007-03-24  Bruno Haible  <bruno@clisp.org>
68689
68690         * lib/float+.h: New file.
68691         * lib/isnan.c: Include float+.h.
68692         (SIZE): New macro.
68693         (FUNC): Compare only SIZE bytes of the value.
68694         * lib/vasnprintf.c: Include float+.h.
68695         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
68696         SIZEOF_LDBL or SIZEOF_DBL bytes.
68697         * modules/isnan-nolibm (Files): Add lib/float+.h.
68698         * modules/isnanl-nolibm (Files): Add lib/float+.h.
68699         * modules/isnanl (Files): Add lib/float+.h.
68700         * modules/vasnprintf (Files): Add lib/float+.h.
68701
68702 2007-03-24  Bruno Haible  <bruno@clisp.org>
68703
68704         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
68705         include isnanl-nolibm.h.
68706
68707 2007-03-24  Bruno Haible  <bruno@clisp.org>
68708
68709         * tests/test-read-file.c (main): Don't produce spurious output for
68710         expected situations. Make the test fail if it encountered unexpected
68711         results.
68712
68713 2007-03-24  Bruno Haible  <bruno@clisp.org>
68714
68715         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
68716         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
68717
68718 2007-03-24  Bruno Haible  <bruno@clisp.org>
68719
68720         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
68721
68722 2007-03-24  Bruno Haible  <bruno@clisp.org>
68723
68724         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
68725         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
68726
68727         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
68728         * modules/utf8-ucs4: Turn into a symbolic link to module
68729         unistr/u8-mbtouc.
68730
68731         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
68732         utf8-ucs4-unsafe.
68733         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
68734         unistr/u8-mbtouc-unsafe.
68735
68736         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
68737         * modules/utf16-ucs4: Turn into a symbolic link to module
68738         unistr/u16-mbtouc.
68739
68740         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
68741         utf16-ucs4-unsafe.
68742         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
68743         unistr/u16-mbtouc-unsafe.
68744
68745         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
68746         * modules/ucs4-utf8: Turn into a symbolic link to module
68747         unistr/u8-ubtomb.
68748
68749         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
68750         * modules/ucs4-utf16: Turn into a symbolic link to module
68751         unistr/u16-ubtomb.
68752
68753 2007-03-24  Bruno Haible  <bruno@clisp.org>
68754
68755         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
68756         Enable the function only if HAVE_INLINE.
68757         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
68758         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68759         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
68760         Enable the function only if HAVE_INLINE.
68761         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
68762         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
68763         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
68764         Enable the function only if HAVE_INLINE.
68765         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
68766         Enable the function only if HAVE_INLINE.
68767         * modules/utf8-ucs4: Update.
68768         * modules/utf8-ucs4-unsafe: Update.
68769         * modules/utf16-ucs4: Update.
68770         * modules/utf16-ucs4-unsafe: Update.
68771         * modules/ucs4-utf8: Update.
68772         * modules/ucs4-utf16: Update.
68773
68774 2007-03-24  Bruno Haible  <bruno@clisp.org>
68775
68776         * lib/utf8-ucs4.h: Remove file.
68777         * lib/utf8-ucs4-unsafe.h: Remove file.
68778         * lib/utf16-ucs4.h: Remove file.
68779         * lib/utf16-ucs4-unsafe.h: Remove file.
68780         * lib/ucs4-utf8.h: Remove file.
68781         * lib/ucs4-utf16.h: Remove file.
68782         * lib/unistr.h: Include their previous contents.
68783         * m4/utf-ucs4.m4: Remove file.
68784         * m4/ucs4-utf.m4: Remove file.
68785         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
68786         (Depends-on): Add unistr/base.
68787         (configure.ac): Remove gl_UTF_UCS4.
68788         (Makefile.am): Update.
68789         (Include): Change to unistr.h.
68790         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
68791         (Depends-on): Add unistr/base.
68792         (configure.ac): Remove gl_UTF_UCS4.
68793         (Makefile.am): Update.
68794         (Include): Change to unistr.h.
68795         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
68796         (Depends-on): Add unistr/base.
68797         (configure.ac): Remove gl_UTF_UCS4.
68798         (Makefile.am): Update.
68799         (Include): Change to unistr.h.
68800         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
68801         (Depends-on): Add unistr/base.
68802         (configure.ac): Remove gl_UTF_UCS4.
68803         (Makefile.am): Update.
68804         (Include): Change to unistr.h.
68805         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
68806         (Depends-on): Add unistr/base.
68807         (configure.ac): Remove gl_UCS4_UTF.
68808         (Makefile.am): Update.
68809         (Include): Change to unistr.h.
68810         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
68811         (Depends-on): Add unistr/base.
68812         (configure.ac): Remove gl_UCS4_UTF.
68813         (Makefile.am): Update.
68814         (Include): Change to unistr.h.
68815         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
68816         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
68817         utf8-ucs4-unsafe.h.
68818         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
68819         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
68820         utf16-ucs4-unsafe.h.
68821         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
68822         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
68823         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
68824         * lib/unistr/u8-strchr.c: Likewise.
68825         * lib/unistr/u8-strrchr.c: Likewise.
68826         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
68827         * lib/unistr/u16-strchr.c: Likewise.
68828         * lib/unistr/u16-strrchr.c: Likewise.
68829         * lib/striconveh.c: Update.
68830         * lib/linebreak.c: Update.
68831
68832 2007-03-24  Bruno Haible  <bruno@clisp.org>
68833
68834         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
68835         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
68836
68837 2007-03-22  Bruno Haible  <bruno@clisp.org>
68838
68839         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
68840
68841 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
68842
68843         * MODULES.html.sh (File system functions): New module write-any-file.
68844         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
68845         * m4/write-any-file.m4: New files.
68846
68847 2007-03-23  Eric Blake  <ebb9@byu.net>
68848
68849         * gnulib-tool: Rearrange space-tab sequences, since some editors
68850         like to eat them.
68851
68852 2007-03-23  Eric Blake  <ebb9@byu.net>
68853
68854         * lib/version-etc.c (version_etc_va): Update license wording to
68855         be more concise.  Recommended by Richard Stallman.
68856
68857 2007-03-22  Bruno Haible  <bruno@clisp.org>
68858
68859         * lib/poll.c (MSG_PEEK): New fallback definition.
68860
68861 2007-03-22  Bruno Haible  <bruno@clisp.org>
68862
68863         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
68864         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
68865         (main): Update.
68866         Fixes a compilation error on BeOS.
68867
68868 2007-03-22  Bruno Haible  <bruno@clisp.org>
68869
68870         * modules/frexpl-tests: New file.
68871         * tests/test-frexpl.c: New file.
68872
68873         * modules/frexpl: New file.
68874         * m4/frexpl.m4: New file.
68875         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
68876         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
68877         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
68878         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
68879         (Depends-on): Add frexpl. Remove isnanl-nolibm.
68880         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
68881
68882 2007-03-22  Bruno Haible  <bruno@clisp.org>
68883
68884         * lib/frexpl.c: Share code with lib/frexp.c.
68885         * modules/mathl (Files): Add lib/frexp.c.
68886         (Depends-on): Add isnanl-nolibm.
68887
68888 2007-03-22  Bruno Haible  <bruno@clisp.org>
68889
68890         * modules/printf-frexp (Files): Add m4/frexp.m4.
68891         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
68892         only if the found frexp function actually works.
68893
68894 2007-03-22  Bruno Haible  <bruno@clisp.org>
68895
68896         * lib/frexp.c: Remove older implementation that uses divisions.
68897
68898 2007-03-21  Bruno Haible  <bruno@clisp.org>
68899
68900         * modules/frexp-tests: New file.
68901         * tests/test-frexp.c: New file.
68902
68903         * modules/frexp: New file.
68904         * lib/frexp.c: New file.
68905         * m4/frexp.m4: New file.
68906         * lib/math_.h (frexp): New declaration.
68907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
68908         REPLACE_FREXP.
68909         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
68910
68911 2007-03-21  Bruno Haible  <bruno@clisp.org>
68912
68913         * modules/isnanl-tests: New file.
68914         * tests/test-isnanl.c: New file.
68915
68916         * modules/isnanl: New file.
68917         * lib/isnanl.h: New file.
68918         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
68919         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
68920         gl_FUNC_ISNANL_WORKS.
68921         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
68922         New macros.
68923
68924 2007-03-21  Bruno Haible  <bruno@clisp.org>
68925
68926         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
68927         lib/isnanl.h.
68928         (Include): Update.
68929         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
68930         * lib/vasnprintf.c: Update.
68931         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
68932         tests/test-isnanl.h, remove tests/test-isnanl.c.
68933         (Makefile.am): Update.
68934         * tests/test-isnanl-nolibm.c: New file.
68935         * tests/test-isnanl.h: New file.
68936         * tests/test-isnanl.c: Remove file.
68937
68938 2007-03-21  Jim Meyering  <jim@meyering.net>
68939
68940         When trying to open ".", treat ESTALE like EACCES.
68941         * lib/savewd.c (savewd_save): Resort to forking not just upon
68942         failure with EACCES, but also when errno is ESTALE.
68943
68944 2007-03-20  Bruno Haible  <bruno@clisp.org>
68945
68946         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
68947         Needed on AIX 5.1. Reported by Matthew Woehlke.
68948
68949 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68950
68951         Suggestions by Bruno Haible:
68952         * lib/acl-internal.h: Include "gettext.h" rather than rolling
68953         our own.
68954         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
68955         * modules/acl (Depends-on): Add gettext.
68956
68957 2007-03-19  Bruno Haible  <bruno@clisp.org>
68958
68959         * modules/iconvme: Remove file.
68960         * lib/iconvme.h: Remove file.
68961         * lib/iconvme.c: Remove file.
68962         * m4/iconvme.m4: Remove file.
68963
68964 2007-03-19  Bruno Haible  <bruno@clisp.org>
68965
68966         * doc/relocatable-maint.texi: Break long shell script line.
68967         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68968
68969 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68970
68971         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
68972         handle file_has_acl.
68973         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
68974         * lib/acl.c: Move header inclusions and related macro defns into
68975         lib/acl-internal.h.
68976         (S_ISLNK): Remove defn, since that's now done for us.
68977         (file_has_acl): Move to lib/file-has-acl.c.
68978         Call acl_trivial if available.  This is the crucial part of the fix.
68979         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
68980         shared within the library.  Rewrite a bit, partly to make it compatible
68981         with the GNU coding style.
68982         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
68983         Remove unnecessary double-quotes.
68984         Don't test for acl_to_text; the build will catch that.
68985         Replace acl_entries if it doesn't exist and it is needed.
68986         Check for -lsec and acl_trivial (as used on Solaris 10).
68987         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
68988         lib/file-has-acl.c.
68989         (Depends-on): Add sys_stat, for S_ISLNK.
68990
68991 2007-03-19  Ben Pfaff  <blp@gnu.org>
68992
68993         * doc/gnulib.texi: Fix typos.
68994         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
68995
68996 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
68997
68998         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
68999         If size is zero here, buf must be zero.
69000
69001 2007-03-19  Simon Josefsson  <simon@josefsson.org>
69002
69003         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
69004         <bruno@clisp.org>.
69005
69006 2007-03-18  Bruno Haible  <bruno@clisp.org>
69007
69008         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
69009         Suggested by Eric Blake.
69010
69011 2007-03-18  Ben Pfaff  <blp@gnu.org>
69012
69013         * doc/relocatable.texi: Recommend using as prefix a directory
69014         that does not exist and will never be created.  Based on
69015         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
69016         and others.
69017
69018 2007-03-17  Bruno Haible  <bruno@clisp.org>
69019
69020         * lib/fchownat.c: Include lchown.h.
69021
69022 2007-03-17  Bruno Haible  <bruno@clisp.org>
69023
69024         Fix endless loop when the given allocated size was > INT_MAX.
69025         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
69026         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
69027         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
69028         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
69029         * lib/sprintf.c (sprintf): Likewise.
69030
69031 2007-03-17  Bruno Haible  <bruno@clisp.org>
69032
69033         * tests/test-argp-2.sh (func_compare): Output a context diff.
69034
69035 2007-03-17  Bruno Haible  <bruno@clisp.org>
69036
69037         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
69038         locale's decimal-point character.
69039
69040 2007-03-17  Bruno Haible  <bruno@clisp.org>
69041
69042         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
69043         before comparing it. Needed because on some platforms (e.g. x86) a
69044         'long double' occupies less bytes than sizeof (long double).
69045
69046 2007-03-17  Bruno Haible  <bruno@clisp.org>
69047
69048         * tests/test-crc.c (main): Make printf statements 64-bit clean.
69049         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
69050         * tests/test-getaddrinfo.c (simple): Likewise.
69051         * tests/test-read-file.c (main): Likewise.
69052
69053 2007-03-17  Bruno Haible  <bruno@clisp.org>
69054
69055         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
69056
69057 2007-03-17  Bruno Haible  <bruno@clisp.org>
69058
69059         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
69060         unused variable.
69061
69062 2007-03-17  Bruno Haible  <bruno@clisp.org>
69063
69064         * tests/test-c-strcasecmp.c: Include c-strcase.h.
69065         * tests/test-c-strncasecmp.c: Likewise.
69066
69067 2007-03-17  Bruno Haible  <bruno@clisp.org>
69068
69069         * modules/stdlib (Depends-on): Add unistd.
69070         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
69071         Needed for MacOS X 10.3.
69072
69073 2007-03-17  Bruno Haible  <bruno@clisp.org>
69074
69075         * lib/unistr/u-strdup.h: Include <stdlib.h>.
69076
69077 2007-03-17  Bruno Haible  <bruno@clisp.org>
69078
69079         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
69080
69081 2007-03-17  Bruno Haible  <bruno@clisp.org>
69082
69083         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
69084         to reflect files copied from gnulib (with or without modifications).
69085         Suggested by Jim Meyering.
69086
69087 2007-03-17  Eric Blake  <ebb9@byu.net>
69088
69089         * NEWS: Document stdlib change from 2007-02-18.
69090
69091 2007-03-17  Jim Meyering  <jim@meyering.net>
69092
69093         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
69094         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
69095         someone uses a name containing shell meta-characters.
69096         Reported by Alfred M. Szmidt.
69097
69098         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
69099
69100 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69101
69102         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
69103         and copy gettext configuration files only if configure.ac contains
69104         a use of AM_GNU_GETTEXT_VERSION.
69105
69106 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
69107
69108         * build-aux/bootstrap (gnulib_name): New variable.
69109         (gnulib_tool_options): Use it.
69110
69111 2007-03-13  Simon Josefsson  <simon@josefsson.org>
69112
69113         * tests/test-des.c: Use new namespace.
69114
69115 2007-03-15  Bruno Haible  <bruno@clisp.org>
69116
69117         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
69118         Reported by James Youngman <jay@gnu.org>.
69119
69120 2007-03-15  Bruno Haible  <bruno@clisp.org>
69121
69122         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
69123         declared prototype. Needed with cc on OSF/1 5.1.
69124
69125 2007-03-15  Bruno Haible  <bruno@clisp.org>
69126
69127         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
69128         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
69129         (struct gl_list_implementation): Add dispose_fn argument to the
69130         'create_empty', 'create' methods.
69131         (struct gl_list_impl_base): Add field 'dispose_fn'.
69132         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
69133         argument.
69134         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
69135         dispose_fn argument.
69136         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
69137         dispose_fn on the dropped values.
69138         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
69139         dispose_fn argument.
69140         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
69141         dropped values.
69142         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
69143         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69144         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
69145         (gl_tree_remove_node): Call dispose_fn on the dropped value.
69146         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
69147         argument.
69148         (gl_tree_list_free): Call dispose_fn on the dropped values.
69149         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
69150         the dropped values.
69151         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
69152         Add dispose_fn argument.
69153         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
69154         Call dispose_fn on the dropped values.
69155         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
69156         Add dispose_fn argument.
69157         (gl_sublist_create): Initialize the 'dispose_fn' field.
69158         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
69159         * tests/test-array_list.c (main): Update.
69160         * tests/test-carray_list.c (main): Update.
69161         * tests/test-avltree_list.c (main): Update.
69162         * tests/test-rbtree_list.c (main): Update.
69163         * tests/test-avltreehash_list.c (main): Update.
69164         * tests/test-rbtreehash_list.c (main): Update.
69165         * tests/test-linked_list.c (main): Update.
69166         * tests/test-linkedhash_list.c (main): Update.
69167         * tests/test-array_oset.c (main): Update.
69168
69169 2007-03-15  Bruno Haible  <bruno@clisp.org>
69170
69171         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
69172         (gl_oset_create_empty): Add dispose_fn argument.
69173         (struct gl_oset_implementation): Add dispose_fn argument to
69174         'create_empty' method.
69175         (struct gl_oset_impl_base): Add dispose_fn field.
69176         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
69177         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
69178         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
69179         values.
69180         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
69181         (gl_tree_oset_free): Call dispose_fn on the dropped values.
69182         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69183         dropped value.
69184         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
69185         dropped value.
69186         * tests/test-array_oset.c (main): Update.
69187         * tests/test-avltree_oset.c (main): Update.
69188         * tests/test-rbtree_oset.c (main): Update.
69189         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
69190
69191 2007-03-13  Bruno Haible  <bruno@clisp.org>
69192
69193         * tests/test-stdbool.c (i): Update after last patch.
69194
69195 2007-03-12  Bruno Haible  <bruno@clisp.org>
69196
69197         * lib/quotearg.c: Include <wctype.h> early, before the definition of
69198         the iswprint macro. Needed on Solaris 2.5.1.
69199
69200 2007-03-12  Bruno Haible  <bruno@clisp.org>
69201
69202         * tests/test-printf-frexp.c (main): Declare x as volatile.
69203
69204 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69205
69206         * doc/gnulib.texi (Build robot for gnulib): New section.
69207
69208 2007-03-12  Jim Meyering  <jim@meyering.net>
69209
69210         * build-aux/bootstrap: New file.
69211         * build-aux/bootstrap.conf: New file, from coreutils.
69212
69213 2007-03-11  Bruno Haible  <bruno@clisp.org>
69214
69215         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
69216
69217 2007-03-12  Simon Josefsson  <simon@josefsson.org>
69218
69219         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
69220         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
69221         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
69222
69223 2007-03-11  Bruno Haible  <bruno@clisp.org>
69224
69225         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
69226         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
69227
69228 2007-03-11  Bruno Haible  <bruno@clisp.org>
69229
69230         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
69231         formula. Needed for SunPRO C 5.0.
69232
69233 2007-03-11  Bruno Haible  <bruno@clisp.org>
69234
69235         * modules/long-options (Depends-on): Add getopt.
69236
69237 2007-03-11  Bruno Haible  <bruno@clisp.org>
69238
69239         * modules/modechange (Depends-on): Add stdbool.
69240
69241 2007-03-11  Bruno Haible  <bruno@clisp.org>
69242
69243         * modules/i-ring (Depends-on): Add stdbool.
69244
69245 2007-03-11  Bruno Haible  <bruno@clisp.org>
69246
69247         * modules/gc-des (Depends-on): Add stdbool.
69248
69249 2007-03-11  Bruno Haible  <bruno@clisp.org>
69250
69251         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
69252
69253 2007-03-11  Bruno Haible  <bruno@clisp.org>
69254
69255         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
69256
69257 2007-03-11  Bruno Haible  <bruno@clisp.org>
69258
69259         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
69260
69261 2007-03-11  Bruno Haible  <bruno@clisp.org>
69262
69263         * lib/vasnprintf.c (sprintf): Undefine.
69264
69265 2007-03-11  Bruno Haible  <bruno@clisp.org>
69266
69267         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
69268         initializers in SunPRO C and Compaq C compilers.
69269
69270 2007-03-11  Bruno Haible  <bruno@clisp.org>
69271
69272         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
69273         decrementing code ANSI C compliant.
69274
69275 2007-03-11  Bruno Haible  <bruno@clisp.org>
69276
69277         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
69278         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
69279
69280 2007-03-11  Bruno Haible  <bruno@clisp.org>
69281
69282         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
69283         <stdbool.h> substitute doesn't pass.
69284
69285 2007-03-11  Bruno Haible  <bruno@clisp.org>
69286
69287         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
69288
69289 2007-03-11  Bruno Haible  <bruno@clisp.org>
69290
69291         * gnulib-tool (func_create_megatestdir): Create also an autobuild
69292         script, for submission to autobuild.josefsson.org.
69293
69294 2007-03-10  Bruno Haible  <bruno@clisp.org>
69295
69296         * modules/canonicalize-lgpl-tests: New file.
69297         * tests/test-canonicalize-lgpl.sh: New file.
69298         * tests/test-canonicalize-lgpl.c: New file.
69299
69300         * modules/c-strcase-tests: New file.
69301         * tests/test-c-strcase.sh: New file.
69302         * tests/test-c-strcasecmp.c: New file.
69303         * tests/test-c-strncasecmp.c: New file.
69304
69305         * modules/atexit-tests: New file.
69306         * tests/test-atexit.sh: New file.
69307         * tests/test-atexit.c: New file.
69308
69309 2007-03-10  Bruno Haible  <bruno@clisp.org>
69310
69311         * tests/test-binary-io.sh: Use temporary filenames that are not so
69312         likely to clash with those of other tests (in a parallel make).
69313         * tests/test-binary-io.c: Likewise.
69314
69315 2007-03-10  Bruno Haible  <bruno@clisp.org>
69316
69317         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
69318         fallback; use #error instead.
69319         Suggested by Simon Josefsson.
69320
69321 2007-03-10  Bruno Haible  <bruno@clisp.org>
69322
69323         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
69324         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
69325         first and the last.
69326
69327 2007-03-10  Bruno Haible  <bruno@clisp.org>
69328
69329         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
69330
69331 2007-03-10  Bruno Haible  <bruno@clisp.org>
69332
69333         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
69334         "make distcheck".
69335         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
69336         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
69337         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
69338
69339 2007-03-10  Bruno Haible  <bruno@clisp.org>
69340
69341         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
69342         variable.
69343         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
69344         variable.
69345
69346 2007-03-09  Eric Blake  <ebb9@byu.net>
69347         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
69348
69349         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
69350         types are not being provided by gnulib.
69351         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
69352         types are supported.
69353
69354 2007-03-10  Bruno Haible  <bruno@clisp.org>
69355
69356         * lib/stdio_.h (__attribute__): New macro.
69357         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
69358         vsprintf): Specify __attribute__ __format__ for GCC.
69359         Suggested by Eric Blake.
69360
69361 2007-03-09  Bruno Haible  <bruno@clisp.org>
69362
69363         * modules/printf-posix-tests: New file.
69364         * tests/test-printf-posix.sh: New file.
69365         * tests/test-printf-posix.c: New file.
69366
69367         * modules/printf-posix: New file.
69368         * lib/printf.c: New file.
69369         * m4/printf-posix-rpl.m4: New file.
69370         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
69371         REPLACE_PRINTF.
69372         * lib/stdio_.h (printf): New declaration.
69373         (format, __format__, ____printf____, ____scanf____, ____strftime____,
69374         ____strfmon____): New macros.
69375         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
69376         REPLACE_PRINTF.
69377
69378 2007-03-09  Bruno Haible  <bruno@clisp.org>
69379
69380         * tests/test-vasnprintf-posix2.sh: New file.
69381         * tests/test-vasnprintf-posix2.c: New file.
69382         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
69383         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
69384         (Makefile.am): Activate test-vasnprintf-posix2.sh.
69385
69386         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
69387         a locale dependent decimal point, rather than always '.'.
69388
69389 2007-03-09  Eric Blake  <ebb9@byu.net>
69390
69391         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
69392         spite of platforms like Tandem/NSK that define it to -1.
69393
69394 2007-03-08  Bruno Haible  <bruno@clisp.org>
69395
69396         * modules/vprintf-posix-tests: New file.
69397         * tests/test-vprintf-posix.sh: New file.
69398         * tests/test-vprintf-posix.c: New file.
69399         * tests/test-printf-posix.h: New file.
69400
69401         * modules/vprintf-posix: New file.
69402         * lib/vprintf.c: New file.
69403         * m4/vprintf-posix.m4: New file.
69404         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
69405         REPLACE_VPRINTF.
69406         * lib/stdio_.h (vprintf): New declaration.
69407         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
69408         REPLACE_VPRINTF.
69409
69410 2007-03-08  Bruno Haible  <bruno@clisp.org>
69411
69412         * modules/fprintf-posix-tests: New file.
69413         * tests/test-fprintf-posix.sh: New file.
69414         * tests/test-fprintf-posix.c: New file.
69415
69416         * modules/fprintf-posix: New file.
69417         * lib/fprintf.c: New file.
69418         * m4/fprintf-posix.m4: New file.
69419         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
69420         REPLACE_FPRINTF.
69421         * lib/stdio_.h (fprintf): New declaration.
69422         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
69423         REPLACE_FPRINTF.
69424
69425 2007-03-08  Bruno Haible  <bruno@clisp.org>
69426
69427         * modules/vfprintf-posix-tests: New file.
69428         * tests/test-vfprintf-posix.sh: New file.
69429         * tests/test-vfprintf-posix.c: New file.
69430         * tests/test-fprintf-posix.h: New file.
69431         * tests/test-fprintf-posix.out: New file.
69432
69433         * modules/vfprintf-posix: New file.
69434         * lib/vfprintf.c: New file.
69435         * m4/vfprintf-posix.m4: New file.
69436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
69437         REPLACE_VFPRINTF.
69438         * lib/stdio_.h (vfprintf): New declaration.
69439         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
69440         REPLACE_VFPRINTF.
69441
69442 2007-03-08  Bruno Haible  <bruno@clisp.org>
69443
69444         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
69445
69446 2007-03-08  Bruno Haible  <bruno@clisp.org>
69447
69448         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
69449         instead of 'expr' invocations.
69450         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69451         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69452         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69453         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69454         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69455         Suggested by Paul Eggert.
69456
69457 2007-03-08  Bruno Haible  <bruno@clisp.org>
69458
69459         * modules/fseterr-tests: New file.
69460         * tests/test-fseterr.c: New file.
69461
69462         * modules/fseterr: New file.
69463         * lib/fseterr.h: New file.
69464         * lib/fseterr.c: New file.
69465
69466 2007-03-08  Bruno Haible  <bruno@clisp.org>
69467
69468         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
69469         * lib/getopt_.h: Likewise.
69470         * lib/mbswidth.h: Likewise.
69471         * lib/setenv.h: Likewise.
69472         * lib/vasnprintf.h: Likewise.
69473         * lib/vasprintf.h: Likewise.
69474         * lib/verror.h: Likewise.
69475         * lib/xsetenv.h: Likewise.
69476         * lib/xvasprintf.h: Likewise.
69477
69478 2007-03-08  Jim Meyering  <jim@meyering.net>
69479
69480         * users.txt: Add parted.
69481
69482         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
69483
69484 2007-03-07  Bruno Haible  <bruno@clisp.org>
69485
69486         * m4/printf.m4: Make the shell script snippets copy&pastable.
69487
69488 2007-03-02  Bruno Haible  <bruno@clisp.org>
69489
69490         * lib/netinet_in_.h: New file.
69491         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
69492         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
69493         * modules/netinet_in (Files): Add lib/netinet_in_.h.
69494         (Depends-on): Add absolute-header.
69495         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
69496         into netinet/in.h.
69497
69498 2007-03-03  Bruno Haible  <bruno@clisp.org>
69499
69500         * lib/sys_select_.h: New file.
69501         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
69502         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
69503         * modules/sys_select (Files): Add lib/sys_select_.h.
69504         (Depends-on): Add absolute-header.
69505         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
69506         into sys/select.h.
69507
69508 2007-03-02  Bruno Haible  <bruno@clisp.org>
69509
69510         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
69511         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
69512         values.
69513         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
69514         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
69515         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
69516         * modules/sys_socket (Depends-on): Add absolute-header.
69517         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
69518         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
69519         (Include): Remove requirement of inclusion of <sys/types.h>.
69520
69521 2007-03-02  Bruno Haible  <bruno@clisp.org>
69522
69523         * lib/byteswap_.h (bswap_32): Fix formula.
69524
69525 2007-03-06  Bruno Haible  <bruno@clisp.org>
69526
69527         * modules/sprintf-posix-tests: New file.
69528         * tests/test-sprintf-posix.c: New file.
69529
69530         * modules/sprintf-posix: New file.
69531         * lib/sprintf.c: New file.
69532         * m4/sprintf-posix.m4: New file.
69533         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
69534         REPLACE_SPRINTF.
69535         * lib/stdio_.h (sprintf): New declaration.
69536         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
69537         REPLACE_SPRINTF.
69538
69539 2007-03-06  Bruno Haible  <bruno@clisp.org>
69540
69541         * modules/vsprintf-posix-tests: New file.
69542         * tests/test-vsprintf-posix.c: New file.
69543         * tests/test-sprintf-posix.h: New file.
69544
69545         * modules/vsprintf-posix: New file.
69546         * lib/vsprintf.c: New file.
69547         * m4/vsprintf-posix.m4: New file.
69548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
69549         REPLACE_VSPRINTF.
69550         * lib/stdio_.h (vsprintf): New declaration.
69551         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
69552         REPLACE_VSPRINTF.
69553
69554 2007-03-06  Bruno Haible  <bruno@clisp.org>
69555
69556         * modules/vsnprintf (Depend-on): Remove minmax.
69557
69558 2007-03-06  Bruno Haible  <bruno@clisp.org>
69559
69560         * modules/snprintf-posix-tests: New file.
69561         * tests/test-snprintf-posix.c: New file.
69562
69563         * modules/snprintf-posix: New file.
69564         * m4/snprintf-posix.m4: New file.
69565         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
69566         gl_FUNC_SNPRINTF.
69567         (gl_FUNC_SNPRINTF): Invoke it.
69568         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
69569         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
69570         is set.
69571         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
69572
69573 2007-03-06  Bruno Haible  <bruno@clisp.org>
69574
69575         * modules/vsnprintf-posix-tests: New file.
69576         * tests/test-vsnprintf-posix.c: New file.
69577         * tests/test-snprintf-posix.h: New file.
69578
69579         * modules/vsnprintf-posix: New file.
69580         * m4/vsnprintf-posix.m4: New file.
69581         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
69582         gl_FUNC_VSNPRINTF.
69583         (gl_FUNC_VSNPRINTF): Invoke it.
69584         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
69585         * lib/stdio_.h (vsnprintf): Define as a replacement if
69586         REPLACE_VSNPRINTF is set.
69587         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
69588
69589 2007-03-06  Bruno Haible  <bruno@clisp.org>
69590
69591         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
69592         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
69593
69594 2007-03-06  Bruno Haible  <bruno@clisp.org>
69595
69596         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
69597         (asinl): Declare also if HAVE_DECL_ASINL is set.
69598         (atanl): Declare also if HAVE_DECL_ATANL is set.
69599         (ceill): Declare also if HAVE_DECL_CEILL is set.
69600         (cosl): Declare also if HAVE_DECL_COSL is set.
69601         (expl): Declare also if HAVE_DECL_EXPL is set.
69602         (floorl): Declare also if HAVE_DECL_FLOORL is set.
69603         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
69604         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
69605         (logl): Declare also if HAVE_DECL_LOGL is set.
69606         (sinl): Declare also if HAVE_DECL_SINL is set.
69607         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
69608         (tanl): Declare also if HAVE_DECL_TANL is set.
69609         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
69610         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
69611         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
69612         declaration of frexpl, ldexpl.
69613         * modules/printf-frexpl (Depends-on): Add math.
69614         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
69615
69616 2007-03-05  Bruno Haible  <bruno@clisp.org>
69617
69618         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
69619         frexpl and ldexpl are declared.
69620         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
69621
69622 2007-03-05  Bruno Haible  <bruno@clisp.org>
69623
69624         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
69625         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
69626
69627 2007-03-05  Bruno Haible  <bruno@clisp.org>
69628
69629         * lib/stdio_.h: Include <stddef.h>.
69630
69631 2007-03-05  Bruno Haible  <bruno@clisp.org>
69632
69633         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
69634
69635 2007-03-05  Bruno Haible  <bruno@clisp.org>
69636
69637         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
69638         NetBSD 4, from Ralf Wildenhues.
69639
69640 2007-03-04  Bruno Haible  <bruno@clisp.org>
69641
69642         * lib/vasprintf.h: Update #if logic for the case when the functions
69643         exist but are overridden.
69644
69645 2007-03-04  Bruno Haible  <bruno@clisp.org>
69646
69647         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
69648         implementations: glibc-2.4 and MacOS X 10.3.
69649         * tests/test-vasnprintf-posix.c (test_function): Test also the case
69650         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
69651         * tests/test-vasprintf-posix.c (test_function): Likewise.
69652
69653 2007-03-04  Bruno Haible  <bruno@clisp.org>
69654
69655         * modules/vasprintf-posix-tests: New file.
69656         * tests/test-vasprintf-posix.c: New file.
69657
69658         * modules/vasprintf-posix: New file.
69659         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
69660         defined.
69661         * m4/vasprintf-posix.m4: New file.
69662         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
69663         gl_FUNC_VASPRINTF.
69664         (gl_FUNC_VASPRINTF): Invoke it.
69665         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
69666         here.
69667         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
69668
69669 2007-03-04  Bruno Haible  <bruno@clisp.org>
69670
69671         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
69672         REPLACE_GETTIMEOFDAY.
69673         * modules/sys_time (Makefile.am): Likewise.
69674         * m4/sys_time_h.m4: Likewise.
69675         * m4/gettimeofday.m4: Likewise.
69676
69677 2007-03-04  Bruno Haible  <bruno@clisp.org>
69678
69679         * modules/vasnprintf-posix-tests: New file.
69680         * tests/test-vasnprintf-posix.c: New file.
69681
69682         * modules/vasnprintf-posix: New file.
69683         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
69684         printf-frexpl.h.
69685         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
69686         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
69687         REPLACE_VASNPRINTF is defined.
69688         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
69689         gl_FUNC_VASNPRINTF.
69690         (gl_FUNC_VASNPRINTF): Invoke it.
69691         * m4/vasnprintf-posix.m4: New file.
69692         * m4/printf.m4: New file.
69693
69694 2007-03-04  Bruno Haible  <bruno@clisp.org>
69695
69696         Compile progreloc.c only if --enable-relocatable is specified.
69697         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
69698         if --enable-relocatable was specified.
69699         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
69700         lib_SOURCES.
69701
69702 2007-03-04  Jim Meyering  <jim@meyering.net>
69703
69704         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
69705         Use it consistently, rather than enumerating errno constants.
69706
69707 2007-03-04  Bruno Haible  <bruno@clisp.org>
69708
69709         * modules/xvasprintf-tests: New file.
69710         * tests/test-xvasprintf.c: New file.
69711
69712         * modules/vasprintf-tests: New file.
69713         * tests/test-vasprintf.c: New file.
69714
69715         * modules/vasnprintf-tests: New file.
69716         * tests/test-vasnprintf.c: New file.
69717
69718         * modules/vsnprintf-tests: New file.
69719         * tests/test-vsnprintf.c: New file.
69720
69721         * modules/snprintf-tests: New file.
69722         * tests/test-snprintf.c: New file.
69723
69724 2007-03-04  Bruno Haible  <bruno@clisp.org>
69725
69726         Compile relocatable.c only if --enable-relocatable is specified.
69727         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
69728         gl_RELOCATABLE_LIBRARY.
69729         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
69730         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
69731         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
69732         gl_RELOCATABLE_LIBRARY.
69733         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
69734         (Makefile.am): Remove lib_SOURCES.
69735         * modules/relocatable-lib-lgpl (configure.ac): Invoke
69736         gl_RELOCATABLE_LIBRARY.
69737         (Makefile.am): Remove lib_SOURCES.
69738         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
69739         always.
69740         * modules/relocatable-prog-wrapper (configure.ac): Invoke
69741         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
69742
69743 2007-03-04  Bruno Haible  <bruno@clisp.org>
69744
69745         * modules/argmatch-tests: New file.
69746         * tests/test-argmatch.c: New file.
69747
69748         * tests/test-allocsa.c (main): Halve the number of loop runs.
69749
69750         * modules/alloca-opt-tests: New file.
69751         * tests/test-alloca-opt.c: New file.
69752
69753 2007-03-04  Jim Meyering  <jim@meyering.net>
69754
69755         Work around difference between Linux ACLs and Solaris 10 ZFS.
69756         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
69757         for EINVAL.
69758
69759 2007-03-03  Bruno Haible  <bruno@clisp.org>
69760
69761         * modules/relocatable-prog (Depends-on): Add back progreloc's
69762         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
69763
69764 2007-03-03  Bruno Haible  <bruno@clisp.org>
69765
69766         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
69767         * modules/relocatable-lib: New file.
69768
69769 2007-03-03  Bruno Haible  <bruno@clisp.org>
69770
69771         * modules/relocatable-prog: Renamed from modules/relocatable.
69772         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
69773
69774 2007-03-03  Bruno Haible  <bruno@clisp.org>
69775
69776         * modules/relocatable-script (Files): Add doc/relocatable.texi,
69777         m4/relocatable-lib.m4.
69778         (Depends-on): Remove 'relocatable'.
69779         (configure.ac): Add gl_RELOCATABLE_NOP.
69780
69781 2007-03-03  Bruno Haible  <bruno@clisp.org>
69782
69783         * modules/relocatable-prog-wrapper: New file.
69784         * modules/relocatable (Depends-on): Add it. Remove all other
69785         dependencies except progname.
69786         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
69787
69788         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
69789         (gl_FUNC_STRERROR): Nop.
69790         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
69791
69792         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
69793         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
69794
69795         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
69796         (gl_FUNC_READLINK): Update.
69797
69798         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
69799
69800 2007-03-03  Bruno Haible  <bruno@clisp.org>
69801
69802         * lib/xreadlink.c: Include <unistd.h> unconditionally.
69803         * modules/xreadlink (Depends-on): Add unistd.
69804         * modules/xreadlink-with-size (Depends-on): Likewise.
69805
69806 2007-03-03  Bruno Haible  <bruno@clisp.org>
69807
69808         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
69809         extracted from gt_FUNC_SETENV.
69810         (gt_FUNC_SETENV): Remove macro.
69811         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
69812         remove gt_FUNC_SETENV.
69813
69814 2007-03-03  Bruno Haible  <bruno@clisp.org>
69815
69816         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
69817         ENABLE_RELOCATABLE here.
69818         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
69819
69820 2007-03-03  Bruno Haible  <bruno@clisp.org>
69821
69822         * modules/rbtreehash-list-tests (Depends-on): Add progname.
69823         * tests/test-rbtreehash_list.c: Include progname.h.
69824         (main): Call set_program_name.
69825
69826         * modules/rbtree-oset-tests (Depends-on): Add progname.
69827         * tests/test-rbtree_oset.c: Include progname.h.
69828         (main): Call set_program_name.
69829
69830         * modules/rbtree-list-tests (Depends-on): Add progname.
69831         * tests/test-rbtree_list.c: Include progname.h.
69832         (main): Call set_program_name.
69833
69834         * modules/linked-list-tests (Depends-on): Add progname.
69835         * tests/test-linked_list.c: Include progname.h.
69836         (main): Call set_program_name.
69837
69838 2007-03-03  Bruno Haible  <bruno@clisp.org>
69839
69840         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
69841         All uses of __restrict changed to _Restrict_.
69842         * lib/glob_.h (__restrict): Remove macro.
69843
69844 2007-03-02  Bruno Haible  <bruno@clisp.org>
69845
69846         * modules/gettext (configure.ac): Require gettext infrastructure
69847         from version 0.16.1.
69848
69849 2007-03-02  Bruno Haible  <bruno@clisp.org>
69850
69851         * modules/linkedhash-list-tests (Depends-on): Add progname.
69852         * tests/test-linkedhash_list.c: Include progname.h.
69853         (main): Call set_program_name.
69854
69855         * modules/carray-list-tests (Depends-on): Add progname.
69856         * tests/test-carray_list.c: Include progname.h.
69857         (main): Call set_program_name.
69858
69859         * modules/avltreehash-list-tests (Depends-on): Add progname.
69860         * tests/test-avltreehash_list.c: Include progname.h.
69861         (main): Call set_program_name.
69862
69863         * modules/avltree-oset-tests (Depends-on): Add progname.
69864         * tests/test-avltree_oset.c: Include progname.h.
69865         (main): Call set_program_name.
69866
69867         * modules/avltree-list-tests (Depends-on): Add progname.
69868         * tests/test-avltree_list.c: Include progname.h.
69869         (main): Call set_program_name.
69870
69871         * modules/array-oset-tests (Depends-on): Add progname.
69872         * tests/test-array_oset.c: Include progname.h.
69873         (main): Call set_program_name.
69874
69875         * modules/array-list-tests (Depends-on): Add progname.
69876         * tests/test-array_list.c: Include progname.h.
69877         (main): Call set_program_name.
69878
69879         * modules/argp-tests (Depends-on): Add progname.
69880         * tests/test-argp.c: Include argp.h first. Include progname.h.
69881         (main): Call set_program_name.
69882
69883 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
69884
69885         * doc/gnulib-tool.texi (Initial import): Reword description of
69886         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
69887         limited effect even if defined after the first system include.
69888
69889 2007-03-01  Bruno Haible  <bruno@clisp.org>
69890
69891         * build-aux/config.libpath: Update to libtool-1.5.22.
69892         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
69893
69894 2007-03-01  Bruno Haible  <bruno@clisp.org>
69895
69896         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
69897         foo_CFLAGS.
69898         Reported by Ralf Wildenhues.
69899
69900 2007-03-01  Bruno Haible  <bruno@clisp.org>
69901
69902         * build-aux/install-reloc: Remove object files left over by some
69903         compilers.
69904         Reported by Ralf Wildenhues.
69905
69906 2007-03-01  Bruno Haible  <bruno@clisp.org>
69907
69908         * build-aux/install-reloc: Break long lines.
69909
69910 2007-03-01  Bruno Haible  <bruno@clisp.org>
69911
69912         * doc/relocatable.texi: Document that it may not work on OpenBSD.
69913         Reported by Ralf Wildenhues.
69914
69915 2007-03-01  Bruno Haible  <bruno@clisp.org>
69916
69917         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
69918         include ordering constraints.
69919
69920 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
69921
69922         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
69923         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
69924         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
69925         as another example.
69926         * lib/time_.h: Fix misspelling.
69927         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
69928         Require gl_HEADER_TIME_H_DEFAULTS.
69929         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
69930         * m4/time_r.m4 (gl_TIME_R): Likewise.
69931         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
69932
69933 2007-03-01  Bruno Haible  <bruno@clisp.org>
69934
69935         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
69936         * m4/utimens.m4 (gl_UTIMENS): Likewise.
69937
69938 2007-03-01  Jim Meyering  <jim@meyering.net>
69939
69940         * modules/xreadlink (Maintainer): Add my name.
69941         * modules/xreadlink-with-size (Depends-on): Alphabetize.
69942
69943 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
69944             Bruno Haible  <bruno@clisp.org>
69945
69946         * build-aux/install-reloc: Compile also c-ctype.c.
69947         * build-aux/relocatable.sh.in: New file.
69948         * doc/relocatable.texi: New file.
69949         * doc/relocatable-maint.texi: New file.
69950         * doc/gnulib.texi: Include relocatable-maint.texi.
69951         * lib/progreloc.c: Include unistd.h unconditionally.
69952         * lib/relocwrapper.c: Include unistd.h unconditionally.
69953         Include c-ctype.h.
69954         (add_dotbin): Use c_tolower.
69955         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
69956         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
69957         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
69958         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
69959         to m4/relocatable-lib.m4.
69960         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
69961         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
69962         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
69963         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
69964         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
69965         * modules/relocatable: New file.
69966         * modules/relocatable-lib: New file.
69967         * modules/relocatable-script: New file.
69968
69969 2007-02-28  Bruno Haible  <bruno@clisp.org>
69970
69971         Import --enable-relocatable infrastructure.
69972         * build-aux/config.libpath: New file, from GNU gettext.
69973         * build-aux/install-reloc: New file, from GNU gettext.
69974         * build-aux/reloc-ldflags: New file, from GNU gettext.
69975         * lib/relocatable.h: New file, from GNU gettext.
69976         * lib/relocatable.c: New file, from GNU gettext.
69977         * lib/relocwrapper.c: New file, from GNU gettext.
69978         * m4/relocatable.m4: New file, from GNU gettext.
69979
69980 2007-02-28  Bruno Haible  <bruno@clisp.org>
69981
69982         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
69983
69984         * modules/xreadlink: New file, from GNU gettext with modifications.
69985         * lib/xreadlink.c: New file, from GNU gettext.
69986         * lib/xreadlink.h: Add comments.
69987         (xreadlink): New declaration.
69988
69989         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
69990         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
69991         lib/xreadlink-with-size.c.
69992         (configure.ac): Remove gl_XREADLINK invocation.
69993         (Makefile.am): Augment lib_SOURCES.
69994         * m4/xreadlink.m4: Remove file.
69995         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
69996         (xreadlink_with_size): Renamed from xreadink.
69997         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
69998         * modules/canonicalize (Depends-on): Replace xreadlink with
69999         xreadlink-with-size.
70000         * lib/canonicalize.c (canonicalize_filename_mode): Update.
70001
70002 2007-02-25  Jim Meyering  <jim@meyering.net>
70003
70004         * build-aux/announce-gen: When complaining about excess arguments,
70005         list them.
70006
70007 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
70008
70009         * README: Document signed integer overflow situation more
70010         accurately.
70011
70012 2007-02-25  Bruno Haible  <bruno@clisp.org>
70013
70014         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
70015         'a' or 'A' conversion.
70016
70017 2007-02-25  Bruno Haible  <bruno@clisp.org>
70018
70019         * modules/filename: Renamed from modules/pathname.
70020         (Files): Replace lib/pathname.h with lib/filename.h. Replace
70021         lib/concatpath.c with lib/concat-filename.c.
70022         (Makefile.am): Update.
70023         (Include): Replace pathname.h with filename.h.
70024         * lib/filename.h: Renamed from lib/pathname.h.
70025         (concatenated_filename): Renamed from concatenated_pathname.
70026         * lib/concat-filename.c: Renamed from lib/concatpath.c.
70027         (concatenated_filename): Renamed from concatenated_pathname.
70028         * lib/findprog.c: Include filename.h instead of pathname.h.
70029         (find_in_path): Update.
70030         * lib/javacomp.c: Include filename.h instead of pathname.h.
70031         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
70032         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
70033         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
70034         is_oldgcj_14_13_usable, is_javac_usable): Update.
70035         * lib/javaexec.c: Include filename.h instead of pathname.h.
70036         (execute_java_class): Update.
70037         * modules/findprog: Update.
70038         * modules/javacomp: Update.
70039         * modules/javaexec: Update.
70040         * MODULES.html.sh (File system functions): Add 'filename', remove
70041         'pathname'.
70042
70043 2007-02-25  Bruno Haible  <bruno@clisp.org>
70044
70045         * modules/printf-frexpl-tests: New file.
70046         * tests/test-printf-frexpl.c: New file.
70047
70048         * modules/printf-frexpl: New file.
70049         * lib/printf-frexpl.h: New file.
70050         * lib/printf-frexpl.c: New file.
70051         * m4/printf-frexpl.m4: New file.
70052
70053 2007-02-25  Bruno Haible  <bruno@clisp.org>
70054
70055         * modules/printf-frexp-tests: New file.
70056         * tests/test-printf-frexp.c: New file.
70057
70058         * modules/printf-frexp: New file.
70059         * lib/printf-frexp.h: New file.
70060         * lib/printf-frexp.c: New file.
70061         * m4/printf-frexp.m4: New file.
70062
70063 2007-02-25  Bruno Haible  <bruno@clisp.org>
70064
70065         Assume automake >= 1.10 for the tests.
70066         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
70067         * modules/arctwo-tests: Likewise.
70068         * modules/argp-tests: Likewise.
70069         * modules/avltree-list-tests: Likewise.
70070         * modules/avltree-oset-tests: Likewise.
70071         * modules/avltreehash-list-tests: Likewise.
70072         * modules/carray-list-tests: Likewise.
70073         * modules/crc-tests: Likewise.
70074         * modules/des-tests: Likewise.
70075         * modules/gc-arcfour-tests: Likewise.
70076         * modules/gc-arctwo-tests: Likewise.
70077         * modules/gc-des-tests: Likewise.
70078         * modules/gc-hmac-md5-tests: Likewise.
70079         * modules/gc-hmac-sha1-tests: Likewise.
70080         * modules/gc-md2-tests: Likewise.
70081         * modules/gc-md4-tests: Likewise.
70082         * modules/gc-md5-tests: Likewise.
70083         * modules/gc-pbkdf2-sha1-tests: Likewise.
70084         * modules/gc-rijndael-tests: Likewise.
70085         * modules/gc-sha1-tests: Likewise.
70086         * modules/gc-tests: Likewise.
70087         * modules/getaddrinfo-tests: Likewise.
70088         * modules/hmac-md5-tests: Likewise.
70089         * modules/hmac-sha1-tests: Likewise.
70090         * modules/linked-list-tests: Likewise.
70091         * modules/linkedhash-list-tests: Likewise.
70092         * modules/lock-tests: Likewise.
70093         * modules/md2-tests: Likewise.
70094         * modules/md4-tests: Likewise.
70095         * modules/md5-tests: Likewise.
70096         * modules/rbtree-list-tests: Likewise.
70097         * modules/rbtree-oset-tests: Likewise.
70098         * modules/rbtreehash-list-tests: Likewise.
70099         * modules/read-file-tests: Likewise.
70100         * modules/rijndael-tests: Likewise.
70101         * modules/stdint-tests: Likewise.
70102         * modules/tls-tests: Likewise.
70103
70104 2007-02-24  Bruno Haible  <bruno@clisp.org>
70105
70106         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
70107         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
70108         function; instead check whether isnan with a double argument links.
70109         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
70110         function; instead check whether isnan with a 'long double' argument
70111         links.
70112         Reported by Eric Blake <ebb9@byu.net>.
70113
70114 2007-02-24  Bruno Haible  <bruno@clisp.org>
70115
70116         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
70117         defined.
70118         * lib/isnanl.c: Remove all code. Just include isnan.c.
70119         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
70120
70121 2007-02-25  Jim Meyering  <jim@meyering.net>
70122
70123         Avoid conflicting types for 'unsetenv' on FreeBSD.
70124         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
70125         conflicting with FreeBSD's (5.0 and 6.1) function declaration
70126         in stdlib.h.
70127
70128 2007-02-24  Bruno Haible  <bruno@clisp.org>
70129
70130         * modules/isnanl-nolibm-tests: New file.
70131         * tests/test-isnanl.c: New file.
70132
70133         * modules/isnanl-nolibm: New file.
70134         * lib/isnanl.h: New file.
70135         * lib/isnanl.c: New file.
70136         * m4/isnanl.m4: New file.
70137
70138 2007-02-24  Bruno Haible  <bruno@clisp.org>
70139
70140         * modules/isnan-nolibm-tests: New file.
70141         * tests/test-isnan.c: New file.
70142
70143         * modules/isnan-nolibm: New file.
70144         * lib/isnan.h: New file.
70145         * lib/isnan.c: New file.
70146         * m4/isnan.m4: New file.
70147
70148 2007-02-24  Bruno Haible  <bruno@clisp.org>
70149
70150         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
70151         assume that an exponent fits in 20 bits.
70152
70153 2007-02-24  Jim Meyering  <jim@meyering.net>
70154
70155         * m4/regex.m4: Update the description of the configure-time option,
70156         --without-included-regex, to state accurately what the defaults are,
70157         and perhaps to give people an idea why using this option is risky.
70158
70159 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
70160
70161         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
70162         loops on small arguments.  This attempts to avoid the problem
70163         Bruno Haible reported for AIX 4.3.2 in
70164         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
70165
70166 2007-02-23  Bruno Haible  <bruno@clisp.org>
70167
70168         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
70169         Needed for help2man.
70170
70171 2007-02-23  Karl Berry  <karl@gnu.org>
70172
70173         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
70174         exists, foo.h should be cvs-ignored, not committed.
70175
70176 2007-02-23  Eric Blake  <ebb9@byu.net>
70177
70178         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
70179         * lib/stat-time.h (includes): Likewise.
70180         * lib/utimecmp.c (includes): Likewise.
70181         * lib/utimens.h (includes): Likewise.
70182         * lib/getdate.y (includes): Also include "timespec.h" for use
70183         internal to the module.
70184         * modules/utimens (Depends-on): Revert yesterday's patch.
70185         * modules/nanosleep (Depends-on): Add missing dependency.
70186
70187 2007-02-22  Bruno Haible  <bruno@clisp.org>
70188
70189         * lib/glob.c: Don't include getlogin_r.h.
70190
70191 2007-02-22  Jim Meyering  <jim@meyering.net>
70192
70193         * modules/utimens (Depends-on): Add timespec, required for
70194         utimens.h's inclusion of timespec.h.
70195
70196 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
70197
70198         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
70199         long unreadable paths in GNU/Linux.  Problem reported by Andreas
70200         Schwab in
70201         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
70202         I'll try to think of a better way to fix the Solaris problem.
70203
70204         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
70205         like glibc; on Solaris 10, it fails with errno == EINVAL.
70206         POSIX says the behavior is unspecified if the first argument is NULL,
70207         so play it safe and never pass NULL to the system getcwd.
70208
70209 2007-02-21  Jim Meyering  <jim@meyering.net>
70210
70211         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
70212         of gettimeofday.  It would conflict with the one now always
70213         provided via sys_time_.h.  Reported by Matthew Woehlke, as
70214         an IRIX 6.5 build failure.
70215
70216 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
70217
70218         Minor fixups to port to Solaris 10 with Sun C 5.8.
70219         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
70220         * modules/getcwd (Depends-on): Add dirfd.
70221         * lib/putenv.c (putenv): #undef it.
70222         (rpl_putenv): New decl.
70223         (malloc, free): Include <stdlib.h> rather than prototyping separately.
70224
70225 2007-02-20  Bruno Haible  <bruno@clisp.org>
70226
70227         * modules/stdio-tests: New file.
70228         * tests/test-stdio.c: New file.
70229
70230         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
70231         (Depends-on): Add stdio.
70232         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70233         (Include): Use <stdio.h> instead of vsnprintf.h.
70234         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70235         HAVE_DECL_VSNPRINTF.
70236         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
70237
70238         * modules/snprintf (Files): Remove lib/snprintf.h.
70239         (Depends-on): Add stdio.
70240         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
70241         (Include): Use <stdio.h> instead of snprintf.h.
70242         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
70243         HAVE_DECL_SNPRINTF.
70244         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
70245         * lib/getaddrinfo.c: Likewise.
70246
70247         * modules/stdio: New file.
70248         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
70249         * lib/snprintf.h: Remove file.
70250         * lib/vsnprintf.h: Remove file.
70251         * lib/.cppi-disable: Remove snprintf.h.
70252         * m4/stdio_h.m4: New file.
70253         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
70254
70255 2007-02-20  Jim Meyering  <jim@meyering.net>
70256
70257         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
70258         used by e.g., mingw.  From Bruno Haible.
70259
70260 2007-02-19  Bruno Haible  <bruno@clisp.org>
70261
70262         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
70263         warnings.
70264         Reported by Ben Pfaff <blp@cs.stanford.edu>.
70265
70266 2007-02-19  Bruno Haible  <bruno@clisp.org>
70267
70268         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
70269         from mingw users.
70270
70271 2007-02-19  Bruno Haible  <bruno@clisp.org>
70272
70273         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
70274         warnings.
70275         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
70276
70277 2007-02-19  Jim Meyering  <jim@meyering.net>
70278
70279         Don't use FD after a successful "fdopendir (fd)".
70280         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
70281         Reset it by calling dirfd on the just-obtained DIR*.
70282
70283         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
70284         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
70285
70286 2007-02-18  Bruno Haible  <bruno@clisp.org>
70287
70288         * lib/readlink.c: Include <unistd.h>.
70289         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
70290         HAVE_READLINK.
70291         * modules/readlink (Depends-on): Add unistd.
70292         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70293         (Include): Add <unistd.h>.
70294
70295         * lib/getlogin_r.h: Remove file.
70296         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
70297         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
70298         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
70299         HAVE_DECL_GETLOGIN_R.
70300         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
70301         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70302         (Include): Use <unistd.h> instead of getlogin_r.h.
70303
70304         * lib/getcwd.h: Remove file.
70305         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
70306         * lib/xgetcwd.c: Likewise.
70307         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
70308         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
70309         * modules/getcwd (Files): Remove lib/getcwd.h.
70310         (Depends-on): Add unistd.
70311         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70312         (Include): Use <unistd.h> instad of getcwd.h.
70313
70314         * lib/ftruncate.c: Include <unistd.h> first.
70315         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
70316         Set HAVE_FTRUNCATE.
70317         * modules/ftruncate (Depends-on): Add unistd.
70318         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70319
70320         * lib/fchdir.c: Include <unistd.h> first.
70321         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
70322         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
70323         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
70324         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70325         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
70326
70327         * lib/dup2.c: Include <unistd.h> first.
70328         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
70329         HAVE_DUP2.
70330         * modules/dup2 (Depends-on): Add unistd.
70331         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70332
70333         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
70334         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
70335         REPLACE_CHOWN. Don't define chown as a macro here.
70336         * modules/chown (Depends-on): Add unistd.
70337         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
70338
70339         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
70340         Add definition for GL_LINK_WARNING.
70341         (chown, dup2): New declarations.
70342         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
70343         link warning.
70344         (ftruncate): New declaration.
70345         (getcwd): New declaration, taken from old getcwd.h.
70346         (getlogin_r): New declaration, taken from old getlogin_r.h.
70347         (readlink): New declaration.
70348         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
70349         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
70350         (gl_PREREQ_UNISTD): Remove macro.
70351         (gl_UNISTD_MODULE_INDICATOR): New macro.
70352         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
70353         many new variables. Don't set UNISTD_H.
70354         * modules/unistd (Description): Change.
70355         (Depends-on): Add link-warning.
70356         (configure.ac): Update.
70357         (Makefile.am): Create unistd.h always. Substitute many new variables
70358         into it.
70359
70360 2007-02-18  Bruno Haible  <bruno@clisp.org>
70361
70362         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
70363         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
70364         HAVE_GETSUBOPT.
70365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
70366         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
70367         * lib/getsubopt.h: Remove file.
70368         * modules/getsubopt (Files): Remove lib/getsubopt.h.
70369         (Depends-on): Add stdlib.
70370         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70371         (Includes): Use <stdlib.h> instead of getsubopt.h.
70372         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
70373         Set HAVE_GETSUBOPT.
70374         * lib/getsubopt.c: Don't include getsubopt.h.
70375
70376 2007-02-18  Bruno Haible  <bruno@clisp.org>
70377
70378         * modules/fchdir (Depends-on): Add dup2.
70379
70380 2007-02-18  Bruno Haible  <bruno@clisp.org>
70381
70382         * lib/stdlib_.h: Handle glibc's special invocation convention
70383         specially.
70384
70385 2007-02-18  Bruno Haible  <bruno@clisp.org>
70386
70387         * modules/stdlib-tests: New file.
70388         * tests/test-stdlib.c: New file.
70389
70390         * modules/mkstemp (Files): Remove lib/mkstemp.h.
70391         (Depends-on): Add stdlib.
70392         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70393         (Includes): Use <stdlib.h> instead of mkstemp.h.
70394         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70395         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
70396         * lib/mkstemp.c: Don't include mkstemp.h.
70397         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
70398         * lib/stdlib--.h: Don't include mkstemp.h.
70399
70400         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
70401         (Depends-on): Add stdlib.
70402         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
70403         (Includes): Use <stdlib.h> instead of mkdtemp.h.
70404         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
70405         HAVE_MKDTEMP.
70406         * lib/mkdtemp.c: Don't include mkdtemp.h.
70407         * lib/clean-temp.c: Don't include mkdtemp.h.
70408
70409         * modules/exit (Files): Remove lib/exit.h.
70410         (Depends-on): Add stdlib.
70411         (Makefile.am): Remove lib_SOURCES.
70412         (Include): Use <stdlib.h> instead of exit.h.
70413         * lib/argmatch.c: Don't include exit.h.
70414         * lib/execute.c: Likewise.
70415         * lib/pagealign_alloc.c: Likewise.
70416         * lib/pipe.c: Likewise.
70417         * lib/wait-process.c: Likewise.
70418         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
70419         * lib/exitfail.c: Likewise.
70420         * lib/savewd.c: Likewise.
70421         * lib/xsetenv.c: Likewise.
70422
70423         * modules/stdlib: New file.
70424         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
70425         and extra comments about mkstemp().
70426         * lib/exit.h: Remove file.
70427         * lib/mkdtemp.h: Remove file.
70428         * lib/mkstemp.h: Remove file.
70429         * m4/stdlib_h.m4: New file.
70430         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
70431
70432 2007-02-18  Bruno Haible  <bruno@clisp.org>
70433
70434         * modules/math-tests: New file.
70435         * tests/test-math.c: New file.
70436
70437         * modules/math: New file.
70438         * modules/mathl (Files): Remove lib/mathl.h.
70439         (Depends-on): Add math.
70440         (Makefile.am): Don't mention mathl.h.
70441         (Include): Use <math.h> instead of mathl.h.
70442         * lib/math_.h: New file.
70443         * lib/mathl.h: Remove file.
70444         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
70445         mathl.h.
70446         * lib/asinl.c: Likewise.
70447         * lib/atanl.c: Likewise.
70448         * lib/ceill.c: Likewise.
70449         * lib/cosl.c: Likewise.
70450         * lib/expl.c: Likewise.
70451         * lib/floorl.c: Likewise.
70452         * lib/frexpl.c: Likewise.
70453         * lib/ldexpl.c: Likewise.
70454         * lib/logl.c: Likewise.
70455         * lib/sincosl.c: Likewise.
70456         * lib/sinl.c: Likewise.
70457         * lib/sqrtl.c: Likewise.
70458         * lib/tanl.c: Likewise.
70459         * lib/trigl.c: Likewise.
70460         * m4/math_h.m4: New file.
70461         * MODULES.html.sh (Mathematics): Add math.
70462
70463 2007-02-17  Bruno Haible  <bruno@clisp.org>
70464
70465         * modules/wctype-tests: New file.
70466         * tests/test-wctype.c: New file.
70467
70468         * modules/wchar-tests: New file.
70469         * tests/test-wchar.c: New file.
70470
70471         * modules/unistd-tests: New file.
70472         * tests/test-unistd.c: New file.
70473
70474         * modules/time-tests: New file.
70475         * tests/test-time.c: New file.
70476
70477         * modules/sysexits-tests: New file.
70478         * tests/test-sysexits.c: New file.
70479
70480         * modules/sys_time-tests: New file.
70481         * tests/test-sys_time.c: New file.
70482
70483         * modules/sys_stat-tests: New file.
70484         * tests/test-sys_stat.c: New file.
70485
70486         * modules/sys_socket-tests: New file.
70487         * tests/test-sys_socket.c: New file.
70488
70489         * modules/sys_select-tests: New file.
70490         * tests/test-sys_select.c: New file.
70491
70492         * modules/string-tests: New file.
70493         * tests/test-string.c: New file.
70494
70495         * modules/stdbool-tests: New file.
70496         * tests/test-stdbool.c: New file.
70497
70498         * modules/netinet_in-tests: New file.
70499         * tests/test-netinet_in.c: New file.
70500
70501         * modules/inttypes-tests: New file.
70502         * tests/test-inttypes.c: New file.
70503
70504         * modules/fcntl-tests: New file.
70505         * tests/test-fcntl.c: New file.
70506
70507         * modules/byteswap-tests: New file.
70508         * tests/test-byteswap.c: New file.
70509
70510         * modules/arpa_inet-tests: New file.
70511         * tests/test-arpa_inet.c: New file.
70512
70513 2007-02-17  Bruno Haible  <bruno@clisp.org>
70514
70515         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
70516         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
70517         if the corresponding module is not enabled. Emit link warnings if
70518         the function is used nevertheless.
70519         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
70520         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
70521         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
70522         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
70523         * modules/inttypes (Depends-on): Add link-warning.
70524         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70525         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
70526         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
70527         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
70528         * modules/imaxdiv (configure.ac): Likewise.
70529         * modules/strtoimax (configure.ac): Likewise.
70530         * modules/strtoumax (configure.ac): Likewise.
70531
70532 2007-02-17  Bruno Haible  <bruno@clisp.org>
70533
70534         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
70535         gl_STRING_MODULE_INDICATOR_DEFAULTS.
70536         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
70537         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
70538
70539 2007-02-17  Bruno Haible  <bruno@clisp.org>
70540
70541         * modules/link-warning: New file.
70542         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
70543         * lib/string_.h (GL_LINK_WARNING): Remove definition.
70544         * modules/string (Depends-on): Add link-warning.
70545         (Makefile.am): Copy the contents of build-aux/link-warning.h into
70546         string.h.
70547         * MODULES.html.sh (Support for building libraries and executables): Add
70548         link-warning.
70549
70550 2007-02-17  Bruno Haible  <bruno@clisp.org>
70551
70552         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
70553         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
70554         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
70555         long lines.
70556
70557 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
70558             Bruno Haible  <bruno@clisp.org>
70559
70560         * modules/tmpfile: New file.
70561         * lib/tmpfile.c: New file.
70562         * m4/tmpfile.m4: New file.
70563         * MODULES.html.sh (func_all_modules): New section "Input/output".
70564
70565 2007-02-15  Bruno Haible  <bruno@clisp.org>
70566
70567         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
70568         (supports_delete_on_close): New function.
70569         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
70570
70571 2007-02-14  Bruno Haible  <bruno@clisp.org>
70572
70573         * modules/mbspcasecmp-tests: New file.
70574         * tests/test-mbspcasecmp.sh: New file.
70575         * tests/test-mbspcasecmp.c: New file.
70576
70577         New module mbspcasecmp.
70578         * modules/mbspcasecmp: New file.
70579         * lib/mbspcasecmp.c: New file.
70580         * lib/string_.h (strncasecmp): Change warning message.
70581         (mbspcasecmp): New declaration.
70582         * m4/mbspcasecmp.m4: New file.
70583         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70584         GNULIB_MBSPCASECMP.
70585         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
70586         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
70587
70588 2007-02-14  Bruno Haible  <bruno@clisp.org>
70589
70590         * modules/mbsncasecmp-tests: New file.
70591         * tests/test-mbsncasecmp.sh: New file.
70592         * tests/test-mbsncasecmp.c: New file.
70593
70594         New module mbsncasecmp.
70595         * modules/mbsncasecmp: New file.
70596         * lib/mbsncasecmp.c: New file.
70597         * lib/string_.h (mbsncasecmp): New declaration.
70598         * m4/mbsncasecmp.m4: New file.
70599         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70600         GNULIB_MBSNCASECMP.
70601         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
70602         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
70603
70604 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
70605
70606         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
70607         Verify that it doesn't overlap with our flags.
70608         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
70609         do not have the desired effect in multibyte locales; instead, use
70610         mbscasecmp.
70611         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
70612         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
70613         we don't require GNU fnmatch ourselves (if our users require it, they
70614         should do so explicitly).
70615
70616         Fix regex code so it doesn't rely on strcasecmp.
70617         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
70618         Otherwise, include gnulib's langinfo.h.
70619         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
70620         undesirable behavior in non-C locales.  Instead, rely on localecharset.
70621         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
70622         * modules/regex (FILES): Remove m4/codeset.m4.
70623         (Depends-on): Add localcharset.  Remove strcase.
70624
70625 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70626
70627         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
70628         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
70629
70630 2007-02-13  Bruno Haible  <bruno@clisp.org>
70631
70632         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
70633         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70634
70635 2007-02-12  Bruno Haible  <bruno@clisp.org>
70636
70637         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
70638         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
70639         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
70640         time warning rather than a link error.
70641
70642 2007-02-12  Bruno Haible  <bruno@clisp.org>
70643
70644         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
70645         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
70646         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
70647
70648 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70649
70650         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
70651         args, not 2.
70652
70653 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
70654
70655         New module 'time', so that apps can include <time.h> as per
70656         POSIX and GNU instead of separate include files like time_r.h
70657         and timegm.h.  This implementation tries out a simpler approach
70658         for replacing decls in standard include files (as compared to
70659         the string module), somewhat as an experiment.
70660
70661         * config/srclist.txt: Comment out mktime.c for now.
70662         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
70663         since it doesn't apply any more.  Use generic wording instead.
70664         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
70665         'time'.
70666         * lib/time_.h, m4/time_h.m4, modules/time: New files.
70667         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
70668         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
70669         Don't include <sys/types.h>; no longer needed since we assume C89.
70670         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
70671         * lib/strftime.c: Likewise.
70672         * lib/time_r.c: Likewise.
70673         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
70674         * lib/nanosleep.c: Include <time.h> first, to check interface.
70675         * lib/strptime.c: Likewise.
70676         * lib/time_r.c: Likewise.
70677         * lib/timegm.c: Likewise.
70678         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
70679         needed.
70680         * lib/timegm.c: Don't include timegm.h; no longer needed.
70681         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
70682         time.h now handles any problems in that area.
70683         (struct timespec, nanosleep): Remove; time.h now arranges for these.
70684         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
70685         that time.h defines struct timespec.
70686         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
70687         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
70688         handles that.
70689         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
70690         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
70691         needed.  Set REPLACE_LOCALTIME.
70692         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
70693         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
70694         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
70695         nanosleep; time_h.m4 now does that.  Don't require
70696         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
70697         module handles this now.
70698         * modules/getdate (Depends-on): Remove timespec.  Add time.
70699         * modules/nanosleep (Depends-on): Likewise.
70700         * modules/stat-time (Depends-on): Likewise.
70701         * modules/nanosleep (Include): Include time.h, not timespec.h.
70702         * modules/strptime (Files): Remove lib/strptime.h.
70703         (Depends-on): Add extensions, time.
70704         (Include): Include time.h, not strptime.h.
70705         * modules/time_r (Files): Remove lib/time_r.h.
70706         (Depends-on): Add time.
70707         (Include): Include time.h, not time_r.h.
70708         * modules/timegm: Likewise.
70709         * modules/timespec (Description): Now does timespec-related decls
70710         of our own, instead of struct timespec itself.
70711         (Depends-on): Add time; remove extensions.
70712         (Maintainer): Add self.
70713         * modules/utimecmp (Depends-on): Add time; remove timespec.
70714         * modules/utimens (Depends-on): Likewise.
70715         * modules/xnanosleep (Depends-on): Likewise.
70716
70717 2007-02-11  Bruno Haible  <bruno@clisp.org>
70718
70719         * lib/c-strstr.c: Include allocsa.h.
70720         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70721         * lib/c-strcasestr.c: Include allocsa.h.
70722         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70723         * lib/strcasestr.c: Include allocsa.h.
70724         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
70725         * lib/mbsstr.c: Include allocsa.h.
70726         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70727         allocsa/freesa instead of malloc/free.
70728         * lib/mbscasestr.c: Include allocsa.h.
70729         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
70730         allocsa/freesa instead of malloc/free.
70731         * modules/c-strstr (Depends-on): Add allocsa.
70732         * modules/c-strcasestr (Depends-on): Likewise.
70733         * modules/strcasestr (Depends-on): Likewise.
70734         * modules/mbsstr (Depends-on): Likewise.
70735         * modules/mbscasestr (Depends-on): Likewise.
70736
70737 2007-02-11  Bruno Haible  <bruno@clisp.org>
70738
70739         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
70740
70741         * modules/mbsspn-tests: New file.
70742         * tests/test-mbsspn.sh: New file.
70743         * tests/test-mbsspn.c: New file.
70744
70745 2007-02-11  Bruno Haible  <bruno@clisp.org>
70746
70747         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
70748
70749         * modules/mbspbrk-tests: New file.
70750         * tests/test-mbspbrk.sh: New file.
70751         * tests/test-mbspbrk.c: New file.
70752
70753 2007-02-11  Bruno Haible  <bruno@clisp.org>
70754
70755         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
70756         unneeded cast.
70757
70758         * modules/mbscspn-tests: New file.
70759         * tests/test-mbscspn.sh: New file.
70760         * tests/test-mbscspn.c: New file.
70761
70762 2007-02-11  Bruno Haible  <bruno@clisp.org>
70763
70764         * modules/mbscasecmp-tests: New file.
70765         * tests/test-mbscasecmp.sh: New file.
70766         * tests/test-mbscasecmp.c: New file.
70767
70768 2007-02-11  Bruno Haible  <bruno@clisp.org>
70769
70770         Ensure O(n) worst-case complexity of mbscasestr.
70771         * lib/mbscasestr.c: Include stdbool.h.
70772         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70773         functions.
70774         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
70775         the bookkeeping indicates that it's worth it.
70776         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
70777
70778         * modules/mbscasestr-tests: New file.
70779         * tests/test-mbscasestr1.c: New file.
70780         * tests/test-mbscasestr2.sh: New file.
70781         * tests/test-mbscasestr2.c: New file.
70782         * tests/test-mbscasestr3.sh: New file.
70783         * tests/test-mbscasestr3.c: New file.
70784         * tests/test-mbscasestr4.sh: New file.
70785         * tests/test-mbscasestr4.c: New file.
70786         * m4/locale-tr.m4: New file.
70787
70788 2007-02-11  Bruno Haible  <bruno@clisp.org>
70789
70790         Ensure O(n) worst-case complexity of mbsstr.
70791         * lib/mbsstr.c: Include stdbool.h.
70792         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
70793         functions.
70794         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
70795         bookkeeping indicates that it's worth it.
70796         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
70797
70798         * modules/mbsstr-tests: New file.
70799         * tests/test-mbsstr1.c: New file.
70800         * tests/test-mbsstr2.sh: New file.
70801         * tests/test-mbsstr2.c: New file.
70802         * tests/test-mbsstr3.sh: New file.
70803         * tests/test-mbsstr3.c: New file.
70804         * m4/locale-fr.m4: New file.
70805
70806 2007-02-11  Bruno Haible  <bruno@clisp.org>
70807
70808         * lib/mbsrchr.c (mbsrchr): Fix bug.
70809
70810         * modules/mbsrchr-tests: New file.
70811         * tests/test-mbsrchr.sh: New file.
70812         * tests/test-mbsrchr.c: New file.
70813
70814 2007-02-11  Bruno Haible  <bruno@clisp.org>
70815
70816         * lib/mbschr.c (mbschr): Fix bug.
70817
70818         * modules/mbschr-tests: New file.
70819         * tests/test-mbschr.sh: New file.
70820         * tests/test-mbschr.c: New file.
70821         * m4/locale-zh.m4: New file.
70822
70823 2007-02-11  Bruno Haible  <bruno@clisp.org>
70824
70825         Support for copying multibyte string iterators.
70826         * lib/mbiter.h: Include <string.h>.
70827         (mbiter_multi_copy): New function.
70828         (mbi_copy): New macro.
70829         * lib/mbuiter.h: Include <string.h>.
70830         (mbuiter_multi_copy): New function.
70831         (mbui_copy): New macro.
70832
70833 2007-02-11  Bruno Haible  <bruno@clisp.org>
70834
70835         New module mbslen.
70836         * modules/mbslen: New file.
70837         * lib/mbslen.c: New file.
70838         * lib/string_.h (mbslen): New declaration.
70839         * m4/mbslen.m4: New file.
70840         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70841         GNULIB_MBSLEN.
70842         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
70843         * MODULES.html.sh (Internationalization functions): Add mbslen.
70844
70845 2007-02-11  Bruno Haible  <bruno@clisp.org>
70846
70847         Ensure O(n) worst-case complexity of strcasestr substitute.
70848         * lib/strcasestr.c: Include stdbool.h.
70849         (knuth_morris_pratt): New function.
70850         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70851         bookkeeping indicates that it's worth it.
70852         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
70853
70854         * modules/strcasestr-tests: New file.
70855         * tests/test-strcasestr.c: New file.
70856
70857 2007-02-11  Bruno Haible  <bruno@clisp.org>
70858
70859         Ensure O(n) worst-case complexity of c_strcasestr.
70860         * lib/c-strcasestr.c: Include stdbool.h, string.h.
70861         (knuth_morris_pratt): New function.
70862         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
70863         the bookkeeping indicates that it's worth it.
70864         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
70865
70866         * modules/c-strcasestr-tests: New file.
70867         * tests/test-c-strcasestr.c: New file.
70868
70869 2007-02-11  Bruno Haible  <bruno@clisp.org>
70870
70871         Ensure O(n) worst-case complexity of c_strstr.
70872         * lib/c-strstr.c: Include stdbool.h, string.h.
70873         (knuth_morris_pratt): New function.
70874         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
70875         bookkeeping indicates that it's worth it.
70876         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
70877
70878         * lib/c-strstr.c: Complete rewrite for maintainability.
70879
70880         * modules/c-strstr-tests: New file.
70881         * tests/test-c-strstr.c: New file.
70882
70883 2007-02-11  Bruno Haible  <bruno@clisp.org>
70884
70885         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
70886         5.2.1 and earlier, whereby \055 was treated just like the range
70887         delimiter '-'.
70888         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
70889
70890 2007-02-08  Bruno Haible  <bruno@clisp.org>
70891
70892         * modules/regex (Depends-on): Add stdbool.
70893         Reported by Dalibor Topic <robilad@kaffe.org>.
70894
70895 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
70896
70897         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
70898         Prefer returning from main to exiting from it.
70899         Remove unnecessary parens after sizeof.
70900
70901 2007-02-05  Bruno Haible  <bruno@clisp.org>
70902
70903         New module mbssep.
70904         * modules/mbssep: New file.
70905         * lib/mbssep.c: New file.
70906         * lib/string_.h (strsep): Add a conditional link warning.
70907         (mbssep): New declaration.
70908         * m4/mbssep.m4: New file.
70909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70910         GNULIB_MBSSEP.
70911         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
70912         * MODULES.html.sh (Internationalization functions): Add mbssep.
70913
70914 2007-02-05  Bruno Haible  <bruno@clisp.org>
70915
70916         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
70917         Optimize search in case of 1 delimiter.
70918
70919 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70920
70921         * lib/acl.h: Include sys/types.h before sys/acl.h.
70922
70923 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
70924
70925         Merge upstream fix for glibc bugzilla #3957:
70926
70927         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
70928
70929         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
70930         bit for RE_HAT_LISTS_NOT_NEWLINE.
70931         (build_charclass_op): Remove bogus comment.
70932
70933 2007-02-05  Simon Josefsson  <simon@josefsson.org>
70934
70935         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
70936
70937 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
70938
70939         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
70940         * lib/memmem.c [!defined _LIBC]: Include config.h.
70941
70942 2007-02-04  Bruno Haible  <bruno@clisp.org>
70943
70944         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
70945         warning message.
70946
70947 2007-02-04  Bruno Haible  <bruno@clisp.org>
70948
70949         New module mbstok_r.
70950         * modules/mbstok_r: New file.
70951         * lib/mbstok_r.c: New file.
70952         * lib/string_.h (strtok_r): Change argument names to match the
70953         comments. Add a conditional link warning.
70954         (mbstok_r): New declaration.
70955         * m4/mbstok_r.m4: New file.
70956         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70957         GNULIB_MBSTOK_R.
70958         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
70959         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
70960
70961 2007-02-04  Bruno Haible  <bruno@clisp.org>
70962
70963         New module mbsspn.
70964         * modules/mbsspn: New file.
70965         * lib/mbsspn.c: New file.
70966         * lib/string_.h (strspn): Add a conditional link warning.
70967         (mbsspn): New declaration.
70968         * m4/mbsspn.m4: New file.
70969         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70970         GNULIB_MBSSPN.
70971         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
70972         * MODULES.html.sh (Internationalization functions): Add mbsspn.
70973
70974 2007-02-04  Bruno Haible  <bruno@clisp.org>
70975
70976         New module mbspbrk.
70977         * modules/mbspbrk: New file.
70978         * lib/mbspbrk.c: New file.
70979         * lib/string_.h (strpbrk): Add a conditional link warning.
70980         (mbspbrk): New declaration.
70981         * m4/mbspbrk.m4: New file.
70982         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70983         GNULIB_MBSPBRK.
70984         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
70985         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
70986
70987 2007-02-04  Bruno Haible  <bruno@clisp.org>
70988
70989         New module mbscspn.
70990         * modules/mbscspn: New file.
70991         * lib/mbscspn.c: New file.
70992         * lib/string_.h (strcspn): Add a conditional link warning.
70993         (mbscspn): New declaration.
70994         * m4/mbscspn.m4: New file.
70995         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
70996         GNULIB_MBSCSPN.
70997         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
70998         * MODULES.html.sh (Internationalization functions): Add mbscspn.
70999
71000 2007-02-04  Bruno Haible  <bruno@clisp.org>
71001
71002         New module mbscasestr, reduced goal of strcasestr.
71003         * modules/mbscasestr: New file.
71004         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
71005         (mbscasestr): Renamed from strcasestr.
71006         * lib/strcasestr.c: Don't include mbuiter.h.
71007         (strcasestr): Remove support for multibyte locales.
71008         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
71009         Change the conditional link warning.
71010         (mbscasestr): New declaration.
71011         * m4/mbscasestr.m4: New file.
71012         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
71013         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
71014         REPLACE_STRCASESTR.
71015         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
71016         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71017         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71018         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
71019         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
71020         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
71021         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
71022         (Depends-on): Remove mbuiter.
71023         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
71024
71025 2007-02-04  Bruno Haible  <bruno@clisp.org>
71026
71027         Simplify handling of strncasecmp.
71028         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
71029         the conditional link warning.
71030         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
71031         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
71032         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
71033         * modules/strcase (configure.ac): Don't invoke
71034         gl_STRING_MODULE_INDICATOR.
71035         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
71036
71037 2007-02-04  Bruno Haible  <bruno@clisp.org>
71038
71039         New module mbscasecmp, reduced goal of strcasecmp.
71040         * modules/mbscasecmp: New file.
71041         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
71042         (mbscasecmp): Renamed from strcasecmp.
71043         * lib/strcasecmp.c: Don't include mbuiter.h.
71044         (strcasecmp): Remove support for multibyte locales.
71045         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
71046         Change the conditional link warning.
71047         (mbscasecmp): New declaration.
71048         * m4/mbscasecmp.m4: New file.
71049         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
71050         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
71051         REPLACE_STRCASECMP.
71052         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
71053         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71054         GNULIB_MBSCASECMP.
71055         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
71056         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
71057         * modules/strcase (Files): Remove m4/mbrtowc.m4.
71058         (Depends-on): Remove mbuiter.
71059         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
71060
71061 2007-02-04  Bruno Haible  <bruno@clisp.org>
71062
71063         New module mbsstr. Remove module strstr.
71064         * modules/mbsstr: New file.
71065         * modules/strstr: Remove file.
71066         * lib/mbsstr.c: Renamed from lib/strstr.c.
71067         (mbsstr): Renamed from strstr.
71068         * lib/string_.h (strstr): Remove declaration. Change the conditional
71069         link warning.
71070         (mbsstr): New declaration.
71071         * m4/mbsstr.m4: New file.
71072         * m4/strstr.m4: Remove file.
71073         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
71074         REPLACE_STRSTR.
71075         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
71076         Don't initialize GNULIB_STRSTR.
71077         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
71078         substitute GNULIB_STRSTR and REPLACE_STRSTR.
71079         * MODULES.html.sh (Internationalization functions): Add mbsstr.
71080         (Support for systems lacking ANSI C 89): Remove strstr.
71081
71082 2007-02-04  Bruno Haible  <bruno@clisp.org>
71083
71084         New module mbsrchr.
71085         * modules/mbsrchr: New file.
71086         * lib/mbsrchr.c: New file.
71087         * lib/string_.h (strrchr): Add a conditional link warning.
71088         (mbsrchr): New declaration.
71089         * m4/mbsrchr.m4: New file.
71090         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71091         GNULIB_MBSRCHR.
71092         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
71093         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
71094
71095 2007-02-04  Bruno Haible  <bruno@clisp.org>
71096
71097         New module mbschr.
71098         * modules/mbschr: New file.
71099         * lib/mbschr.c: New file.
71100         * lib/string_.h (strchr): Add a conditional link warning.
71101         (mbschr): New declaration.
71102         * m4/mbschr.m4: New file.
71103         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71104         GNULIB_MBSCHR.
71105         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
71106         * MODULES.html.sh (Internationalization functions): Add mbschr.
71107
71108 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
71109
71110         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
71111
71112         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
71113
71114 2007-02-04  Bruno Haible  <bruno@clisp.org>
71115
71116         New module description section 'configure.ac-early'.
71117         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
71118         (func_get_autoconf_early_snippet): New function.
71119         (func_import, func_create_testdir): Use it. Remove special cases for
71120         modules 'extensions' and 'lock'.
71121         * modules/extensions (configure.ac-early): Require
71122         gl_USE_SYSTEM_EXTENSIONS.
71123         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
71124
71125 2007-02-04  Bruno Haible  <bruno@clisp.org>
71126
71127         Make use of gcj-4.3's -fsource and -ftarget option.
71128         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
71129         and if so try the options -fsource and -ftarget.
71130         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
71131         source_version, ftarget_option, target_version arguments.
71132         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
71133         (is_envjavac_oldgcj_14_14_usable): Renamed from
71134         is_envjavac_gcj_14_14_usable.
71135         (is_envjavac_oldgcj_14_13_usable): Renamed from
71136         is_envjavac_gcj_14_13_usable.
71137         (is_gcj_present): Update.
71138         (is_gcj_43, is_gcj43_usable): New functions.
71139         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
71140         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
71141         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
71142         try the options -fsource and -ftarget.
71143
71144 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
71145
71146         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
71147         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
71148         larger value.
71149
71150 2007-02-03  Jim Meyering  <jim@meyering.net>
71151
71152         Give tools a better chance to allocate space for very large buffers.
71153         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
71154
71155         Make pwd and readlink work also when run with an unreadable parent dir
71156         on systems with openat support.
71157         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
71158         provided getcwd function, even when we have openat support.
71159         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
71160
71161 2007-02-02  Bruno Haible  <bruno@clisp.org>
71162
71163         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71164         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
71165         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
71166         portability problems if one of these functions is only used on specific
71167         platforms.
71168         Reported by Paul Eggert.
71169
71170 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
71171
71172         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
71173         is causing more trouble than it's curing.
71174         * lib/regex_internal.h (__mempcpy): Remove.
71175         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
71176         (and make the code a tad smaller to boot).
71177         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
71178
71179 2007-02-02  Jim Meyering  <jim@meyering.net>
71180
71181         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
71182         section, not in the Makefile.am: one.
71183
71184 2007-02-02  Eric Blake  <ebb9@byu.net>
71185
71186         * lib/strchrnul.c: Always include config.h first.
71187
71188         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
71189         gnulib strstr is not necessary here.
71190
71191 2007-02-02  Simon Josefsson  <simon@josefsson.org>
71192
71193         * m4/socklen.m4: Fix typo.
71194
71195 2007-02-02  Eric Blake  <ebb9@byu.net>
71196
71197         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
71198         * modules/netinet_in (Makefile.am): Likewise.
71199
71200 2007-02-01  Bruno Haible  <bruno@clisp.org>
71201
71202         * lib/string_.h (GL_LINK_WARNING): New macro.
71203         (strcasecmp, strstr, strcasestr): If provided by the system,
71204         conditionally define as a macro that leads to a warning instead of to
71205         an error.
71206         (strncasecmp): Conditionally define as a macro that leads to a warning.
71207
71208 2007-02-01  Karl Berry  <karl@gnu.org>
71209
71210         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
71211
71212 2007-02-01  Bruno Haible  <bruno@clisp.org>
71213
71214         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
71215         renamings.
71216
71217 2007-02-01  Eric Blake  <ebb9@byu.net>
71218
71219         * modules/regex (Depends-on): Revert dependence on mempcpy.
71220         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
71221         module's definition of mempcpy.
71222         Reported by Paul Eggert.
71223
71224 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
71225
71226         * lib/string_.h: If the gnulib module XYZ is not present, undefine
71227         the symbol XYZ before redefining it.  This fixes a problem with
71228         programs that don't use XYZ, when compiled on systems that define
71229         XYZ to something else.
71230
71231 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
71232
71233         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
71234         occurs when "mkdir -m foo" creates a setgid directory that is (1)
71235         writeable to group or other and (2) is intended to have a special
71236         mode bit that is set or cleared.  In such a case, the directory
71237         should be neither group- nor other-writeable until the special
71238         mode bits are right.
71239
71240 2007-01-31  Eric Blake  <ebb9@byu.net>
71241
71242         * modules/mountlist (Depends-on): Add strstr.
71243
71244         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
71245         bug.
71246         * modules/string (Makefile.am): Remove redundant replacement.
71247         * modules/regex (Depends-on): Add mempcpy.
71248
71249 2007-01-31  Bruno Haible  <bruno@clisp.org>
71250
71251         New module description field 'Link'.
71252         * gnulib-tool (func_usage): Document --extract-link-directive.
71253         (sed_extract_prog): Recognize 'Link' directive.
71254         (func_get_link_directive): New function.
71255         (func_import): Show summary of link directives.
71256         Handle --extract-link-directive option.
71257         * modules/acl (Link): New section.
71258         * modules/clock-time (Link): New section.
71259         * modules/euidaccess (Link): New section.
71260         * modules/gettext (Link): New section.
71261         * modules/iconv (Link): New section.
71262         * modules/lock (Link): New section.
71263         * modules/nanosleep (Link): New section.
71264         * modules/readline (Link): New section.
71265
71266 2007-01-27  Bruno Haible  <bruno@clisp.org>
71267
71268         Enforce the use of gnulib modules for unportable <string.h> functions.
71269         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
71270         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
71271         (gl_HEADER_STRING_H_BODY): Require it.
71272         * lib/string_.h: If the gnulib module XYZ is not present, redefine
71273         the symbol XYZ to one that gives a link error.
71274         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
71275         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
71276         * modules/mempcpy (configure.ac): Likewise.
71277         * modules/memrchr (configure.ac): Likewise.
71278         * modules/stpcpy (configure.ac): Likewise.
71279         * modules/stpncpy (configure.ac): Likewise.
71280         * modules/strcase (configure.ac): Likewise.
71281         * modules/strcasestr (configure.ac): Likewise.
71282         * modules/strchrnul (configure.ac): Likewise.
71283         * modules/strdup (configure.ac): Likewise.
71284         * modules/strndup (configure.ac): Likewise.
71285         * modules/strnlen (configure.ac): Likewise.
71286         * modules/strpbrk (configure.ac): Likewise.
71287         * modules/strsep (configure.ac): Likewise.
71288         * modules/strstr (configure.ac): Likewise.
71289         * modules/strtok_r (configure.ac): Likewise.
71290
71291 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
71292
71293         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
71294
71295 2007-01-30  Jim Meyering  <jim@meyering.net>
71296
71297         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
71298
71299 2007-01-29  Bruno Haible  <bruno@clisp.org>
71300
71301         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
71302         * lib/execute.c: Likewise.
71303         * lib/pipe.c: Likewise.
71304         * lib/printf-args.h: Likewise.
71305         * lib/printf-args.c: Likewise.
71306         * lib/printf-parse.c: Likewise.
71307         * lib/vasnprintf.c: Likewise.
71308
71309 2007-01-29  Eric Blake  <ebb9@byu.net>
71310
71311         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
71312         declaration.
71313
71314 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
71315
71316         * lib/strptime.h (strptime): Use 'restrict' for args where
71317         POSIX requires this.
71318         * lib/strptime.c (strptime): Likewise.
71319         Change license notice from LGPL to GPL, since gnulib-tool will
71320         change this as needed.
71321         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
71322         defined.
71323         Include "strptime.h" first, to check interface.
71324         Do not #undef _LIBC and _NL_CURRENT.
71325         Do not include <stdlib.h>; no longer needed.
71326         Include "time_r.h" and declare ptime_locale_status
71327         only if _LIBC is not defined.
71328         (__P): Remove unused macro.
71329         (match_string): Bring back glibc version, but use it only if _LIBC
71330         is defined.
71331         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
71332         Remove unnecessary assertion and abort() call.
71333         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
71334         * m4/strptime.m4: Fix serial number comment.
71335         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
71336         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
71337         (Depends-on): Add time_r.
71338
71339 2007-01-29  Bruno Haible  <bruno@clisp.org>
71340
71341         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
71342         strptime.
71343         * modules/strptime (Depends-on): Add stdbool.
71344         * lib/strptime.h: Include <time.h> always. Add comments.
71345
71346 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
71347
71348         * modules/strptime: New file.
71349         * lib/strptime.h: New file.
71350         * lib/strptime.c: New file.
71351         * m4/strptime.m4: New file.
71352
71353 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
71354
71355         * MODULES.html.sh: New module mpsort.
71356         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
71357
71358         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
71359         a circularity problem with HP-UX ia64 reported by Bob Proulx in
71360         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
71361         All uses changed.
71362         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
71363         All uses changed.
71364         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
71365         to _Restrict_.
71366         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
71367         the parameter matches the prototype.
71368
71369 2007-01-28  Jim Meyering  <jim@meyering.net>
71370
71371         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
71372         sys/time.h here, reverting that part of the previous patch:
71373         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
71374
71375 2007-01-28  Bruno Haible  <bruno@clisp.org>
71376
71377         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
71378         value of $(SYS_TIME_H).
71379         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
71380         remove it conditionally, too. [added by Jim Meyering]
71381         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
71382         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
71383         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
71384         GETTIMEOFDAY_REPLACEMENT to 1.
71385
71386 2007-01-28  Bruno Haible  <bruno@clisp.org>
71387
71388         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
71389         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
71390         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
71391         Set UNISTD_H instead of UNISTD_H2.
71392         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
71393
71394 2007-01-28  Bruno Haible  <bruno@clisp.org>
71395
71396         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
71397         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
71398
71399 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71400
71401         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
71402         (func_create_testdir): Ensure C locale for `grep' and `tr'
71403         character ranges.
71404         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
71405         ACLOCAL_AMFLAGS parsing state machine.
71406
71407 2007-01-27  Bruno Haible  <bruno@clisp.org>
71408
71409         * modules/unistr/base: Update.
71410
71411 2007-01-27  Bruno Haible  <bruno@clisp.org>
71412
71413         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
71414         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
71415         * modules/unistr/u32-mbtouc-unsafe: Renamed from
71416         modules/unistr/u32-mbtouc.
71417         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
71418         * lib/unistr.h: Update.
71419         * lib/linebreak.c: Update.
71420         * modules/unistr/u32-mbtouc: Renamed from
71421         modules/unistr/u32-mbtouc-safe.
71422         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
71423         * lib/unistr.h: Update.
71424         * lib/unistr/u32-to-u8.c: Update.
71425         * lib/unistr/u32-to-u16.c: Update.
71426
71427 2007-01-27  Bruno Haible  <bruno@clisp.org>
71428
71429         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
71430         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
71431         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
71432         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
71433         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
71434         * modules/unistr/u16-mbtouc-unsafe: Renamed from
71435         modules/unistr/u16-mbtouc.
71436         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
71437         * lib/unistr.h: Update.
71438         * lib/linebreak.c: Update.
71439         * modules/linebreak: Update.
71440         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
71441         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
71442         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
71443         * modules/unistr/u16-mbtouc: Renamed from
71444         modules/unistr/u16-mbtouc-safe.
71445         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
71446         * lib/unistr.h: Update.
71447         * lib/unistr/u16-to-u8.c: Update.
71448         * modules/unistr/u16-to-u8: Update.
71449         * lib/unistr/u16-to-u32.c: Update.
71450         * modules/unistr/u16-to-u32: Update.
71451
71452 2007-01-27  Bruno Haible  <bruno@clisp.org>
71453
71454         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
71455         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
71456         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
71457         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
71458         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
71459         * modules/unistr/u8-mbtouc-unsafe: Renamed from
71460         modules/unistr/u8-mbtouc.
71461         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
71462         * lib/unistr.h: Update.
71463         * lib/striconveh.c: Update.
71464         * modules/striconveh: Update.
71465         * lib/linebreak.c: Update.
71466         * modules/linebreak: Update.
71467         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
71468         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
71469         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
71470         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
71471         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
71472         * lib/unistr.h: Update.
71473         * lib/striconveh.c: Update.
71474         * modules/striconveh: Update.
71475         * lib/unistr/u8-to-u16.c: Update.
71476         * modules/unistr/u8-to-u16: Update.
71477         * lib/unistr/u8-to-u32.c: Update.
71478         * modules/unistr/u8-to-u32: Update.
71479
71480 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71481
71482         Sync from Libtool.
71483         * lib/argz.c: Do not include strings.h nor memory.h, include
71484         string.h unconditionally.  Patch by Simon Josefsson.
71485
71486 2007-01-27  Bruno Haible  <bruno@clisp.org>
71487
71488         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
71489         from gl_HEADER_STRING_H_BODY.
71490         (gl_HEADER_STRING_H_BODY): Require it.
71491         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
71492         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
71493         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
71494         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
71495         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
71496         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
71497         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
71498         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
71499         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
71500         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
71501         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
71502         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
71503         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
71504         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
71505         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
71506
71507 2007-01-27  Bruno Haible  <bruno@clisp.org>
71508
71509         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
71510         check_PROGRAMS into noinst_PROGRAMS.
71511         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
71512         check_PROGRAMS in this case.
71513         (func_import): Set for_test to false.
71514         (func_create_testdir): Set for_test to true.
71515
71516 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
71517             Bruno Haible  <bruno@clisp.org>
71518
71519         * modules/strcasestr (Files): Remove lib/strcasestr.h.
71520         (Depends-on): Add string.
71521         (Includes): Use <string.h> instead of strcasestr.h.
71522         * modules/string (Makefile.am): Also substitute the value of
71523         REPLACE_STRCASESTR.
71524         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
71525         assume strcasestr is declared in <string.h> not <strings.h>. Also
71526         set REPLACE_STRCASESTR.
71527         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
71528         REPLACE_STRCASESTR.
71529         * lib/strcasestr.h: Remove file.
71530         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
71531         * lib/string_.h (strcasestr): New declaration.
71532
71533 2007-01-27  Bruno Haible  <bruno@clisp.org>
71534
71535         * lib/string_.h: Use 'extern'.
71536
71537 2007-01-27  Jim Meyering  <jim@meyering.net>
71538
71539         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
71540         of set-but-not-used local, "q".
71541
71542         * lib/mempcpy.c: Include <config.h> before <string.h>.
71543         This fixes a compilation error on HP-UX, due to the system's
71544         "restrict"-using mempcpy prototype.
71545
71546 2007-01-26  Bruno Haible  <bruno@clisp.org>
71547
71548         Small optimization.
71549         * lib/javacomp.c: Include c-strstr.h.
71550          (is_envjavac_gcj): Use c_strstr instead of strstr.
71551         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
71552
71553 2007-01-26  Bruno Haible  <bruno@clisp.org>
71554
71555         * MODULES.html.sh (Unicode string functions): Add the new modules.
71556
71557         * modules/uniconv/u32-strconv-to-locale: New file.
71558         * lib/uniconv/u32-strconv-to-locale.c: New file.
71559
71560         * modules/uniconv/u16-strconv-to-locale: New file.
71561         * lib/uniconv/u16-strconv-to-locale.c: New file.
71562
71563         * modules/uniconv/u8-strconv-to-locale: New file.
71564         * lib/uniconv/u8-strconv-to-locale.c: New file.
71565
71566         * modules/uniconv/u32-strconv-from-locale: New file.
71567         * lib/uniconv/u32-strconv-from-locale.c: New file.
71568
71569         * modules/uniconv/u16-strconv-from-locale: New file.
71570         * lib/uniconv/u16-strconv-from-locale.c: New file.
71571
71572         * modules/uniconv/u8-strconv-from-locale: New file.
71573         * lib/uniconv/u8-strconv-from-locale.c: New file.
71574
71575         * modules/uniconv/u32-strconv-to-enc: New file.
71576         * lib/uniconv/u32-strconv-to-enc.c: New file.
71577         * modules/uniconv/u32-strconv-to-enc-tests: New file.
71578         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
71579
71580         * modules/uniconv/u16-strconv-to-enc: New file.
71581         * lib/uniconv/u16-strconv-to-enc.c: New file.
71582         * lib/uniconv/u-strconv-to-enc.h: New file.
71583         * modules/uniconv/u16-strconv-to-enc-tests: New file.
71584         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
71585
71586         * modules/uniconv/u8-strconv-to-enc: New file.
71587         * lib/uniconv/u8-strconv-to-enc.c: New file.
71588         * modules/uniconv/u8-strconv-to-enc-tests: New file.
71589         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
71590
71591         * modules/uniconv/u32-strconv-from-enc: New file.
71592         * lib/uniconv/u32-strconv-from-enc.c: New file.
71593         * modules/uniconv/u32-strconv-from-enc-tests: New file.
71594         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
71595
71596         * modules/uniconv/u16-strconv-from-enc: New file.
71597         * lib/uniconv/u16-strconv-from-enc.c: New file.
71598         * modules/uniconv/u16-strconv-from-enc-tests: New file.
71599         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
71600
71601         * modules/uniconv/u8-strconv-from-enc: New file.
71602         * lib/uniconv/u8-strconv-from-enc.c: New file.
71603         * lib/uniconv/u-strconv-from-enc.h: New file.
71604         * modules/uniconv/u8-strconv-from-enc-tests: New file.
71605         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
71606
71607         * modules/uniconv/u32-conv-from-enc: New file.
71608         * lib/uniconv/u32-conv-from-enc.c: New file.
71609         * modules/uniconv/u32-conv-from-enc-tests: New file.
71610         * tests/uniconv/test-u32-conv-from-enc.c: New file.
71611
71612         * modules/uniconv/u16-conv-from-enc: New file.
71613         * lib/uniconv/u16-conv-from-enc.c: New file.
71614         * lib/uniconv/u-conv-from-enc.h: New file.
71615         * modules/uniconv/u16-conv-from-enc-tests: New file.
71616         * tests/uniconv/test-u16-conv-from-enc.c: New file.
71617
71618         * modules/uniconv/u8-conv-from-enc: New file.
71619         * lib/uniconv/u8-conv-from-enc.c: New file.
71620         * modules/uniconv/u8-conv-from-enc-tests: New file.
71621         * tests/uniconv/test-u8-conv-from-enc.c: New file.
71622
71623         * modules/uniconv/base: New file.
71624         * lib/uniconv.h: New file.
71625
71626 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
71627
71628         * doc/gnulib-tool.texi (Initial import): Update to match current
71629         behavior with strdup module.
71630         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
71631         * lib/memmem.h: Remove; all uses removed.  This is now done
71632         by <string.h>.
71633         * lib/mempcpy.h: Likewise.
71634         * lib/memrchr.h: Likewise.
71635         * lib/stpcpy.h: Likewise.
71636         * lib/stpncpy.h: Likewise.
71637         * lib/strcase.h: Likewise.
71638         * lib/strchrnul.h: Likewise.
71639         * lib/strdup.h: Likewise.
71640         * lib/strndup.h: Likewise.
71641         * lib/strnlen.h: Likewise.
71642         * lib/strpbrk.h: Likewise.
71643         * lib/strsep.h: Likewise.
71644         * lib/strstr.h: Likewise.
71645         * lib/strtok_r.h: Likewise.
71646         * lib/string_.h: New file.
71647         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
71648         Rely on <string.h> instead.
71649         * lib/canon-host.c: Likewise.
71650         * lib/chdir-long.c: Likewise.
71651         * lib/concatpath.c: Likewise.
71652         * lib/exclude.c: Likewise.
71653         * lib/fchdir.c: Likewise.
71654         * lib/getaddrinfo.c: Likewise.
71655         * lib/getcwd.c: Likewise.
71656         * lib/getsubopt.c: Likewise.
71657         * lib/glob.c: Likewise.
71658         * lib/hard-locale.c: Likewise.
71659         * lib/iconvme.c: Likewise.
71660         * lib/javacomp.c: Likewise.
71661         * lib/mempcpy.c: Likewise.
71662         * lib/memrchr.c: Likewise.
71663         * lib/regex_internal.h: Likewise.
71664         * lib/stpncpy.c: Likewise.
71665         * lib/strcasecmp.c: Likewise.
71666         * lib/strchrnul.c: Likewise.
71667         * lib/strdup.c: Likewise.
71668         * lib/striconv.c: Likewise.
71669         * lib/striconveh.c: Likewise.
71670         * lib/striconveha.c: Likewise.
71671         * lib/strncasecmp.c: Likewise.
71672         * lib/strndup.c: Likewise.
71673         * lib/strnlen.c: Likewise.
71674         * lib/strsep.c: Likewise.
71675         * lib/strstr.c: Likewise.
71676         * lib/strtok_r.c: Likewise.
71677         * lib/userspec.c: Likewise.
71678         * lib/w32spawn.h: Likewise.
71679         * lib/xstrndup.c: Likewise.
71680         * lib/mountlist.c (strstr): Remove decl.
71681         * m4/string_h.m4: New file.
71682         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
71683         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
71684         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
71685         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
71686         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
71687         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
71688         Set REPLACE_STRCASECMP if necessary.
71689         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
71690         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
71691         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
71692         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
71693         HAVE_DECL_STRDUP if necessary.
71694         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
71695         since gl_FUNC_STRNDUP does that now.
71696         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
71697         Check for decl here...
71698         (gl_PREREQ_STRNLEN): ... not here.
71699         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
71700         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
71701         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
71702         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
71703         necessary.
71704         * modules/string: New file.
71705         * modules/memmem (Files): Remove special-purpose include file.
71706         (Depends-on): Add string.
71707         (Include): Include <string.h>, not the removed file.
71708         * modules/mempcpy: Likewise.
71709         * modules/memrchr: Likewise.
71710         * modules/stpcpy: Likewise.
71711         * modules/stpncpy: Likewise.
71712         * modules/strcase: Likewise.
71713         * modules/strchrnul: Likewise.
71714         * modules/strdup: Likewise.
71715         * modules/strndup: Likewise.
71716         * modules/strnlen: Likewise.
71717         * modules/strpbrk: Likewise.
71718         * modules/strsep: Likewise.
71719         * modules/strstr: Likewise.
71720         * modules/strtok_r: Likewise.
71721         * tests/test-dirname.c: Don't include "strdup.h", since
71722         <string.h> now suffices.
71723         * tests/test-memmem.c: Don't include "memmem.h", since
71724         <string.h> now suffices.
71725
71726 2007-01-25  Bruno Haible  <bruno@clisp.org>
71727
71728         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
71729         *resultp is 0.
71730
71731         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
71732         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
71733         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
71734         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
71735
71736         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
71737         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
71738         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
71739         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
71740         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
71741         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
71742
71743 2007-01-24  Bruno Haible  <bruno@clisp.org>
71744
71745         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
71746         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
71747         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
71748         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
71749         gl_FUNC_FTS_CORE.
71750         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
71751         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
71752         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
71753         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
71754         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
71755         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
71756         gl_FUNC_FCHOWNAT.
71757         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
71758         gl_FUNC_STRFTIME.
71759         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
71760         Reported by Ralf Wildenhues.
71761
71762 2007-01-24  Bruno Haible  <bruno@clisp.org>
71763
71764         Drop AC_REQUIRE calls that are redundant with the module dependencies.
71765         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
71766         gl_GETADDRINFO.
71767         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
71768         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
71769         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
71770
71771 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
71772
71773         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
71774         Don't use 'exit'; just return from 'main'.
71775         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
71776
71777         * lib/fnmatch_.h: Readjust white space and comments to match
71778         glibc, to avoid spurious diffs.
71779
71780 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71781
71782         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
71783         2004-12-01 change by Jakub Jelinek, since this code won't compile
71784         if !LIBC.  Problem reported by Bob Proulx.
71785
71786 2007-01-23  Bruno Haible  <bruno@clisp.org>
71787
71788         * lib/striconveh.c: Include c-strcaseeq.h.
71789         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
71790         * modules/striconveh (Depends-on): Add c-strcaseeq.
71791
71792 2007-01-23  Bruno Haible  <bruno@clisp.org>
71793
71794         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
71795
71796         * modules/c-strcaseeq: New file.
71797         * lib/c-strcaseeq.h: New file.
71798
71799         * modules/streq: New file.
71800         * lib/streq.h: New file.
71801
71802 2007-01-23  Bruno Haible  <bruno@clisp.org>
71803
71804         * modules/striconveha-tests: New file.
71805         * tests/test-striconveha.c: New file.
71806
71807         * lib/striconveha.h: Include <stdbool.h>.
71808         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
71809         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
71810         (mem_iconveha_notranslit): Renamed from mem_iconveha.
71811         (mem_iconveha): New function.
71812         (str_iconveha_notranslit): Renamed from str_iconveha.
71813         (str_iconveha): New function.
71814         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
71815         c-strcase.
71816
71817 2007-01-23  Bruno Haible  <bruno@clisp.org>
71818
71819         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
71820         encodings without forgiving before trying any encoding with handler.
71821         (str_iconveha): Try all encodings without forgiving before trying any
71822         encoding with handler.
71823
71824 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
71825
71826         Import the following changes from libc.
71827
71828         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
71829
71830         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
71831
71832         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
71833
71834         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
71835         normal_bracket label.
71836
71837         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
71838
71839         [BZ #361]
71840         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
71841         to normal_bracket after fetching the next character.
71842
71843 2007-01-22  Bruno Haible  <bruno@clisp.org>
71844
71845         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
71846         argument.
71847         * lib/striconveh.c (iconv_carefully_1): New function.
71848         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
71849         argument.
71850         (str_cd_iconveh): Update.
71851         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
71852         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
71853         * tests/test-striconveh.c (MAGIC): New macro.
71854         (new_offsets): New function.
71855         (main): Test call with and without offsets.
71856
71857 2007-01-22  Bruno Haible  <bruno@clisp.org>
71858
71859         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
71860         * modules/sys_select (Makefile.am): Likewise.
71861         * modules/sys_socket (Makefile.am): Likewise.
71862         * modules/sys_time (Makefile.am): Likewise.
71863
71864 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
71865
71866         * modules/gettimeofday (License): Change from GPL to LGPL, since
71867         gettimeofday is a library function.
71868
71869 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
71870
71871         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
71872
71873 2007-01-21  Bruno Haible  <bruno@clisp.org>
71874
71875         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
71876
71877 2007-01-21  Bruno Haible  <bruno@clisp.org>
71878
71879         * modules/striconveha: New file.
71880         * lib/striconveha.h: New file.
71881         * lib/striconveha.c: New file.
71882         * MODULES.html.sh (Internationalization functions): Add striconveha.
71883         * lib/striconv.c (str_iconv): Optimize the case of an empty input
71884         string.
71885         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
71886
71887 2007-01-21  Bruno Haible  <bruno@clisp.org>
71888
71889         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
71890         * lib/striconveh.c (str_iconveh): Likewise.
71891
71892 2007-01-21  Bruno Haible  <bruno@clisp.org>
71893
71894         * lib/striconveh.h (mem_iconveh): New declaration.
71895         * lib/striconveh.c (mem_iconveh): New function.
71896         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
71897
71898 2007-01-21  Bruno Haible  <bruno@clisp.org>
71899
71900         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
71901
71902         * lib/striconveh.h (mem_cd_iconveh): Change specification.
71903         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
71904         original result buffer.
71905         (str_cd_iconveh): Update.
71906         * tests/test-striconveh.c (main): Update.
71907
71908         * lib/striconv.h (mem_cd_iconv): Change specification.
71909         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
71910         result buffer.
71911         (str_cd_iconv): Update.
71912         * tests/test-striconv.c (main): Update.
71913
71914 2007-01-21  Bruno Haible  <bruno@clisp.org>
71915
71916         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
71917
71918 2007-01-20  Jim Meyering  <jim@meyering.net>
71919
71920         * lib/userspec.c (parse_with_separator): If a user or group string
71921         starts with "+", skip the corresponding name-to-ID look-up, since
71922         such a look-up must fail: user and group names may not include "+".
71923
71924 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
71925
71926         * lib/poll.c: Include sys/time.h and time.h unconditionally,
71927         since we now assume the sys_time module.
71928         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
71929         check for sys/time.h; no longer needed.
71930         * modules/poll (Depends-on): Depend on sys_time.
71931
71932 2007-01-18  Bruno Haible  <bruno@clisp.org>
71933
71934         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
71935         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
71936
71937         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
71938         gettimeofday.
71939
71940         * tests/test-gettimeofday.c: Include <time.h>.
71941         (dummy): Remove variable.
71942
71943         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
71944         gl_HEADER_SYS_TIME_H.
71945         (gl_HEADER_SYS_TIME_H): New macro.
71946
71947         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
71948         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71949         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
71950         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
71951         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71952         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
71953         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
71954         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71955         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
71956         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
71957         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
71958
71959         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
71960         last change; it caused a compilation error when cross-compiling to
71961         Cygwin.
71962
71963 2007-01-18  Jim Meyering  <jim@meyering.net>
71964
71965         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
71966         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
71967         than the race-prone "test -d sys || mkdir sys".
71968         (configure.ac): Use AC_PROG_MKDIR_P.
71969         * modules/sys_select: Likewise.
71970         * modules/sys_socket: Likewise.
71971         * modules/sys_time: Likewise.
71972
71973 2007-01-18  Eric Blake  <ebb9@byu.net>
71974
71975         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
71976         replace gettimeofday.
71977         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
71978         name, to avoid infinite recursion.
71979
71980 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
71981
71982         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
71983         module sys_time.
71984         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
71985         assume timespec.h defines struct timeval.
71986         * lib/settime.c: Likewise.
71987         * lib/utimens.c: Likewise.
71988         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
71989         since we now assume the gettimeofday module.
71990         * lib/tempname.c (__gen_tempname): Likewise.
71991         * lib/gettimeofday.h: Remove.
71992         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
71993         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
71994         Include <time.h>, for 'time()'.
71995         (localtime_buffer_addr): Also use this workaround if
71996         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
71997         to simplify the uses.  All uses changed.
71998         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
71999         that #undef is inside {}, and 'const' follows type name consistently.
72000         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
72001         (gettimeofday): Do not use the maximum possible value for
72002         tv->tv_usec, since that might break usages other than ls.c.
72003         Instead, we'll leave ls.c alone.  This undoes today's patch
72004         by Bruno.  Add a compile-time warning for 1s-clock resolution;
72005         we've never observed the problem but might as well keep the
72006         canary.
72007         * lib/nanosleep.c: Include timespec.h first, for interface check.
72008         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
72009         now assume the sys_time module.
72010         * lib/tempname.c: Likewise.
72011         * lib/timespec.h: Likewise.
72012         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
72013         needed.
72014         * lib/strftime.c: Likewise.
72015         * lib/timespec.h: Likewise.
72016         * lib/posixtm.c: Include posixtm.h first, for interface check.
72017         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
72018         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
72019         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
72020         * lib/sys_time_.h: New file.
72021         * lib/timespec.h (struct timespec): Use long int, not long.
72022         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72023         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
72024         Remove obsolescent call to AC_HEADER_TIME.
72025         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
72026         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
72027         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
72028         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
72029         Likewise.
72030         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
72031         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
72032         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
72033         into the sys_time module.  Check for gettimeofday just once.
72034         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
72035         for gettimeofday signature to just check the signature.  Merely
72036         compile it, since linking doesn't test signature.  Improve test for
72037         whether gettimeofday.o is actually needed.
72038         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
72039         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
72040         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
72041         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72042         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
72043         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
72044         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
72045         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
72046         than worrying about sys/time.h.
72047         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72048         Don't bother worrying about TIME_WITH_SYS_TIME.
72049         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
72050         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
72051         * m4/sys_time_h.m4: New file.
72052         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
72053         Don't include sys/time.h.  Return from main rather than exiting.
72054         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
72055         all uses changed.
72056         * modules/gethrxtime (Depends-on): Add sys_time.
72057         * modules/gettime (Depends-on): Likewise.
72058         * modules/gettimeofday (Depends-on): Likewise.
72059         * modules/nanosleep (Depends-on): Likewise.
72060         * modules/settime (Depends-on): Likewise.
72061         * modules/tempname (Depends-on): Likewise.
72062         * modules/utimens (Depends-on): Likewise.
72063         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
72064         (Include): Change back to <sys/time.h>.
72065         (Maintainer): Add self.
72066         * modules/sys_time: New file.
72067         * modules/tempname (Depends-on): Add gettimeofday.
72068         * tests/test-gettimeofday.c: Include <sys/time.h>
72069         rather than gettimeofday.h.
72070
72071 2007-01-17  Bruno Haible  <bruno@clisp.org>
72072
72073         * gnulib-tool (func_get_license): Revert last patch. Instead, let
72074         the license default to GPL.
72075         (func_create_testdir): Don't complain if a module is LGPL and its
72076         tests module depends on GPLed modules.
72077
72078 2007-01-17  Bruno Haible  <bruno@clisp.org>
72079
72080         * lib/gettimeofday.c (gettimeofday): Add code for the case
72081         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
72082         maximum possible value for tv->tv_usec, rather than the minimum one.
72083
72084 2005-10-08  Martin Lambers  <marlam@marlam.de>
72085 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
72086 2007-01-16  Bruno Haible  <bruno@clisp.org>
72087
72088         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
72089         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
72090         gl_FUNC_GETTIMEOFDAY.
72091         (Include): Add gettimeofday.h.
72092         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
72093         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
72094         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
72095         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
72096         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
72097         * lib/gettimeofday.h: New file.
72098         * lib/gettimeofday.c: Include <sys/timeb.h>.
72099         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
72100         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
72101         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
72102         fall back on time().
72103
72104         * tests/test-gettimeofday.c: New file.
72105         * modules/gettimeofday-tests: New file.
72106
72107 2007-01-16  Eric Blake  <ebb9@byu.net>
72108
72109         * modules/fnmatch (Depends-on): Depend on wchar.
72110         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
72111         * m4/fnmatch.m4: Likewise.
72112         * modules/mbchar (Makefile.am): Assume <wchar.h>.
72113         * m4/mbchar.m4: Likewise.
72114         * modules/mbswidth (Depends-on): Depend on wchar.
72115         * lib/mbswidth.c: Assume <wchar.h>.
72116         * m4/mbswidth.m4: Likewise.
72117         * modules/quotearg (Depends-on): Depend on wchar.
72118         * lib/quotearg.c: Assume <wchar.h>.
72119         * m4/quotearg.m4: Likewise.
72120         * modules/regex (Depends-on): Depend on wchar.
72121         * lib/regex_internal.h: Assume <wchar.h>.
72122         * m4/regex.m4: Likewise.
72123         * modules/stdint (Depends-on): Depend on wchar.
72124         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
72125         * m4/stdint.m4: Likewise.
72126         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
72127         * modules/strftime (Depends-on): Depend on wchar.
72128         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
72129         * modules/strtol (Depends-on): Depend on wchar.
72130         * lib/strtol.c: Assume <wchar.h>.
72131         * modules/wcwidth (Depends-on): Depend on wchar.
72132         * lib/wcwidth.h: Assume <wchar.h>.
72133         * m4/wcwidth.m4: Likewise.
72134
72135 2007-01-16  Bruno Haible  <bruno@clisp.org>
72136
72137         * modules/csharpexec-script: New, created from...
72138         * modules/csharpexec: ... this.
72139
72140 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
72141
72142         * modules/javaexec-script: New, created from...
72143         * modules/javaexec: ... this.
72144
72145 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
72146
72147         * modules/poll (Dependencies): Add sys_select.
72148
72149 2007-01-15  Jim Meyering  <jim@meyering.net>
72150
72151         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
72152         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
72153         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
72154         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
72155
72156 2007-01-15  Bruno Haible  <bruno@clisp.org>
72157
72158         * modules/striconveh: New file.
72159         * lib/striconveh.h: New file.
72160         * lib/striconveh.c: New file.
72161         * MODULES.html.sh (Internationalization functions): Add striconveh.
72162
72163         * modules/striconveh-tests: New file.
72164         * tests/test-striconveh.c: New file.
72165
72166 2007-01-15  Bruno Haible  <bruno@clisp.org>
72167
72168         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
72169         not from GNU libiconv or GNU libc.
72170
72171 2007-01-15  Bruno Haible  <bruno@clisp.org>
72172
72173         * doc/gnulib-intro.texi (Copyright): Explain the different license
72174         terms for module descriptions, autoconf macros, tests, documentation.
72175
72176 2007-01-14  Bruno Haible  <bruno@clisp.org>
72177
72178         * modules/striconv-tests: New file.
72179         * tests/test-striconv.c: New file.
72180
72181 2007-01-14  Bruno Haible  <bruno@clisp.org>
72182
72183         * modules/iconv-tests: New file.
72184         * tests/test-iconv.c: New file.
72185
72186 2007-01-14  Bruno Haible  <bruno@clisp.org>
72187
72188         * gnulib-tool (func_get_license): For test modules, use the license of
72189         the main module.
72190
72191 2007-01-14  Bruno Haible  <bruno@clisp.org>
72192
72193         * modules/iconv (Include): Clarify that <iconv.h> can only be included
72194         if iconv is found to exist.
72195
72196 2007-01-14  Bruno Haible  <bruno@clisp.org>
72197
72198         * modules/c-ctype-tests: New file.
72199         * tests/test-c-ctype.c: New file.
72200
72201 2007-01-14  Bruno Haible  <bruno@clisp.org>
72202
72203         * modules/binary-io-tests: New file.
72204         * tests/test-binary-io.sh: New file.
72205         * tests/test-binary-io.c: New file.
72206
72207 2007-01-14  Bruno Haible  <bruno@clisp.org>
72208
72209         * modules/array-oset-tests: New file.
72210         * tests/test-array_oset.c: New file.
72211
72212 2007-01-14  Bruno Haible  <bruno@clisp.org>
72213
72214         * modules/array-list-tests: New file.
72215         * tests/test-array_list.c: New file.
72216
72217 2007-01-14  Bruno Haible  <bruno@clisp.org>
72218
72219         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
72220         and make.
72221         Reported by Simon Josefsson in
72222         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
72223
72224 2007-01-14  Bruno Haible  <bruno@clisp.org>
72225
72226         * modules/allocsa-tests: New file.
72227         * tests/test-allocsa.c: New file.
72228
72229 2007-01-14  Bruno Haible  <bruno@clisp.org>
72230
72231         * modules/fchdir (Depends-on): Add absolute-header.
72232         * modules/unistd (Depends-on): Likewise.
72233
72234 2006-12-30  Bruno Haible  <bruno@clisp.org>
72235
72236         * modules/fchdir: New file.
72237         * modules/unistd (Files): Add lib/unistd_.h.
72238         (Makefile.am): Generate unistd.h from unistd_.h.
72239         * lib/fchdir.c: New file.
72240         * lib/dirent_.h: New file.
72241         * lib/unistd_.h: New file.
72242         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
72243         * m4/fchdir.m4: New file.
72244         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
72245         (gl_HEADER_UNISTD): Invoke it.
72246         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
72247         function.
72248         * lib/backupfile.c (opendir, closedir): Undefine.
72249         * lib/chown.c (open, close): Undefine.
72250         * lib/clean-temp.c (open, close): Undefine.
72251         * lib/copy-file.c (open, close): Undefine.
72252         * lib/execute.c (open, close): Undefine.
72253         * lib/fsusage.c (open, close): Undefine.
72254         * lib/gc-gnulib.c (open, close): Undefine.
72255         * lib/getcwd.c (opendir, closedir): Undefine.
72256         * lib/glob.c (opendir, closedir): Undefine.
72257         * lib/javacomp.c (open, close): Undefine.
72258         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
72259         * lib/openat-proc.c (open, close): Undefine.
72260         * lib/pagealign_alloc.c (open, close): Undefine.
72261         * lib/pipe.c (open, close): Undefine.
72262         * lib/progreloc.c (open, close): Undefine.
72263         * lib/savedir.c (opendir, closedir): Undefine.
72264         * lib/utime.c (open, close): Undefine.
72265         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
72266
72267 2007-01-10  Bruno Haible  <bruno@clisp.org>
72268
72269         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
72270
72271 2007-01-12  Eric Blake  <ebb9@byu.net>
72272
72273         Provide a robust <wchar.h>.  Further simplifications are now
72274         possible in other modules, but not included here.
72275         * modules/wchar: New module.
72276         * m4/wchar.m4: New file.
72277         * lib/wchar_.h: Likewise.
72278         * modules/mbchar (Depends-on): Depend on wchar, as the first use
72279         of the new module.
72280         * MODULES.html.sh (Extended multibyte and wide character utilities):
72281         New section.
72282
72283 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
72284
72285         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
72286         to a reasonable default for memory allocation.
72287         (xreadlink): Don't allocate a huge buffer, to work around a buggy
72288         file system that reports garbage st_size values for symlinks.
72289         Problem reported by Liyang Hu.
72290
72291 2007-01-11  Simon Josefsson  <simon@josefsson.org>
72292
72293         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
72294         Emacs .#* auto-save files).
72295
72296 2007-01-11  Bruno Haible  <bruno@clisp.org>
72297
72298         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
72299         directory.
72300
72301 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
72302
72303         Use @...@ consistently in lib/wctype_.h.
72304         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
72305         on it being set to 1 or 0.
72306         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
72307         go back to AC_SUBSTing it.
72308         * modules/wctype (Makefile.am): Undo previous change.
72309
72310 2007-01-10  Eric Blake  <ebb9@byu.net>
72311
72312         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
72313         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
72314         * modules/wctype (Makefile.am): Likewise.
72315         Reported by Chris McGuire.
72316
72317 2007-01-10  Jim Meyering  <jim@meyering.net>
72318
72319         fts.c: a small readability/maintainability improvement
72320         * lib/fts.c (fts_read): Make this code slightly more readable and
72321         maintainable by hoisting the "sp->fts_cur = p" assignments to
72322         immediately follow the statements that set P.  Derived from
72323         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
72324
72325 2007-01-10  Eric Blake  <ebb9@byu.net>
72326
72327         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
72328         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
72329         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72330         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
72331         Reported by Chris McGuire.
72332
72333 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72334
72335         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
72336         in sed script.
72337
72338 2007-01-09  Bruno Haible  <bruno@clisp.org>
72339
72340         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
72341         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
72342         variables.
72343         (func_module): Use them.
72344
72345 2007-01-09  Bruno Haible  <bruno@clisp.org>
72346
72347         * modules/unistr/base: New file.
72348         * lib/unistr.h: New file.
72349
72350         * modules/unistr/u8-to-u16: New file.
72351         * lib/unistr/u8-to-u16.c: New file.
72352
72353         * modules/unistr/u8-to-u32: New file.
72354         * lib/unistr/u8-to-u32.c: New file.
72355
72356         * modules/unistr/u16-to-u8: New file.
72357         * lib/unistr/u16-to-u8.c: New file.
72358
72359         * modules/unistr/u16-to-u32: New file.
72360         * lib/unistr/u16-to-u32.c: New file.
72361
72362         * modules/unistr/u32-to-u8: New file.
72363         * lib/unistr/u32-to-u8.c: New file.
72364
72365         * modules/unistr/u32-to-u16: New file.
72366         * lib/unistr/u32-to-u16.c: New file.
72367
72368         * modules/unistr/u8-check: New file.
72369         * modules/unistr/u16-check: New file.
72370         * modules/unistr/u32-check: New file.
72371         * lib/unistr/u8-check.c: New file.
72372         * lib/unistr/u16-check.c: New file.
72373         * lib/unistr/u32-check.c: New file.
72374
72375         * modules/unistr/u8-chr: New file.
72376         * modules/unistr/u16-chr: New file.
72377         * modules/unistr/u32-chr: New file.
72378         * lib/unistr/u8-chr.c: New file.
72379         * lib/unistr/u16-chr.c: New file.
72380         * lib/unistr/u32-chr.c: New file.
72381
72382         * modules/unistr/u8-cmp: New file.
72383         * modules/unistr/u16-cmp: New file.
72384         * modules/unistr/u32-cmp: New file.
72385         * lib/unistr/u8-cmp.c: New file.
72386         * lib/unistr/u16-cmp.c: New file.
72387         * lib/unistr/u32-cmp.c: New file.
72388
72389         * modules/unistr/u8-cpy: New file.
72390         * modules/unistr/u16-cpy: New file.
72391         * modules/unistr/u32-cpy: New file.
72392         * lib/unistr/u8-cpy.c: New file.
72393         * lib/unistr/u16-cpy.c: New file.
72394         * lib/unistr/u32-cpy.c: New file.
72395         * lib/unistr/u-cpy.h: New file.
72396
72397         * modules/unistr/u8-cpy-alloc: New file.
72398         * modules/unistr/u16-cpy-alloc: New file.
72399         * modules/unistr/u32-cpy-alloc: New file.
72400         * lib/unistr/u8-cpy-alloc.c: New file.
72401         * lib/unistr/u16-cpy-alloc.c: New file.
72402         * lib/unistr/u32-cpy-alloc.c: New file.
72403         * lib/unistr/u-cpy-alloc.h: New file.
72404
72405         * modules/unistr/u8-endswith: New file.
72406         * modules/unistr/u16-endswith: New file.
72407         * modules/unistr/u32-endswith: New file.
72408         * lib/unistr/u8-endswith.c: New file.
72409         * lib/unistr/u16-endswith.c: New file.
72410         * lib/unistr/u32-endswith.c: New file.
72411         * lib/unistr/u-endswith.h: New file.
72412
72413         * modules/unistr/u8-mblen: New file.
72414         * modules/unistr/u16-mblen: New file.
72415         * modules/unistr/u32-mblen: New file.
72416         * lib/unistr/u8-mblen.c: New file.
72417         * lib/unistr/u16-mblen.c: New file.
72418         * lib/unistr/u32-mblen.c: New file.
72419
72420         * modules/unistr/u8-mbtouc: New file.
72421         * modules/unistr/u16-mbtouc: New file.
72422         * modules/unistr/u32-mbtouc: New file.
72423         * lib/unistr/u8-mbtouc.c: New file.
72424         * lib/unistr/u16-mbtouc.c: New file.
72425         * lib/unistr/u32-mbtouc.c: New file.
72426
72427         * modules/unistr/u8-mbtouc-safe: New file.
72428         * modules/unistr/u16-mbtouc-safe: New file.
72429         * modules/unistr/u32-mbtouc-safe: New file.
72430         * lib/unistr/u8-mbtouc-safe.c: New file.
72431         * lib/unistr/u16-mbtouc-safe.c: New file.
72432         * lib/unistr/u32-mbtouc-safe.c: New file.
72433
72434         * modules/unistr/u8-move: New file.
72435         * modules/unistr/u16-move: New file.
72436         * modules/unistr/u32-move: New file.
72437         * lib/unistr/u8-move.c: New file.
72438         * lib/unistr/u16-move.c: New file.
72439         * lib/unistr/u32-move.c: New file.
72440         * lib/unistr/u-move.h: New file.
72441
72442         * modules/unistr/u8-next: New file.
72443         * modules/unistr/u16-next: New file.
72444         * modules/unistr/u32-next: New file.
72445         * lib/unistr/u8-next.c: New file.
72446         * lib/unistr/u16-next.c: New file.
72447         * lib/unistr/u32-next.c: New file.
72448
72449         * modules/unistr/u8-prev: New file.
72450         * modules/unistr/u16-prev: New file.
72451         * modules/unistr/u32-prev: New file.
72452         * lib/unistr/u8-prev.c: New file.
72453         * lib/unistr/u16-prev.c: New file.
72454         * lib/unistr/u32-prev.c: New file.
72455
72456         * modules/unistr/u8-set: New file.
72457         * modules/unistr/u16-set: New file.
72458         * modules/unistr/u32-set: New file.
72459         * lib/unistr/u8-set.c: New file.
72460         * lib/unistr/u16-set.c: New file.
72461         * lib/unistr/u32-set.c: New file.
72462         * lib/unistr/u-set.h: New file.
72463
72464         * modules/unistr/u8-startswith: New file.
72465         * modules/unistr/u16-startswith: New file.
72466         * modules/unistr/u32-startswith: New file.
72467         * lib/unistr/u8-startswith.c: New file.
72468         * lib/unistr/u16-startswith.c: New file.
72469         * lib/unistr/u32-startswith.c: New file.
72470         * lib/unistr/u-startswith.h: New file.
72471
72472         * modules/unistr/u8-stpcpy: New file.
72473         * modules/unistr/u16-stpcpy: New file.
72474         * modules/unistr/u32-stpcpy: New file.
72475         * lib/unistr/u8-stpcpy.c: New file.
72476         * lib/unistr/u16-stpcpy.c: New file.
72477         * lib/unistr/u32-stpcpy.c: New file.
72478         * lib/unistr/u-stpcpy.h: New file.
72479
72480         * modules/unistr/u8-stpncpy: New file.
72481         * modules/unistr/u16-stpncpy: New file.
72482         * modules/unistr/u32-stpncpy: New file.
72483         * lib/unistr/u8-stpncpy.c: New file.
72484         * lib/unistr/u16-stpncpy.c: New file.
72485         * lib/unistr/u32-stpncpy.c: New file.
72486         * lib/unistr/u-stpncpy.h: New file.
72487
72488         * modules/unistr/u8-strcat: New file.
72489         * modules/unistr/u16-strcat: New file.
72490         * modules/unistr/u32-strcat: New file.
72491         * lib/unistr/u8-strcat.c: New file.
72492         * lib/unistr/u16-strcat.c: New file.
72493         * lib/unistr/u32-strcat.c: New file.
72494         * lib/unistr/u-strcat.h: New file.
72495
72496         * modules/unistr/u8-strchr: New file.
72497         * modules/unistr/u16-strchr: New file.
72498         * modules/unistr/u32-strchr: New file.
72499         * lib/unistr/u8-strchr.c: New file.
72500         * lib/unistr/u16-strchr.c: New file.
72501         * lib/unistr/u32-strchr.c: New file.
72502
72503         * modules/unistr/u8-strcmp: New file.
72504         * modules/unistr/u16-strcmp: New file.
72505         * modules/unistr/u32-strcmp: New file.
72506         * lib/unistr/u8-strcmp.c: New file.
72507         * lib/unistr/u16-strcmp.c: New file.
72508         * lib/unistr/u32-strcmp.c: New file.
72509
72510         * modules/unistr/u8-strcpy: New file.
72511         * modules/unistr/u16-strcpy: New file.
72512         * modules/unistr/u32-strcpy: New file.
72513         * lib/unistr/u8-strcpy.c: New file.
72514         * lib/unistr/u16-strcpy.c: New file.
72515         * lib/unistr/u32-strcpy.c: New file.
72516         * lib/unistr/u-strcpy.h: New file.
72517
72518         * modules/unistr/u8-strcspn: New file.
72519         * modules/unistr/u16-strcspn: New file.
72520         * modules/unistr/u32-strcspn: New file.
72521         * lib/unistr/u8-strcspn.c: New file.
72522         * lib/unistr/u16-strcspn.c: New file.
72523         * lib/unistr/u32-strcspn.c: New file.
72524         * lib/unistr/u-strcspn.h: New file.
72525
72526         * modules/unistr/u8-strdup: New file.
72527         * modules/unistr/u16-strdup: New file.
72528         * modules/unistr/u32-strdup: New file.
72529         * lib/unistr/u8-strdup.c: New file.
72530         * lib/unistr/u16-strdup.c: New file.
72531         * lib/unistr/u32-strdup.c: New file.
72532         * lib/unistr/u-strdup.h: New file.
72533
72534         * modules/unistr/u8-strlen: New file.
72535         * modules/unistr/u16-strlen: New file.
72536         * modules/unistr/u32-strlen: New file.
72537         * lib/unistr/u8-strlen.c: New file.
72538         * lib/unistr/u16-strlen.c: New file.
72539         * lib/unistr/u32-strlen.c: New file.
72540         * lib/unistr/u-strlen.h: New file.
72541
72542         * modules/unistr/u8-strmblen: New file.
72543         * modules/unistr/u16-strmblen: New file.
72544         * modules/unistr/u32-strmblen: New file.
72545         * lib/unistr/u8-strmblen.c: New file.
72546         * lib/unistr/u16-strmblen.c: New file.
72547         * lib/unistr/u32-strmblen.c: New file.
72548
72549         * modules/unistr/u8-strmbtouc: New file.
72550         * modules/unistr/u16-strmbtouc: New file.
72551         * modules/unistr/u32-strmbtouc: New file.
72552         * lib/unistr/u8-strmbtouc.c: New file.
72553         * lib/unistr/u16-strmbtouc.c: New file.
72554         * lib/unistr/u32-strmbtouc.c: New file.
72555
72556         * modules/unistr/u8-strncat: New file.
72557         * modules/unistr/u16-strncat: New file.
72558         * modules/unistr/u32-strncat: New file.
72559         * lib/unistr/u8-strncat.c: New file.
72560         * lib/unistr/u16-strncat.c: New file.
72561         * lib/unistr/u32-strncat.c: New file.
72562         * lib/unistr/u-strncat.h: New file.
72563
72564         * modules/unistr/u8-strncmp: New file.
72565         * modules/unistr/u16-strncmp: New file.
72566         * modules/unistr/u32-strncmp: New file.
72567         * lib/unistr/u8-strncmp.c: New file.
72568         * lib/unistr/u16-strncmp.c: New file.
72569         * lib/unistr/u32-strncmp.c: New file.
72570
72571         * modules/unistr/u8-strncpy: New file.
72572         * modules/unistr/u16-strncpy: New file.
72573         * modules/unistr/u32-strncpy: New file.
72574         * lib/unistr/u8-strncpy.c: New file.
72575         * lib/unistr/u16-strncpy.c: New file.
72576         * lib/unistr/u32-strncpy.c: New file.
72577         * lib/unistr/u-strncpy.h: New file.
72578
72579         * modules/unistr/u8-strnlen: New file.
72580         * modules/unistr/u16-strnlen: New file.
72581         * modules/unistr/u32-strnlen: New file.
72582         * lib/unistr/u8-strnlen.c: New file.
72583         * lib/unistr/u16-strnlen.c: New file.
72584         * lib/unistr/u32-strnlen.c: New file.
72585         * lib/unistr/u-strnlen.h: New file.
72586
72587         * modules/unistr/u8-strpbrk: New file.
72588         * modules/unistr/u16-strpbrk: New file.
72589         * modules/unistr/u32-strpbrk: New file.
72590         * lib/unistr/u8-strpbrk.c: New file.
72591         * lib/unistr/u16-strpbrk.c: New file.
72592         * lib/unistr/u32-strpbrk.c: New file.
72593         * lib/unistr/u-strpbrk.h: New file.
72594
72595         * modules/unistr/u8-strrchr: New file.
72596         * modules/unistr/u16-strrchr: New file.
72597         * modules/unistr/u32-strrchr: New file.
72598         * lib/unistr/u8-strrchr.c: New file.
72599         * lib/unistr/u16-strrchr.c: New file.
72600         * lib/unistr/u32-strrchr.c: New file.
72601
72602         * modules/unistr/u8-strspn: New file.
72603         * modules/unistr/u16-strspn: New file.
72604         * modules/unistr/u32-strspn: New file.
72605         * lib/unistr/u8-strspn.c: New file.
72606         * lib/unistr/u16-strspn.c: New file.
72607         * lib/unistr/u32-strspn.c: New file.
72608         * lib/unistr/u-strspn.h: New file.
72609
72610         * modules/unistr/u8-strstr: New file.
72611         * modules/unistr/u16-strstr: New file.
72612         * modules/unistr/u32-strstr: New file.
72613         * lib/unistr/u8-strstr.c: New file.
72614         * lib/unistr/u16-strstr.c: New file.
72615         * lib/unistr/u32-strstr.c: New file.
72616         * lib/unistr/u-strstr.h: New file.
72617
72618         * modules/unistr/u8-strtok: New file.
72619         * modules/unistr/u16-strtok: New file.
72620         * modules/unistr/u32-strtok: New file.
72621         * lib/unistr/u8-strtok.c: New file.
72622         * lib/unistr/u16-strtok.c: New file.
72623         * lib/unistr/u32-strtok.c: New file.
72624         * lib/unistr/u-strtok.h: New file.
72625
72626         * modules/unistr/u8-uctomb: New file.
72627         * modules/unistr/u16-uctomb: New file.
72628         * modules/unistr/u32-uctomb: New file.
72629         * lib/unistr/u8-uctomb.c: New file.
72630         * lib/unistr/u16-uctomb.c: New file.
72631         * lib/unistr/u32-uctomb.c: New file.
72632
72633         * MODULES.html.sh (Unicode string functions): Add the new modules.
72634
72635 2007-01-08  Bruno Haible  <bruno@clisp.org>
72636
72637         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
72638         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
72639         subdirectories.
72640
72641 2007-01-08  Karl Berry  <karl@gnu.org>
72642
72643         * doc/error.texi: mention that main() fns must set program_name
72644         when progname is used.
72645
72646 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
72647
72648         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
72649         WCTYPE_H is empty, for the benefit of builds from non-distclean
72650         directories.  Problem reported by Eric Blake in
72651         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
72652
72653 2007-01-08  Bruno Haible  <bruno@clisp.org>
72654
72655         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
72656         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
72657         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
72658         PROVIDE_CANONICALIZE_FILENAME_MODE.
72659         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
72660
72661 2007-01-08  Bruno Haible  <bruno@clisp.org>
72662
72663         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
72664         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
72665         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
72666         * lib/fts.c: Likewise.
72667         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
72668
72669 2006-12-25  Bruno Haible  <bruno@clisp.org>
72670
72671         * modules/utf8-ucs4-safe: New file.
72672         * lib/utf8-ucs4-safe.h: New file.
72673         * lib/unistr/utf8-ucs4-safe.c: New file.
72674
72675         * modules/utf16-ucs4-safe: New file.
72676         * lib/utf16-ucs4-safe.h: New file.
72677         * lib/unistr/utf16-ucs4-safe.c: New file.
72678
72679         * MODULES.html.sh (Unicode string functions): Add the new modules.
72680
72681 2007-01-08  Bruno Haible  <bruno@clisp.org>
72682
72683         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
72684         (Depends-on): Add unitypes.
72685         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72686         (u8_mbtouc_aux): Move out to separate file.
72687         (u8_mbtouc): Use ucs4_t, uint8_t types.
72688         * lib/unistr/utf8-ucs4.c: New file.
72689
72690         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
72691         (Depends-on): Add unitypes.
72692         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
72693         (u16_mbtouc_aux): Move out to separate file.
72694         (u16_mbtouc): Use ucs4_t, uint16_t types.
72695         * lib/unistr/utf16-ucs4.c: New file.
72696
72697         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
72698         (Depends-on): Add unitypes.
72699         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
72700         (u8_uctomb_aux): Move out to separate file.
72701         (u8_uctomb): Use ucs4_t, uint8_t types.
72702         * lib/unistr/ucs4-utf8.c: New file.
72703
72704         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
72705         (Depends-on): Add unitypes.
72706         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
72707         (u16_uctomb_aux): Move out to separate file.
72708         (u16_uctomb): Use ucs4_t, uint16_t types.
72709         * lib/unistr/ucs4-utf16.c: New file.
72710
72711 2006-12-25  Bruno Haible  <bruno@clisp.org>
72712
72713         * modules/unitypes: New file.
72714         * lib/unitypes.h: New file.
72715         * MODULES.html.sh (func_all_modules): New section "Unicode string
72716         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
72717         this section. Add unitypes.
72718
72719 2007-01-08  Bruno Haible  <bruno@clisp.org>
72720
72721         Avoid variable names that conflict with those from libtool.
72722         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
72723         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
72724         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
72725         library_names_spec to acl_library_names_spec, hardcode_* to
72726         acl_hardcode_*.
72727         Reported by Ralf Wildenhues.
72728
72729 2007-01-08  Bruno Haible  <bruno@clisp.org>
72730
72731         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
72732         definition.
72733         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
72734         definition.
72735         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
72736         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
72737         definition.
72738         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
72739         definition.
72740         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
72741         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
72742         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
72743         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
72744         definition.
72745         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
72746         definition.
72747         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
72748         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
72749         GC_USE_<algorithm>.
72750         * lib/gc-libgcrypt.c: Likewise.
72751         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
72752         * modules/gc-arctwo (configure.ac): Likewise.
72753         * modules/gc-des (configure.ac): Likewise.
72754         * modules/gc-hmac-md5 (configure.ac): Likewise.
72755         * modules/gc-hmac-sha1 (configure.ac): Likewise.
72756         * modules/gc-md2 (configure.ac): Likewise.
72757         * modules/gc-md4 (configure.ac): Likewise.
72758         * modules/gc-md5 (configure.ac): Likewise.
72759         * modules/gc-random (configure.ac): Likewise.
72760         * modules/gc-rijndael (configure.ac): Likewise.
72761         * modules/gc-sha1 (configure.ac): Likewise.
72762
72763 2007-01-08  Bruno Haible  <bruno@clisp.org>
72764
72765         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
72766         macro definition.
72767         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
72768         definition.
72769         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
72770         definition.
72771         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
72772         * modules/fcntl-safer (configure.ac): Likewise.
72773         * modules/fopen-safer (configure.ac): Likewise.
72774         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
72775         GNULIB_FWRITEERROR macro definition.
72776
72777 2007-01-08  Bruno Haible  <bruno@clisp.org>
72778
72779         * m4/gnulib-common.m4: New file.
72780         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
72781         (func_get_filelist): Add m4/gnulib-common.m4.
72782
72783 2007-01-08  Bruno Haible  <bruno@clisp.org>
72784
72785         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
72786         command.
72787
72788 2007-01-08  Jim Meyering  <jim@meyering.net>
72789
72790         Use a more robust test for a "can't happen" condition.
72791         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
72792         narrowed the st_size value.  Presuming the "can't happen" condition
72793         is true, that narrowing could conceivably convert an invalid st_size
72794         value into a valid one.  Instead, use a change based on Matthew
72795         Woehlke's original patch.
72796
72797         Slight readability improvement: use an assert-like macro
72798         in place of literal "abort ()" uses.
72799         * lib/fts.c (fts_assert): Define.
72800         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
72801         Use this macro instead of a bare 'abort'.
72802
72803 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
72804
72805         Don't worry about using IRIX 5.3's wctype.h broken definitions;
72806         simply work around them.
72807         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
72808         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
72809         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
72810         declaring.
72811         Don't bother to define as macros, since the standard doesn't require it.
72812         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
72813         longer worry about IRIX 5.3.
72814         (HAVE_WCTYPE_CTMP_BUG): Remove.
72815
72816 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
72817
72818         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
72819         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
72820         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
72821         Problems reported by Georg Schwarz for IRIX 5.3.
72822
72823         * gnulib-tool (autoconf_minversion): Take the maximum version number
72824         found, not the minimum.  Problem reported by James Youngman.
72825
72826 2007-01-03  Karl Berry  <karl@gnu.org>
72827
72828         * doc/error.texi: new file, explaining interaction with progname.
72829         * doc/gnulib.texi: include it.  Update copyright.
72830
72831 2007-01-03  Simon Josefsson  <simon@josefsson.org>
72832
72833         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
72834         AC_CANONICAL_HOST, to improve autobuild outputs.
72835
72836 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
72837             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72838
72839         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
72840         sockets, server sockets, and other file descriptors.  Count errors
72841         to compute the return value.  Reorder the code a bit to be easier
72842         to follow.  Don't set event bits that were not requested (except
72843         POLLERR and POLLHUP).
72844
72845 2007-01-01  Bruno Haible  <bruno@clisp.org>
72846
72847         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
72848
72849 2007-01-03  Jim Meyering  <jim@meyering.net>
72850
72851         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
72852
72853 2007-01-02  Bruno Haible  <bruno@clisp.org>
72854
72855         * modules/settime (Include): Require timespec.h.
72856         * modules/nanosleep (Include): Likewise.
72857
72858 2007-01-01  Bruno Haible  <bruno@clisp.org>
72859
72860         * gnulib-tool (func_emit_copyright_notice): Bump year.
72861         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
72862
72863 2007-01-01  Bruno Haible  <bruno@clisp.org>
72864
72865         Improve support for OpenBSD.
72866         * build-aux/config.rpath (libname_spec): Export.
72867         (library_names_spec): New variable. Export.
72868         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
72869         library_names_spec from the config.rpath output. Locate shared library
72870         through the name pattern in library_names_spec.
72871
72872 2007-01-01  Eric Blake  <ebb9@byu.net>
72873
72874         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
72875
72876 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
72877
72878         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
72879         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
72880         assume the C locale, and avoid an "eval" that could cause trouble.
72881         Problem with SORT reported by Bob Proulx.
72882
72883         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
72884         Define.  Trivial patch from Henning Nielsen Lund, originally
72885         sent to bug-grep@gnu.org today.
72886
72887 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
72888
72889         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
72890         struct stat.  Problem reported by Henning Nielsen Lund.
72891         * lib/acl.c: Include acl.h first, to check interface.  Don't
72892         bother to include sys/types.h and sys/stat.h again.
72893
72894 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
72895
72896         Import the following change from libc; problem reported by
72897         Sven Verdoolaege.
72898
72899         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
72900
72901         [BZ #1373]
72902         * lib/argp.h: Remove __NTH for __argp_usage inline function.
72903
72904 2006-12-28  Jim Meyering  <jim@meyering.net>
72905
72906         * build-aux/announce-gen: Do not assume that the package
72907         builds any of tar.gz, tar.bz2, and .xdelta files.
72908         Suggestion from Simon Josefsson.
72909
72910 2006-12-28  Simon Josefsson  <simon@josefsson.org>
72911
72912         * modules/announce-gen: New file.
72913
72914 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
72915
72916         * lib/mbchar.h: Just include <wctype.h>; the wctype module
72917         handles its gotchas now.
72918         * lib/mbswidth.c: Likewise.
72919         * lib/wcwidth.h: Likewise.
72920         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
72921         and iswcntrl; the wctype module does this stuff now.
72922         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
72923         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
72924         * modules/mbchar (Depends-on): Add wctype.
72925         * modules/mbswidth (Depends-on): Likewise.
72926         * modules/wcwidth (Depends-on): Likewise.
72927
72928 2006-12-27  Eric Blake  <ebb9@byu.net>
72929
72930         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
72931         module uses more than what <wctype.h> is required to provide.
72932
72933 2006-12-26  Eric Blake  <ebb9@byu.net>
72934
72935         * gnulib-tool (sed_extract_prog): Avoid space-tab.
72936
72937 2006-12-26  Eric Blake  <ebb9@byu.net>
72938
72939         * modules/absolute-header: New module.
72940         * modules/fcntl (Depends-on): Depend on it.
72941         * modules/inttypes (Depends-on): Likewise.
72942         * modules/stdint (Depends-on): Likewise.
72943         * modules/sys_stat (Depends-on): Likewise.
72944         * modules/wctype (Depends-on): Likewise.
72945         * MODULES.html.sh (Support for building libraries and
72946         executables): Document it.
72947
72948 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
72949
72950         * gnulib-tool (SED): Remove, undoing previous change.
72951         The problem was that it broke coreutils on Solaris, because
72952         "sed --posix" leaked into a makefile.
72953         (sed): New alias, if 'alias' and GNU sed.
72954
72955 2006-12-24  Jim Meyering  <jim@meyering.net>
72956
72957         Work around an fchownat bug in glibc-2.4:
72958         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
72959         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
72960         in spite of the -P option.
72961         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
72962         New macros.
72963         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
72964         * modules/openat (Files): Add lib/fchownat.c.
72965         * lib/openat.c (fchownat): Don't define here.  Move to...
72966         * lib/fchownat.c: ...this new file.
72967
72968 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
72969
72970         Fix bug reported by Bruno Haible in
72971         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
72972         where quotearg.c didn't compile on Mac OS X 10.2 because it
72973         lacks <wchar.h> and wint_t.
72974         * lib/wctype_.h (__wctype_wint_t): New type.
72975         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
72976         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
72977         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
72978         Arg is now of type __wctype_wint_t, not wint_t.
72979         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
72980         substitute HAVE_WINT_T.
72981         * modules/wctype (Files): Add m4/wint_t.m4.
72982         (wctype.h): Substitute HAVE_WINT_T.
72983
72984 2006-12-23  Bruno Haible  <bruno@clisp.org>
72985
72986         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
72987
72988 2006-12-23  Bruno Haible  <bruno@clisp.org>
72989
72990         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
72991         S_ISLNK.
72992         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
72993         mingw.
72994
72995 2006-12-22  Bruno Haible  <bruno@clisp.org>
72996
72997         * lib/copy-file.c: Include acl.h.
72998         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
72999         Close the file descriptors only after being done with copy_acl.
73000         * modules/copy-file (Depends-on): Add acl.
73001
73002 2006-12-22  Bruno Haible  <bruno@clisp.org>
73003
73004         * gnulib-tool (SED): New variable.
73005         Use $SED instead of sed everywhere.
73006
73007 2006-12-22  Bruno Haible  <bruno@clisp.org>
73008
73009         * modules/no-c++: New file.
73010         * m4/no-c++.m4: New file.
73011         * MODULES.html.sh (Support for building libraries and executables):
73012         Add no-c++.
73013
73014 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
73015
73016         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
73017         Include <limits.h>, and use its INT_MAX to rewrite the
73018         j loop so that it does not overflow 'int'.  Problem reported by
73019         Ralf Wildenhues in
73020         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
73021         Play it safe by shifting left by 1 rather than multiplying by 2,
73022         as GCC is less likely to optimize this away when the value
73023         is signed (when it assumes overflow leads to undefined behavior).
73024         Also, don't assume time_t uses two's complement.
73025
73026 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
73027
73028         * MODULES.html.sh: New module wctype.
73029         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
73030         * lib/fnmatch.c: Don't bother to include <wchar.h> before
73031         <wctype.h>, since the new wctype module should fix this.
73032         * lib/quotearg.c: Include <wctype.h> unconditionally, since
73033         the wctype module should arrange for it.
73034         * lib/regex_internal.h: Likewise.
73035         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
73036         since the wctype module should handle this now.
73037         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
73038         * modules/fnmatch (Depends-on): Add wctype.
73039         * modules/quotearg (Depends-on): Likewise.
73040         * modules/regex (Depends-on): Likewise.
73041
73042 2006-12-19  Bruno Haible  <bruno@clisp.org>
73043
73044         * lib/strdup.h [C++]: Wrap definitions in extern "C".
73045         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
73046
73047 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73048
73049         * modules/savewd (Depends-on): Fix dependency on fcntl.
73050
73051 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73052
73053         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
73054         conforms to C99, rather than relying on the user's environment
73055         setting of STDINT_H.
73056
73057 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
73058         and Eric Blake  <ebb9@byu.net>
73059
73060         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
73061         This is more consistent with the other defines here.
73062         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
73063         Port to z/OS.  Problem reported by Paul Gilmartin.
73064         Change local vars to use gl_ prefix rather than ac_.
73065         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
73066         with other defines.
73067         * modules/double-slash-root: New module.
73068         * modules/dirname (Files): Remove m4/double-slash-root.m4.
73069         (Depends-on): Add double-slash-root.
73070         * MODULES.html.sh (File system functions): Mention new module.
73071
73072 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
73073
73074         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
73075         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
73076         This is for the benefit of gzip, which doesn't do i18n.
73077
73078 2006-12-12  Jim Meyering  <jim@meyering.net>
73079
73080         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
73081         Reported by Andreas Schwab <schwab@suse.de>.
73082
73083 2006-12-12  Bruno Haible  <bruno@clisp.org>
73084
73085         Merge these changes.
73086         2006-09-05  Bruno Haible  <bruno@clisp.org>
73087         * lib/iconvme.c (iconv_string): No need to save and restore errno when
73088         iconv_alloc succeeded.
73089         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
73090         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
73091         test for " && dest " at the end - dest is always != NULL there. Call
73092         iconv with 4xNULL arguments initially, to reset the state. Call iconv
73093         with 2xNULL arguments, also to flush the state storage. Handle the
73094         IRIX iconv behaviour. Realloc the final result, to throw away unused
73095         memory.
73096
73097 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
73098
73099         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
73100         and fchmodat unconditionally, since glibc 2.4 has them.
73101         Problem reported by Arkadiusz Miskiewicz.
73102
73103 2006-12-10  Bruno Haible  <bruno@clisp.org>
73104
73105         * gnulib-tool (func_import): Show the include files only for those
73106         modules that are copied and specified.
73107         Reported by Karl Berry.
73108
73109 2006-12-08  Jim Meyering  <jim@meyering.net>
73110
73111         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
73112         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
73113
73114         * build-aux/announce-gen: Add two new options, both optional:
73115         --bootstrap-tools=TOOL_LIST
73116               a comma-separated list of tools, e.g.,
73117               autoconf,automake,bison,gnulib
73118         --gnulib-snapshot-date=DATE
73119               if gnulib is in the bootstrap tool list,
73120               then report this as the snapshot date.
73121               If not specified, use the current date/time.
73122               If you specify a date here, be sure it's UTC.
73123
73124 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73125
73126         * tests/test-argp-2.sh: Fix test to match actual output.
73127         (func_compare): Fix sed script to be portable.
73128
73129 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
73130
73131         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
73132         workaround for this case.  It is not autoconfigured now; offhand
73133         it's hard to see how to autoconfigure it.
73134
73135 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
73136
73137         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
73138         a directory that is about to be chowned.  Such a directory's
73139         initial file permissions should permit the owner only and this
73140         should not be changed until after the chown, since the group and
73141         other bits would be incorrect if they granted permission before
73142         the chown.
73143
73144         Fix porting problem for iswctype reported by Georg Schwarz in:
73145         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
73146         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
73147         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
73148         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
73149         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73150
73151 2006-12-03  Jim Meyering  <jim@meyering.net>
73152
73153         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
73154         p->fts_statp may not yet be defined.
73155         (fts_read): Instead, set it in the caller, once p->fts_statp is
73156         sure to be defined, and corresponds to a top-level directory.
73157         This bug made du -x fail.  Here's the coreutils test case:
73158         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
73159         Reported by Mike Frysinger.
73160
73161 2006-12-01  Jim Meyering  <jim@meyering.net>
73162
73163         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
73164         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
73165         Reported by Simon Josefsson.
73166
73167 2006-11-30  Jim Meyering  <jim@meyering.net>
73168
73169         * m4/warning.m4: Use the all-permissive copyright notice
73170         recommended by RMS (rather than LGPL).
73171         * m4/vararrays.m4: Likewise.
73172         * m4/flexmember.m4: Likewise.
73173
73174 2006-11-29  Bruno Haible  <bruno@clisp.org>
73175
73176         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73177         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
73178         using +=.
73179         Reported by Simon Josefsson <simon@josefsson.org>.
73180
73181 2006-11-28  James Youngman <jay@gnu.org>
73182
73183         * README: Advise users that they might find the bug-gnulib@gnu.org
73184         and autotools-announce@gnu.org mailing lists useful.
73185
73186 2006-11-28  Bruno Haible  <bruno@clisp.org>
73187
73188         * m4/ptrdiff_max.m4: Remove file.
73189
73190 2006-11-21  Bruno Haible  <bruno@clisp.org>
73191
73192         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
73193         _AC_COMPUTE_INT.
73194         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73195         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
73196         _AC_COMPUTE_INT.
73197         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73198         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
73199         _AC_COMPUTE_INT.
73200         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73201
73202 2006-11-28  Jim Meyering  <jim@meyering.net>
73203
73204         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
73205         warning from "gcc -Wshadow" about shadowing the builtin.
73206
73207 2006-11-27  Bruno Haible  <bruno@clisp.org>
73208
73209         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
73210         _AC_COMPUTE_INT.
73211         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
73212
73213 2006-11-27  Bruno Haible  <bruno@clisp.org>
73214             Paul Eggert  <eggert@cs.ucla.edu>
73215
73216         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
73217
73218 2006-11-26  Bruno Haible  <bruno@clisp.org>
73219
73220         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
73221         noinst_LTLIBRARIES.
73222
73223 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
73224             Bruno Haible  <bruno@clisp.org>
73225
73226         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
73227         if compiling with "gcc -ansi".
73228
73229 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
73230
73231         Fix some incompatibilities with gcc -ansi -pedantic.
73232         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
73233         if compiling pedantically with GCC, unless it's C99 or later.
73234         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
73235         it mishandles gcc -ansi -pedantic as well.
73236         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
73237         if gcc -pedantic.
73238         * lib/regexec.c (check_node_accept_bytes): Don't use auto
73239         initializers for struct if -pedantic, unless it's C99 or later.
73240
73241 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
73242
73243         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
73244         Don't close an fd more than once. Identical atimes indicate
73245         success, not failure.
73246
73247 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
73248
73249         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
73250
73251 2006-11-23  Jim Meyering  <jim@meyering.net>
73252
73253         * build-aux/announce-gen: New file.  From coreutils.
73254
73255 2006-11-22  Jim Meyering  <jim@meyering.net>
73256
73257         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
73258         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
73259         (fts_read): Use a temporary to narrow the overused st_size member
73260         before using it in a switch statement.  Reported by Matthew Woehlke.
73261
73262         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
73263         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
73264
73265 2006-11-20  Bruno Haible  <bruno@clisp.org>
73266
73267         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
73268         changequote instead of pairs of brackets.
73269         Reported by Andreas Schwab <schwab@suse.de>.
73270
73271 2006-11-21  Jim Meyering  <jim@meyering.net>
73272
73273         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
73274         so as to remain compatible with older compilers.
73275         Patch from Michael Deutschmann.
73276
73277 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73278
73279         * MODULES.html.sh (File system functions): Add openat.
73280
73281         * lib/openat.h (rpl_fstatat): New macro, if
73282         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
73283         (fstatat): Define to rpl_fstatat under the same conditions,
73284         unless COMPILING_FSTATAT.
73285         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
73286         seems to have the bug.
73287         * lib/fstatat.c: New file.
73288         * modules/openat (Files): Add it.
73289
73290 2006-11-20  Bruno Haible  <bruno@clisp.org>
73291
73292         * Makefile: New file.
73293
73294 2006-11-20  Jim Meyering  <jim@meyering.net>
73295
73296         The beginnings of syntax-related checks for gnulib.
73297         * lib/Makefile: New file.
73298         * lib/t-idcache: New script.  Ensure that the two halves of
73299         idcache.c stay in sync.
73300
73301         * lib/idcache.c: Adjust comments in user- and group- portions to
73302         be more accurate, and to be consistent with one another.
73303
73304 2006-11-20  Jim Meyering  <jim@meyering.net>
73305
73306         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
73307         continue using the flexible array member (thus, this module performs
73308         half as many malloc calls), with the addition that...
73309         (getgroup, getuser): Consistently record a non-match via an empty
73310         "name" string, and map an empty string match to a NULL return value.
73311         * modules/idcache (Depends-on): Re-add flexmember.
73312
73313         * lib/idcache.c (getuser): Remove all uses of the register keyword.
73314         (getuidbyname, getgroup, getgidbyname): Likewise.
73315
73316         Use cleaner syntax: NULL rather than 0.
73317         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
73318
73319 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
73320
73321         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
73322         It mishandled the case where the group was missing.
73323         Problem reported by Greg Schafer.
73324         * modules/idcache: Likewise.
73325
73326 2006-11-18  Jim Meyering  <jim@meyering.net>
73327
73328         * check-module (%exempt_header): Add exception for some
73329         conditionally-included headers.
73330
73331         * modules/i-ring (Depends-on): Add verify.
73332         (License): Change to LGPL.
73333
73334 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
73335
73336         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
73337         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
73338         and inttostr.h.  Use snprintf rather than uinttostr, so that
73339         LGPLed code doesn't depend on GPLed.
73340
73341 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
73342
73343         * modules/inline (License): Change from GPL to LGPL.
73344
73345 2006-11-17  Jim Meyering  <jim@meyering.net>
73346
73347         * modules/d-type (License): Switch to LGPL.
73348
73349 2006-11-15  Bruno Haible  <bruno@clisp.org>
73350
73351         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
73352
73353 2006-11-15  Eric Blake  <ebb9@byu.net>
73354
73355         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
73356         the module dependency.
73357
73358 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73359             Bruno Haible  <bruno@clisp.org>
73360
73361         * gnulib-tool (func_create_testdir): Add license consistency check.
73362
73363 2006-11-15  Eric Blake  <ebb9@byu.net>
73364
73365         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
73366         random "(cached)" in configure output.
73367
73368 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73369
73370         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
73371         test for conforming inttypes.h is both announced and cached.
73372
73373         * MODULES.html.sh (seen_modules, seen_files): New variables.
73374         (func_module): Rewrite to use a few less gnulib-tool and sed
73375         invocations.  Avoid a couple of quadratic algorithms for ...
73376         (missed_modules, missed_files): ... these, with ...
73377         (func_append, func_tmpdir): ... these new functions, from
73378         gnulib-tool.  Analogously, install traps for cleanup.
73379
73380         * tests/test-gc.c (main): Remove unused variables.
73381         * tests/test-read-file.c: Include stdlib.h, for 'free'.
73382
73383 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
73384
73385         * modules/inttostr (License): Change to LGPL.
73386
73387 2006-11-14  Eric Blake  <ebb9@byu.net>
73388
73389         * modules/tempname (License): Change to LGPL.
73390
73391 2006-11-14  Eric Blake  <ebb9@byu.net>
73392
73393         * doc/functions.texi (Function Portability): *printf functions on
73394         Cygwin now understand all POSIX size specifiers.
73395
73396 2006-11-14  Bruno Haible  <bruno@clisp.org>
73397
73398         * modules/c-ctype (License): Change to LGPL.
73399
73400 2006-11-12  Bruno Haible  <bruno@clisp.org>
73401
73402         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
73403         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
73404         for GNOME libraries, for which the include files are installed in
73405         subdirectories of $prefix/include.
73406
73407 2006-11-12  Bruno Haible  <bruno@clisp.org>
73408
73409         * m4/lib-link.m4: Require at least autoconf-2.54.
73410         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
73411         name to underscores for the --with option.
73412
73413 2006-11-13  Bruno Haible  <bruno@clisp.org>
73414
73415         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
73416         the tests directory.
73417         Reported by Ralf Wildenhues.
73418
73419 2006-11-13  Bruno Haible  <bruno@clisp.org>
73420
73421         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
73422         (func_emit_initmacro_end): Undo the override here.
73423         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
73424         Works around the famous automake error in coreutils.
73425
73426 2006-11-13  Eric Blake  <ebb9@byu.net>
73427
73428         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
73429         element, not its node.
73430
73431 2006-11-12  Bruno Haible  <bruno@clisp.org>
73432
73433         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
73434         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
73435
73436 2006-11-12  Bruno Haible  <bruno@clisp.org>
73437
73438         * gnulib-tool: New option --local-symlink.
73439         (func_usage): Document it.
73440         (lsymbolic): New variable.
73441         (func_import, func_create_testdir): If --symlink was not specified,
73442         test whether --local-symlink was specified and the file comes from
73443         the local_gnulib_dir.
73444
73445 2006-11-12  Bruno Haible  <bruno@clisp.org>
73446
73447         * gnulib-tool (func_ln): New function.
73448         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
73449
73450 2006-11-12  Bruno Haible  <bruno@clisp.org>
73451
73452         Finish support for source files in subdirectories.
73453         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
73454         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
73455         AUTOMAKE_OPTIONS.
73456         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
73457
73458 2006-11-12  Bruno Haible  <bruno@clisp.org>
73459
73460         * gnulib-tool (func_get_automake_snippet): Synthesize also an
73461         EXTRA_lib_SOURCES augmentation.
73462         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
73463
73464 2006-11-12  Jim Meyering  <jim@meyering.net>
73465
73466         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
73467         file descriptors.  This also averts a failure on systems with
73468         native openat support when a traversed directory lacks "x" access.
73469         * lib/fts_.h: Include "i-ring.h"
73470         (struct FTS) [fts_fd_ring]: New member.
73471         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
73472         (FCHDIR): Add parentheses.
73473         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
73474         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
73475         When descending, rather than simply closing the previous
73476         fts_cwd_fd value, push that file descriptor onto the ring.
73477         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
73478         (fts_open): Initialize the new fd_ring member.
73479         (fts_close): Clear the ring.
73480         (fts_safe_changedir): When possible, use our new fd_ring to skip
73481         the diropen and fstat and dev/ino comparison that would normally
73482         accompany a virtual `chdir ("..")'.
73483
73484         * modules/fts (Depends-on): Add i-ring.
73485         * modules/i-ring: New module.
73486         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
73487         * m4/i-ring.m4: New file.
73488
73489 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73490
73491         * gnulib-tool (func_create_testdir): Fix replacement of
73492         `build-aux' in configure.ac.  Run autotools in gltests
73493         subdirectory.
73494         (func_create_testdir, func_create_megatestdir, test): There is
73495         no need for '--force' in most autotool invocations in a new
73496         tree.  Actually fail the whole test if any of the tools, or the
73497         configure or make stages fail.
73498
73499         Sync from Automake.
73500         * build-aux/gnupload: Revert last change.  Add pointer to upload
73501         instructions of the GNU Maintenance Instructions.
73502         Suggestion by Karl Berry.
73503
73504 2006-11-10  Jim Meyering  <jim@meyering.net>
73505
73506         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
73507
73508 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73509
73510         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
73511         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
73512         (bind_textdomain_codeset) [! ENABLE_NLS]:
73513         Evaluate all the arguments.  That way, callers get compatible behavior
73514         if the arguments have side effects.  Also, it avoids some GCC
73515         diagnostics in some cases; Joel E. Denny reported problems when Bison
73516         was configured with --enable-gcc-warnigs.
73517
73518 2006-11-10  Jim Meyering  <jim@meyering.net>
73519
73520         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
73521         relevant options in CFLAGS (like -O, -fno-inline) are taken into
73522         account.
73523
73524 2006-11-10  Jim Meyering  <jim@meyering.net>
73525
73526         * modules/inline: New file/module.
73527         * modules/xalloc (Files): Remove m4/inline.m4.
73528         (Depends-on): Add inline, instead.
73529         * modules/oset: Likewise.
73530         * modules/list: Likewise.
73531
73532 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
73533
73534         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
73535         Problem reported by Matthew Woehlke.
73536
73537 2006-11-09  Bruno Haible  <bruno@clisp.org>
73538
73539         * lib/tempname.c (gen_tempname): Remove variant that invokes
73540         __gen_tempname.
73541         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
73542         __gen_tempname.
73543
73544 2006-11-08  Bruno Haible  <bruno@clisp.org>
73545
73546         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
73547         to 'yes' instead of 'cross-compiling'.
73548
73549 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
73550
73551         * lib/quotearg.h (quotearg_free): New decl.
73552         * lib/quotearg.c (quotearg_free): New function.
73553         (slot0, nslots, slotvec0, slotvec):
73554         Now file-scope so that quotearg_free can get at them.
73555
73556 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73557
73558         Sync from Automake.
73559         * build-aux/gnupload: Add missing 'gnu' to example URL.
73560         Report by Karl Berry.
73561
73562 2006-11-08  Bruno Haible  <bruno@clisp.org>
73563
73564         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
73565         Suggested by Paul Eggert.
73566
73567 2006-11-08  Jim Meyering  <jim@meyering.net>
73568
73569         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
73570         It's already included if !_LIBC.
73571         (fts_safe_changedir): Add a comment.
73572
73573 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73574
73575         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
73576         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
73577         Matthew Woehlke.
73578
73579         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
73580         definitions up, to avoid colliding with change below.
73581         (static_inline) [HAVE_INLINE]: New macro.
73582         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
73583         Provide extern decls when !HAVE_INLINE.  Do not define unless
73584         static_inline is defined, either by us or by xmalloc.c.  Use
73585         static_inline rather than static inline.
73586         (XCALLOC): Optimize sizeof(T) = 1 case.
73587         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
73588
73589 2006-11-07  Bruno Haible  <bruno@clisp.org>
73590
73591         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
73592         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
73593         AC_C_INLINE.
73594         * modules/xalloc (Files): Add m4/inline.m4.
73595
73596 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73597
73598         * README: Fix typo.
73599         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
73600         (Miscellanous Notes): ...from this.
73601
73602 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
73603
73604         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
73605         Mention that offsetof should be used instead of sizeof.
73606         From Bruno Haible.
73607
73608 2006-11-07  Bruno Haible  <bruno@clisp.org>
73609
73610         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
73611
73612 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73613
73614         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73615         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
73616         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73617         (gl_tree_add_before, gl_tree_add_after):
73618         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
73619         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
73620         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
73621         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
73622         (gl_linked_add_after, gl_linked_add_at): Likewise.
73623         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
73624         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
73625         (gl_tree_add_before, gl_tree_add_after): Likewise.
73626         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
73627         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
73628         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
73629
73630 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73631
73632         * lib/gl_oset.h: Use C comment style, not C++ comment style.
73633
73634 2006-11-06  Bruno Haible  <bruno@clisp.org>
73635
73636         * m4/inline.m4: New file.
73637         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
73638         * modules/list (Files): Add m4/inline.m4.
73639         * modules/oset (Files): Likewise.
73640
73641 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
73642
73643         * lib/idcache.c: Include <stddef.h>, for offsetof.
73644         (struct userid.name): Change from char * to a flexible array member.
73645         All uses changed.
73646         * modules/idcache (Depends-on): Add flexmember.
73647
73648         * MODULES.html.sh (Core language properties): New module flexmember.
73649         * modules/flexmember, m4/flexmember.m4: New files.
73650
73651         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
73652         inline functions that are identical with the old xnmalloc_inline,
73653         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
73654         that we can avoid some unnecessary integer multiplications and
73655         divisions in the common case where the element size is known at
73656         compile time.
73657         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
73658         needed.
73659         (xnboundedmalloc): Remove.
73660         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
73661         arguments, for consistency with rest of this header.
73662         (xcharalloc): Rewrite using XNMALLOC.
73663         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
73664         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
73665         versions have been moved to lib/xalloc.h and renamed to be the
73666         non-*_inline versions.
73667         (xmalloc, xrealloc): Implement without reference to the xnmalloc
73668         and xnrealloc functions, since those functions are now inline and
73669         now call us.
73670         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
73671         renaming described above.
73672         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
73673         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
73674         captures the dependency in AC_C_INLINE.
73675
73676         New module canonicalize-lgpl, proposed by Charles Wilson in
73677         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
73678         with a few small changes afterwards.
73679         * MODULES.html.sh (File system functions): New module
73680         canonicalize-lgpl.
73681         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
73682         and canonicalize_file_name.
73683         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
73684         * modules/canonicalize-lgpl: New files.
73685
73686 2006-11-05  Bruno Haible  <bruno@clisp.org>
73687
73688         * gnulib-tool (func_import, func_create_testdir): Create directories
73689         also for files in subdirectories of lib/.
73690
73691 2006-11-05  Bruno Haible  <bruno@clisp.org>
73692
73693         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
73694         ANSI C compliant.
73695
73696 2006-11-03  Bruno Haible  <bruno@clisp.org>
73697
73698         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
73699         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
73700         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
73701         (xnboundedmalloc): New inline function.
73702         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
73703         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
73704         xmalloc.
73705         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
73706         xmalloc.
73707         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
73708         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
73709         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
73710         xmalloc.
73711         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73712         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
73713         xmalloc.
73714         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
73715         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73716         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
73717         xmalloc.
73718         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
73719         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
73720         gl_tree_add_after): Use XMALLOC instead of xmalloc.
73721         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
73722         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
73723         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
73724         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
73725
73726 2006-11-03  Bruno Haible  <bruno@clisp.org>
73727
73728         * lib/c-ctype.h [C++]: Define functions without name mangling.
73729         * lib/fwriteerror.h [C++]: Likewise.
73730         * lib/gcd.h [C++]: Likewise.
73731         * lib/linebreak.h [C++]: Likewise.
73732
73733 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
73734
73735         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
73736         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
73737         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
73738         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73739         Check for functions and headers just once.
73740         Check for declaration of canonicalize_file_name.
73741         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
73742
73743 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
73744
73745         * gnulib-tool (func_import): Fix typo in actioncmd.
73746
73747 2006-11-02  Bruno Haible  <bruno@clisp.org>
73748
73749         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
73750         newline sequence in the Makefile.am snippet as a space, like "make"
73751         does.
73752         Reported by Roger Persson <perrog@gmail.com>.
73753
73754 2006-11-01  Bruno Haible  <bruno@clisp.org>
73755
73756         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
73757         already declared in <string.h>.
73758         * lib/strcase.h (strncasecmp): Don't declare it if yes.
73759
73760 2006-11-01  Bruno Haible  <bruno@clisp.org>
73761
73762         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
73763         * lib/strcase.h: Include <string.h>.
73764         (strcasecmp): Define to rpl_strcasecmp here.
73765
73766 2006-11-01  Bruno Haible  <bruno@clisp.org>
73767
73768         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
73769
73770 2006-11-01  Eric Blake  <ebb9@byu.net>
73771
73772         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
73773
73774         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
73775
73776 2006-10-29  Bruno Haible  <bruno@clisp.org>
73777
73778         Make it compile in C++ mode.
73779         * lib/full-write.c (full_rw): Add a cast.
73780
73781 2006-11-01  Bruno Haible  <bruno@clisp.org>
73782
73783         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
73784         be POSIX compliant.
73785         Reported by Roger Persson <perrog@gmail.com>.
73786
73787 2006-11-01  Eric Blake  <ebb9@byu.net>
73788
73789         * lib/getopt_.h: Fix comments.
73790
73791 2006-10-31  Eric Blake  <ebb9@byu.net>
73792
73793         * modules/tmpdir (Depends-on): Add sys_stat.
73794         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
73795         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
73796         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
73797         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
73798         tempname.
73799
73800 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
73801
73802         Avoid some C++ diagnostics reported by Bruno Haible.
73803         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
73804         xmalloc.
73805         (quotearg_alloc): Use xcharalloc rather than xmalloc.
73806         (struct slotvec): Move to top level.
73807         (quotearg_n_options): Rewrite to avoid xmalloc.
73808         * lib/xalloc.h (xcharalloc): New function.
73809         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
73810         [defined __cplusplus]: Add function template that provides result
73811         type propagation.  This part of the change is from Bruno Haible.
73812
73813 2006-10-29  Bruno Haible  <bruno@clisp.org>
73814
73815         Make it compile in C++ mode.
73816         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
73817         * lib/strnlen1.c (strnlen1): Cast memchr result.
73818         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
73819         * lib/clean-temp.c (string_equals, string_hash): Add casts.
73820         (create_temp_dir): Rename local variable 'template'.
73821         (compile_csharp_using_sscli): Add cast.
73822         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
73823         * lib/findprog.c (find_in_path): Likewise.
73824         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
73825         * lib/wait-process.c (register_slave_subprocess): Likewise.
73826
73827 2006-10-22  Bruno Haible  <bruno@clisp.org>
73828
73829         * modules/tsearch: New file.
73830         * lib/tsearch.h: New file.
73831         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
73832         * m4/tsearch.m4: New file.
73833         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
73834
73835 2006-10-29  Eric Blake  <ebb9@byu.net>
73836
73837         * lib/arcfour.c: Assume config.h.
73838         * lib/arctwo.c: Likewise.
73839         * lib/base64.c: Likewise.
73840         * lib/check-version.c: Likewise.
73841         * lib/crc.c: Likewise.
73842         * lib/des.c: Likewise.
73843         * lib/gc-gnulib.c: Likewise.
73844         * lib/gc-libgcrypt.c: Likewise.
73845         * lib/gc-pbkdf2-sha1.c: Likewise.
73846         * lib/getaddrinfo.c: Likewise.
73847         * lib/getdelim.c: Likewise.
73848         * lib/getline.c: Likewise.
73849         * lib/hmac-md5.c: Likewise.
73850         * lib/hmac-sha1.c: Likewise.
73851         * lib/iconvme.c: Likewise.
73852         * lib/md2.c: Likewise.
73853         * lib/md4.c: Likewise.
73854         * lib/memxor.c: Likewise.
73855         * lib/read-file.c: Likewise.
73856         * lib/readline.c: Likewise.
73857         * lib/rijndael-alg-fst.c: Likewise.
73858         * lib/rijndael-api-fst.c: Likewise.
73859         * lib/xgetdomainname.c: Likewise.
73860
73861 2006-10-28  Eric Blake  <ebb9@byu.net>
73862
73863         * lib/xstrndup.c: Assume config.h.
73864
73865 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
73866
73867         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
73868         stat-macros.h is now for our own macros, whereas stat_h is for
73869         macros in the <sys/stat.h> name space.
73870         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
73871         (STAT_MACROS_H): Remove.
73872         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
73873         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
73874         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
73875         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
73876         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
73877         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
73878         Move these macros to ...
73879         * lib/stat_.h: here.  Don't include stat-macros.h.
73880         * lib/canonicalize.c: Don't include stat-macros.h.
73881         * lib/chown.c: Likewise.
73882         * lib/euidaccess.c: Likewise.
73883         * lib/file-type.c: Likewise.
73884         * lib/filemode.c: Likewise.
73885         * lib/glob.c: Likewise.
73886         * lib/isapipe.c: Likewise.
73887         * lib/lchown.c: Likewise.
73888         * lib/lstat.c: Likewise.
73889         * lib/mkdir-p.c: Likewise.
73890         * lib/rmdir.c: Likewise.
73891         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
73892         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
73893         unless mkdir isn't declared, to speed up 'configure'.
73894         Always create sys/stat.h, since it's unlikely any real sys/stat.h
73895         would define all the S_* symbols.
73896         * modules/canonicalize (Depends-on):
73897         Depend on sys_stat, not stat-macros.
73898         * modules/chown: Likewise.
73899         * modules/euidaccess: Likewise.
73900         * modules/filemode: Likewise.
73901         * modules/file-type: Likewise.
73902         * modules/glob: Likewise.
73903         * modules/isapipe: Likewise.
73904         * modules/lchown: Likewise.
73905         * modules/lstat: Likewise.
73906         * modules/mkancesdirs: Likewise.
73907         * modules/rmdir: Likewise.
73908         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
73909         * modules/modechange: Likewise.
73910         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
73911         (configure.ac): Remove gl_STAT_MACROS.
73912         * modules/sys_stat (Depends-on): Remove stat-macros.
73913
73914 2006-10-27  Bruno Haible  <bruno@clisp.org>
73915
73916         * m4/signed.m4: Remove file.
73917         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
73918         invocation.
73919         * modules/vasnprintf (Files): Remove m4/signed.m4.
73920
73921 2006-10-27  Bruno Haible  <bruno@clisp.org>
73922
73923         Update to GNU gettext 0.16.
73924         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
73925         m4/inttypes-h.m4, m4/signed.m4.
73926         * m4/gettext.m4: Update to GNU gettext 0.16.
73927         * m4/intl.m4: New file, from GNU gettext.
73928         * m4/intldir.m4: New file, from GNU gettext.
73929         * config/srclist.txt: Update
73930
73931 2006-10-27  Eric Blake  <ebb9@byu.net>
73932
73933         * MODULES.html.sh: Document tempname.
73934         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
73935         dependencies.
73936         (Files): Move lib/tempname.c...
73937         * modules/tempname: ...to this new module.
73938         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
73939         (gl_PREREQ_TEMPNAME): Move...
73940         * m4/tempname.m4: ...to this new file.
73941         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
73942         * modules/sys_stat (Depends-on): Add stat-macros.
73943         * lib/stat_.h (includes): Pick up stat macros.
73944         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
73945         if stat macros are broken.
73946         * lib/tempname.c (includes): No need to include "stat-macros.h".
73947         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
73948         (direxists, __path_search) [!_LIBC]: Don't compile these in
73949         gnulib; the tmpdir module covers that.
73950         * lib/tempname.h: New file.
73951
73952 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
73953
73954         * COPYING: Explain how gnulib-tool converts licence headers.
73955         Almost all wording by Eric Blake.
73956
73957 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
73958
73959         * lib/mbchar.h (is_basic_table): Make read-only.
73960         * lib/mbchar.c (is_basic_table): Likewise.
73961         Reported by John Darrington.
73962
73963 2006-10-25  Bruno Haible  <bruno@clisp.org>
73964
73965         * lib/progname.h (set_program_name): Undefine before defining.
73966
73967 2006-10-25  Bruno Haible  <bruno@clisp.org>
73968
73969         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
73970         false for non-gcc C++ compilers.
73971         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
73972
73973 2006-10-24  Bruno Haible  <bruno@clisp.org>
73974
73975         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
73976         iconv implementations like Irix iconv.
73977
73978 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73979
73980         * modules/vararrays: New file.
73981         * m4/vararrays.m4: New file, taken from diffutils.
73982         * MODULES.html.sh: New module vararrays.
73983
73984 2006-10-24  Karl Berry  <karl@gnu.org>
73985
73986         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
73987         Don't call GNU Unix.
73988
73989 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73990
73991         * users.txt: Add Libtool.
73992
73993         Sync from Libtool:
73994
73995         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
73996
73997         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
73998         to gnulib's policy of including config.h unconditionally.
73999
74000 2006-10-24  Bruno Haible  <bruno@clisp.org>
74001
74002         * modules/wcwidth (Files): Add m4/wint_t.m4.
74003         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
74004         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
74005
74006 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
74007
74008         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
74009         to pacify GCC with some -W flags enabled.  Problem reported by
74010         Bruno Haible.
74011
74012 2006-10-24  Jim Meyering  <jim@meyering.net>
74013
74014         * MODULES.html.sh: Remove uinttostr.  It's not a module.
74015         Reported by Karl Berry.
74016
74017 2006-10-23  Bruno Haible  <bruno@clisp.org>
74018
74019         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
74020
74021 2006-10-24  Bruno Haible  <bruno@clisp.org>
74022
74023         * lib/gl_list.h: Use C comment style, not C++ comment style.
74024
74025 2006-10-23  Eric Blake  <ebb9@byu.net>
74026
74027         * lib/getaddrinfo.c (includes): Add missing include.
74028
74029 2006-10-23  Bruno Haible  <bruno@clisp.org>
74030             Paul Eggert  <eggert@cs.ucla.edu>
74031
74032         Ability to rename obstack_free.
74033         * lib/obstack.h (__obstack_free): New macro. Declare instead of
74034         obstack_free.
74035         (obstack_free): Invoke the __obstack_free macro.
74036         * lib/obstack.c (obstack_free): Use __obstack_free macro.
74037
74038 2006-10-23  Bruno Haible  <bruno@clisp.org>
74039             Paul Eggert  <eggert@cs.ucla.edu>
74040
74041         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
74042         __argc, __argv from the declaration. (They are defined as macros on
74043         mingw.)
74044
74045 2006-10-22  Bruno Haible  <bruno@clisp.org>
74046
74047         * doc/gnulib-intro.texi: New file.
74048         * doc/gnulib.texi: Include it.
74049
74050 2006-10-21  Bruno Haible  <bruno@clisp.org>
74051
74052         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
74053         "Introduction", "Miscellanous Notes", "Particular Modules".
74054
74055 2006-10-21  Bruno Haible  <bruno@clisp.org>
74056
74057         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74058         Change mostlyclean-local rule to avoid sh syntax error from bash
74059         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
74060
74061 2006-10-23  Jim Meyering  <jim@meyering.net>
74062
74063         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
74064         in place of snprintf.
74065
74066         * modules/inttostr (Files): Add lib/uinttostr.c.
74067         * lib/uinttostr.c (inttostr): New file/function.
74068         * lib/inttostr.h (uinttostr): Declare.
74069         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
74070         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
74071         Add uinttostr.
74072         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
74073
74074 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74075
74076         * lib/canonicalize.c (ELOOP): Define if not already defined.
74077         Problem reported by Bruno Haible in
74078         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
74079
74080 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
74081
74082         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
74083         Problem reported by Perry Smith and Ville Laurikari.
74084
74085         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
74086         uses.
74087
74088 2006-10-19  Bruno Haible  <bruno@clisp.org>
74089
74090         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
74091         for mingw.
74092
74093 2006-10-19  Bruno Haible  <bruno@clisp.org>
74094
74095         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
74096         Needed for mingw.
74097
74098 2006-10-19  Bruno Haible  <bruno@clisp.org>
74099
74100         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
74101
74102 2006-10-19  Bruno Haible  <bruno@clisp.org>
74103
74104         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
74105         it.
74106
74107 2006-10-19  Bruno Haible  <bruno@clisp.org>
74108
74109         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
74110         invocation.
74111
74112 2006-10-19  Bruno Haible  <bruno@clisp.org>
74113
74114         * gnulib-tool (func_create_testdir): Don't include ftruncate and
74115         mountlist by default.
74116
74117 2006-10-16  Bruno Haible  <bruno@clisp.org>
74118
74119         * lib/c-strstr.c: Include c-strstr.h.
74120
74121 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74122
74123         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
74124         in a slash.
74125
74126 2006-10-18  Bruno Haible  <bruno@clisp.org>
74127
74128         * lib/lock.h [C++]: Wrap definitions in extern "C".
74129
74130 2006-10-18  Bruno Haible  <bruno@clisp.org>
74131
74132         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
74133         gl_LIBOBJS list.
74134
74135 2006-10-18  Bruno Haible  <bruno@clisp.org>
74136
74137         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
74138
74139 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
74140
74141         * lib/xstrtol.h: Include gettext.h.
74142         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
74143         Problem reported by Eric Blake.
74144         * modules/xstrtol (Depends-on): Add gettext-h.
74145
74146 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
74147
74148         * lib/strftime.c (advance): New macro.
74149         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
74150         incomplete type, so you can't add 0 to it.  Problem and patch
74151         reported by Eelco Dolstra for dietlibc.
74152
74153 2006-10-18  Jim Meyering  <jim@meyering.net>
74154
74155         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
74156         type for a local, and rename it: s/up/user_proc/.
74157
74158 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
74159
74160         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
74161         READ_UTMP_USER_PROCESS.
74162         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
74163
74164 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
74165
74166         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
74167         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
74168
74169 2006-10-17  Eric Blake  <ebb9@byu.net>
74170
74171         * lib/sigprocmask.c (sigprocmask): Fix typo.
74172
74173         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
74174
74175         * modules/clean-temp (Makefile.am): Don't add to make output...
74176         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
74177         config.h.
74178
74179 2006-10-17  Bruno Haible  <bruno@clisp.org>
74180
74181         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
74182         differently if DEFAULT_TEXT_DOMAIN is set.
74183
74184 2006-10-16  Bruno Haible  <bruno@clisp.org>
74185
74186         * lib/clean-temp.c: Include fwriteerror.h.
74187
74188 2006-10-16  Bruno Haible  <bruno@clisp.org>
74189
74190         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
74191
74192 2006-10-16  Bruno Haible  <bruno@clisp.org>
74193
74194         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
74195         * lib/sigprocmask.h: Include <sys/types.h>.
74196         (sigset_t): Use the system's definition if present.
74197
74198 2006-10-17  Eric Blake  <ebb9@byu.net>
74199
74200         * lib/xvasprintf.c (includes): Assume config.h.
74201         * lib/xasprintf.c (includes): Likewise.
74202
74203 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
74204
74205         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
74206         at least as wide as intmax_t.
74207
74208 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
74209
74210         (Imported from Automake.)
74211         * build-aux/gnupload: Update to version 1.1 of directive file.
74212
74213 2006-10-16  Eric Blake  <ebb9@byu.net>
74214
74215         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
74216         match Automake 1.10a.
74217
74218 2006-10-14  Bruno Haible  <bruno@clisp.org>
74219
74220         * modules/sigprocmask: New file.
74221         * lib/sigprocmask.h: New file.
74222         * lib/sigprocmask.c: New file.
74223         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
74224         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
74225         request sigprocmask.o.
74226         (gl_PREREQ_SIGPROCMASK): New macro.
74227         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
74228         (Depends-on): Add sigprocmask.
74229         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
74230         gt_SIGNALBLOCKING. Test for 'raise' only once.
74231         * lib/fatal-signal.c: Include sigprocmask.h.
74232         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
74233         unblock_fatal_signals): Define always.
74234         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74235         sigprocmask.
74236
74237 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
74238
74239         Sync from Automake.
74240         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
74241         which incorrectly sets the mode of an existing destination
74242         directory.  In some cases the unpatched install-sh could do the
74243         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
74244         system.  We hope this is rare in practice, but it's clearly worth
74245         fixing.  Problem reported by Alex Unleashed in
74246         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
74247         Also, don't bother to check for -m bugs unless we're using -m;
74248         suggested by Stepan Kasal.
74249
74250 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74251
74252         Sync from Automake.
74253         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
74254         `-c' flag, so they appear at the same position as in %FASTDEP%
74255         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
74256         which ignores unknown options only after the first non-option.
74257         Bug report against M4 by Nelson H. F. Beebe.
74258
74259 2006-10-13  Jim Meyering  <jim@meyering.net>
74260
74261         Fix a bug in yesterday's change.
74262         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
74263         p->fts_statp->st_dev would be used uninitialized.
74264         Ensures that we always call fts_stat on the very first entry.
74265         Miklos Szeredi reported that find -xdev stopped working.
74266
74267 2006-10-12  Bruno Haible  <bruno@clisp.org>
74268
74269         * gnulib-tool (func_get_automake_snippet): Append an automatically
74270         computed EXTRA_DIST augmentation.
74271         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
74272         * modules/alloca-opt (Makefile.am): Likewise.
74273         * modules/allocsa (Makefile.am): Likewise.
74274         * modules/arcfour (Makefile.am): Likewise.
74275         * modules/arctwo (Makefile.am): Likewise.
74276         * modules/argmatch (Makefile.am): Likewise.
74277         * modules/argz (Makefile.am): Likewise.
74278         * modules/atexit (Makefile.am): Likewise.
74279         * modules/backupfile (Makefile.am): Likewise.
74280         * modules/byteswap (Makefile.am): Likewise.
74281         * modules/c-strtod (Makefile.am): Likewise.
74282         * modules/c-strtold (Makefile.am): Likewise.
74283         * modules/calloc (Makefile.am): Likewise.
74284         * modules/canon-host (Makefile.am): Likewise.
74285         * modules/canonicalize (Makefile.am): Likewise.
74286         * modules/chdir-long (Makefile.am): Likewise.
74287         * modules/chdir-safer (Makefile.am): Likewise.
74288         * modules/check-version (Makefile.am): Likewise.
74289         * modules/chown (Makefile.am): Likewise.
74290         * modules/cloexec (Makefile.am): Likewise.
74291         * modules/close-stream (Makefile.am): Likewise.
74292         * modules/closeout (Makefile.am): Likewise.
74293         * modules/crc (Makefile.am): Likewise.
74294         * modules/csharpexec (Makefile.am): Likewise.
74295         * modules/cycle-check (Makefile.am): Likewise.
74296         * modules/des (Makefile.am): Likewise.
74297         * modules/dev-ino (Makefile.am): Likewise.
74298         * modules/dirfd (Makefile.am): Likewise.
74299         * modules/dirname (Makefile.am): Likewise.
74300         * modules/dup2 (Makefile.am): Likewise.
74301         * modules/eealloc (Makefile.am): Likewise.
74302         * modules/error (Makefile.am): Likewise.
74303         * modules/euidaccess (Makefile.am): Likewise.
74304         * modules/exclude (Makefile.am): Likewise.
74305         * modules/exitfail (Makefile.am): Likewise.
74306         * modules/fcntl-safer (Makefile.am): Likewise.
74307         * modules/fcntl (Makefile.am): Likewise.
74308         * modules/file-type (Makefile.am): Likewise.
74309         * modules/fileblocks (Makefile.am): Likewise.
74310         * modules/filemode (Makefile.am): Likewise.
74311         * modules/filenamecat (Makefile.am): Likewise.
74312         * modules/fnmatch (Makefile.am): Likewise.
74313         * modules/fopen-safer (Makefile.am): Likewise.
74314         * modules/fpending (Makefile.am): Likewise.
74315         * modules/fprintftime (Makefile.am): Likewise.
74316         * modules/free (Makefile.am): Likewise.
74317         * modules/fsusage (Makefile.am): Likewise.
74318         * modules/ftruncate (Makefile.am): Likewise.
74319         * modules/fts (Makefile.am): Likewise.
74320         * modules/gc-arcfour (Makefile.am): Likewise.
74321         * modules/gc-des (Makefile.am): Likewise.
74322         * modules/gc-hmac-md5 (Makefile.am): Likewise.
74323         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
74324         * modules/gc-md4 (Makefile.am): Likewise.
74325         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74326         * modules/gc-sha1 (Makefile.am): Likewise.
74327         * modules/gc (Makefile.am): Likewise.
74328         * modules/getaddrinfo (Makefile.am): Likewise.
74329         * modules/getcwd (Makefile.am): Likewise.
74330         * modules/getdelim (Makefile.am): Likewise.
74331         * modules/getdomainname (Makefile.am): Likewise.
74332         * modules/getgroups (Makefile.am): Likewise.
74333         * modules/gethostname (Makefile.am): Likewise.
74334         * modules/gethrxtime (Makefile.am): Likewise.
74335         * modules/getline (Makefile.am): Likewise.
74336         * modules/getloadavg (Makefile.am): Likewise.
74337         * modules/getlogin_r (Makefile.am): Likewise.
74338         * modules/getndelim2 (Makefile.am): Likewise.
74339         * modules/getopt (Makefile.am): Likewise.
74340         * modules/getpagesize (Makefile.am): Likewise.
74341         * modules/getpass-gnu (Makefile.am): Likewise.
74342         * modules/getpass (Makefile.am): Likewise.
74343         * modules/getsubopt (Makefile.am): Likewise.
74344         * modules/gettime (Makefile.am): Likewise.
74345         * modules/gettimeofday (Makefile.am): Likewise.
74346         * modules/getugroups (Makefile.am): Likewise.
74347         * modules/getusershell (Makefile.am): Likewise.
74348         * modules/glob (Makefile.am): Likewise.
74349         * modules/group-member (Makefile.am): Likewise.
74350         * modules/hard-locale (Makefile.am): Likewise.
74351         * modules/hash (Makefile.am): Likewise.
74352         * modules/hmac-md5 (Makefile.am): Likewise.
74353         * modules/hmac-sha1 (Makefile.am): Likewise.
74354         * modules/human (Makefile.am): Likewise.
74355         * modules/idcache (Makefile.am): Likewise.
74356         * modules/imaxabs (Makefile.am): Likewise.
74357         * modules/imaxdiv (Makefile.am): Likewise.
74358         * modules/inet_ntop (Makefile.am): Likewise.
74359         * modules/inet_pton (Makefile.am): Likewise.
74360         * modules/intprops (Makefile.am): Likewise.
74361         * modules/inttostr (Makefile.am): Likewise.
74362         * modules/inttypes (Makefile.am): Likewise.
74363         * modules/isapipe (Makefile.am): Likewise.
74364         * modules/javaversion (Makefile.am): Likewise.
74365         * modules/lchmod (Makefile.am): Likewise.
74366         * modules/lchown (Makefile.am): Likewise.
74367         * modules/localcharset (Makefile.am): Likewise.
74368         * modules/long-options (Makefile.am): Likewise.
74369         * modules/lstat (Makefile.am): Likewise.
74370         * modules/malloc (Makefile.am): Likewise.
74371         * modules/mathl (Makefile.am): Likewise.
74372         * modules/mbchar (Makefile.am): Likewise.
74373         * modules/md2 (Makefile.am): Likewise.
74374         * modules/md4 (Makefile.am): Likewise.
74375         * modules/md5 (Makefile.am): Likewise.
74376         * modules/memcasecmp (Makefile.am): Likewise.
74377         * modules/memchr (Makefile.am): Likewise.
74378         * modules/memcmp (Makefile.am): Likewise.
74379         * modules/memcoll (Makefile.am): Likewise.
74380         * modules/memcpy (Makefile.am): Likewise.
74381         * modules/memmem (Makefile.am): Likewise.
74382         * modules/memmove (Makefile.am): Likewise.
74383         * modules/mempcpy (Makefile.am): Likewise.
74384         * modules/memrchr (Makefile.am): Likewise.
74385         * modules/memset (Makefile.am): Likewise.
74386         * modules/memxor (Makefile.am): Likewise.
74387         * modules/mkancesdirs (Makefile.am): Likewise.
74388         * modules/mkdir-p (Makefile.am): Likewise.
74389         * modules/mkdir (Makefile.am): Likewise.
74390         * modules/mkdtemp (Makefile.am): Likewise.
74391         * modules/mkstemp (Makefile.am): Likewise.
74392         * modules/mktime (Makefile.am): Likewise.
74393         * modules/modechange (Makefile.am): Likewise.
74394         * modules/mountlist (Makefile.am): Likewise.
74395         * modules/nanosleep (Makefile.am): Likewise.
74396         * modules/obstack (Makefile.am): Likewise.
74397         * modules/openat (Makefile.am): Likewise.
74398         * modules/pagealign_alloc (Makefile.am): Likewise.
74399         * modules/pathmax (Makefile.am): Likewise.
74400         * modules/physmem (Makefile.am): Likewise.
74401         * modules/poll (Makefile.am): Likewise.
74402         * modules/posixtm (Makefile.am): Likewise.
74403         * modules/posixver (Makefile.am): Likewise.
74404         * modules/putenv (Makefile.am): Likewise.
74405         * modules/quote (Makefile.am): Likewise.
74406         * modules/quotearg (Makefile.am): Likewise.
74407         * modules/raise (Makefile.am): Likewise.
74408         * modules/read-file (Makefile.am): Likewise.
74409         * modules/readline (Makefile.am): Likewise.
74410         * modules/readlink (Makefile.am): Likewise.
74411         * modules/readtokens (Makefile.am): Likewise.
74412         * modules/readutmp (Makefile.am): Likewise.
74413         * modules/realloc (Makefile.am): Likewise.
74414         * modules/regex (Makefile.am): Likewise.
74415         * modules/rename-dest-slash (Makefile.am): Likewise.
74416         * modules/rename (Makefile.am): Likewise.
74417         * modules/rijndael (Makefile.am): Likewise.
74418         * modules/rmdir (Makefile.am): Likewise.
74419         * modules/rpmatch (Makefile.am): Likewise.
74420         * modules/safe-read (Makefile.am): Likewise.
74421         * modules/safe-write (Makefile.am): Likewise.
74422         * modules/same-inode (Makefile.am): Likewise.
74423         * modules/same (Makefile.am): Likewise.
74424         * modules/save-cwd (Makefile.am): Likewise.
74425         * modules/savedir (Makefile.am): Likewise.
74426         * modules/setenv (Makefile.am): Likewise.
74427         * modules/settime (Makefile.am): Likewise.
74428         * modules/sha1 (Makefile.am): Likewise.
74429         * modules/sig2str (Makefile.am): Likewise.
74430         * modules/snprintf (Makefile.am): Likewise.
74431         * modules/stat-macros (Makefile.am): Likewise.
74432         * modules/stat-time (Makefile.am): Likewise.
74433         * modules/stdbool (Makefile.am): Likewise.
74434         * modules/stdint (Makefile.am): Likewise.
74435         * modules/stdlib-safer (Makefile.am): Likewise.
74436         * modules/stpcpy (Makefile.am): Likewise.
74437         * modules/stpncpy (Makefile.am): Likewise.
74438         * modules/strcase (Makefile.am): Likewise.
74439         * modules/strcasestr (Makefile.am): Likewise.
74440         * modules/strchrnul (Makefile.am): Likewise.
74441         * modules/strcspn (Makefile.am): Likewise.
74442         * modules/strdup (Makefile.am): Likewise.
74443         * modules/strerror (Makefile.am): Likewise.
74444         * modules/strftime (Makefile.am): Likewise.
74445         * modules/strndup (Makefile.am): Likewise.
74446         * modules/strnlen (Makefile.am): Likewise.
74447         * modules/strpbrk (Makefile.am): Likewise.
74448         * modules/strsep (Makefile.am): Likewise.
74449         * modules/strstr (Makefile.am): Likewise.
74450         * modules/strtod (Makefile.am): Likewise.
74451         * modules/strtoimax (Makefile.am): Likewise.
74452         * modules/strtok_r (Makefile.am): Likewise.
74453         * modules/strtol (Makefile.am): Likewise.
74454         * modules/strtoll (Makefile.am): Likewise.
74455         * modules/strtoul (Makefile.am): Likewise.
74456         * modules/strtoull (Makefile.am): Likewise.
74457         * modules/strtoumax (Makefile.am): Likewise.
74458         * modules/strverscmp (Makefile.am): Likewise.
74459         * modules/sys_socket (Makefile.am): Likewise.
74460         * modules/sys_stat (Makefile.am): Likewise.
74461         * modules/sysexits (Makefile.am): Likewise.
74462         * modules/time_r (Makefile.am): Likewise.
74463         * modules/timegm (Makefile.am): Likewise.
74464         * modules/timespec (Makefile.am): Likewise.
74465         * modules/tmpfile-safer (Makefile.am): Likewise.
74466         * modules/trim (Makefile.am): Likewise.
74467         * modules/unistd-safer (Makefile.am): Likewise.
74468         * modules/unlinkdir (Makefile.am): Likewise.
74469         * modules/unlocked-io (Makefile.am): Likewise.
74470         * modules/userspec (Makefile.am): Likewise.
74471         * modules/utime (Makefile.am): Likewise.
74472         * modules/utimecmp (Makefile.am): Likewise.
74473         * modules/utimens (Makefile.am): Likewise.
74474         * modules/vasnprintf (Makefile.am): Likewise.
74475         * modules/vasprintf (Makefile.am): Likewise.
74476         * modules/vsnprintf (Makefile.am): Likewise.
74477         * modules/xalloc (Makefile.am): Likewise.
74478         * modules/xgetcwd (Makefile.am): Likewise.
74479         * modules/xnanosleep (Makefile.am): Likewise.
74480         * modules/xreadlink (Makefile.am): Likewise.
74481         * modules/xstrtod (Makefile.am): Likewise.
74482         * modules/xstrtol (Makefile.am): Likewise.
74483         * modules/xstrtold (Makefile.am): Likewise.
74484         * modules/yesno (Makefile.am): Likewise.
74485         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
74486
74487 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74488
74489         * modules/error (Makefile.am): Distribute files through
74490         EXTRA_DIST, not lib_SOURCES.
74491
74492 2006-10-12  Eric Blake  <ebb9@byu.net>
74493
74494         * modules/error (Makefile.am): Distribute files in /lib.
74495         * modules/obstack (Makefile.am): Likewise.
74496
74497 2006-10-12  Bruno Haible  <bruno@clisp.org>
74498
74499         * modules/acl (Makefile.am): Distribute all files in lib/ through
74500         EXTRA_DIST.
74501         * modules/arcfour (Makefile.am): Likewise.
74502         * modules/arctwo (Makefile.am): Likewise.
74503         * modules/argmatch (Makefile.am): Likewise.
74504         * modules/argz (Makefile.am): Likewise.
74505         * modules/atexit (Makefile.am): Likewise.
74506         * modules/backupfile (Makefile.am): Likewise.
74507         * modules/c-strtod (Makefile.am): Likewise.
74508         * modules/c-strtold (Makefile.am): Likewise.
74509         * modules/calloc (Makefile.am): Likewise.
74510         * modules/canon-host (Makefile.am): Likewise.
74511         * modules/canonicalize (Makefile.am): Likewise.
74512         * modules/chdir-long (Makefile.am): Likewise.
74513         * modules/chdir-safer (Makefile.am): Likewise.
74514         * modules/check-version (Makefile.am): Likewise.
74515         * modules/chown (Makefile.am): Likewise.
74516         * modules/cloexec (Makefile.am): Likewise.
74517         * modules/close-stream (Makefile.am): Likewise.
74518         * modules/closeout (Makefile.am): Likewise.
74519         * modules/crc (Makefile.am): Likewise.
74520         * modules/cycle-check (Makefile.am): Likewise.
74521         * modules/des (Makefile.am): Likewise.
74522         * modules/dirfd (Makefile.am): Likewise.
74523         * modules/dirname (Makefile.am): Likewise.
74524         * modules/dup2 (Makefile.am): Likewise.
74525         * modules/euidaccess (Makefile.am): Likewise.
74526         * modules/exclude (Makefile.am): Likewise.
74527         * modules/exitfail (Makefile.am): Likewise.
74528         * modules/fcntl-safer (Makefile.am): Likewise.
74529         * modules/file-type (Makefile.am): Likewise.
74530         * modules/fileblocks (Makefile.am): Likewise.
74531         * modules/filemode (Makefile.am): Likewise.
74532         * modules/filenamecat (Makefile.am): Likewise.
74533         * modules/fnmatch (Makefile.am): Likewise.
74534         * modules/fopen-safer (Makefile.am): Likewise.
74535         * modules/fpending (Makefile.am): Likewise.
74536         * modules/fprintftime (Makefile.am): Likewise.
74537         * modules/free (Makefile.am): Likewise.
74538         * modules/fsusage (Makefile.am): Likewise.
74539         * modules/ftruncate (Makefile.am): Likewise.
74540         * modules/fts (Makefile.am): Likewise.
74541         * modules/gc (Makefile.am): Likewise.
74542         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
74543         * modules/getaddrinfo (Makefile.am): Likewise.
74544         * modules/getcwd (Makefile.am): Likewise.
74545         * modules/getdelim (Makefile.am): Likewise.
74546         * modules/getdomainname (Makefile.am): Likewise.
74547         * modules/getgroups (Makefile.am): Likewise.
74548         * modules/gethostname (Makefile.am): Likewise.
74549         * modules/gethrxtime (Makefile.am): Likewise.
74550         * modules/getline (Makefile.am): Likewise.
74551         * modules/getloadavg (Makefile.am): Likewise.
74552         * modules/getlogin_r (Makefile.am): Likewise.
74553         * modules/getopt (Makefile.am): Likewise.
74554         * modules/getpass (Makefile.am): Likewise.
74555         * modules/getpass-gnu (Makefile.am): Likewise.
74556         * modules/getsubopt (Makefile.am): Likewise.
74557         * modules/gettime (Makefile.am): Likewise.
74558         * modules/gettimeofday (Makefile.am): Likewise.
74559         * modules/getugroups (Makefile.am): Likewise.
74560         * modules/getusershell (Makefile.am): Likewise.
74561         * modules/glob (Makefile.am): Likewise.
74562         * modules/group-member (Makefile.am): Likewise.
74563         * modules/hard-locale (Makefile.am): Likewise.
74564         * modules/hash (Makefile.am): Likewise.
74565         * modules/hmac-md5 (Makefile.am): Likewise.
74566         * modules/hmac-sha1 (Makefile.am): Likewise.
74567         * modules/human (Makefile.am): Likewise.
74568         * modules/idcache (Makefile.am): Likewise.
74569         * modules/imaxabs (Makefile.am): Likewise.
74570         * modules/imaxdiv (Makefile.am): Likewise.
74571         * modules/inet_ntop (Makefile.am): Likewise.
74572         * modules/inet_pton (Makefile.am): Likewise.
74573         * modules/inttostr (Makefile.am): Likewise.
74574         * modules/isapipe (Makefile.am): Likewise.
74575         * modules/lchown (Makefile.am): Likewise.
74576         * modules/long-options (Makefile.am): Likewise.
74577         * modules/lstat (Makefile.am): Likewise.
74578         * modules/malloc (Makefile.am): Likewise.
74579         * modules/mathl (Makefile.am): Likewise.
74580         * modules/mbchar (Makefile.am): Likewise.
74581         * modules/md2 (Makefile.am): Likewise.
74582         * modules/md4 (Makefile.am): Likewise.
74583         * modules/md5 (Makefile.am): Likewise.
74584         * modules/memcasecmp (Makefile.am): Likewise.
74585         * modules/memchr (Makefile.am): Likewise.
74586         * modules/memcmp (Makefile.am): Likewise.
74587         * modules/memcoll (Makefile.am): Likewise.
74588         * modules/memcpy (Makefile.am): Likewise.
74589         * modules/memmem (Makefile.am): Likewise.
74590         * modules/memmove (Makefile.am): Likewise.
74591         * modules/mempcpy (Makefile.am): Likewise.
74592         * modules/memrchr (Makefile.am): Likewise.
74593         * modules/memset (Makefile.am): Likewise.
74594         * modules/memxor (Makefile.am): Likewise.
74595         * modules/mkancesdirs (Makefile.am): Likewise.
74596         * modules/mkdir (Makefile.am): Likewise.
74597         * modules/mkdir-p (Makefile.am): Likewise.
74598         * modules/mkdtemp (Makefile.am): Likewise.
74599         * modules/mkstemp (Makefile.am): Likewise.
74600         * modules/mktime (Makefile.am): Likewise.
74601         * modules/modechange (Makefile.am): Likewise.
74602         * modules/mountlist (Makefile.am): Likewise.
74603         * modules/nanosleep (Makefile.am): Likewise.
74604         * modules/openat (Makefile.am): Likewise.
74605         * modules/pagealign_alloc (Makefile.am): Likewise.
74606         * modules/physmem (Makefile.am): Likewise.
74607         * modules/poll (Makefile.am): Likewise.
74608         * modules/posixtm (Makefile.am): Likewise.
74609         * modules/posixver (Makefile.am): Likewise.
74610         * modules/putenv (Makefile.am): Likewise.
74611         * modules/quote (Makefile.am): Likewise.
74612         * modules/quotearg (Makefile.am): Likewise.
74613         * modules/raise (Makefile.am): Likewise.
74614         * modules/read-file (Makefile.am): Likewise.
74615         * modules/readline (Makefile.am): Likewise.
74616         * modules/readlink (Makefile.am): Likewise.
74617         * modules/readtokens (Makefile.am): Likewise.
74618         * modules/readutmp (Makefile.am): Likewise.
74619         * modules/realloc (Makefile.am): Likewise.
74620         * modules/regex (Makefile.am): Likewise.
74621         * modules/rename (Makefile.am): Likewise.
74622         * modules/rename-dest-slash (Makefile.am): Likewise.
74623         * modules/rijndael (Makefile.am): Likewise.
74624         * modules/rmdir (Makefile.am): Likewise.
74625         * modules/rpmatch (Makefile.am): Likewise.
74626         * modules/safe-read (Makefile.am): Likewise.
74627         * modules/safe-write (Makefile.am): Likewise.
74628         * modules/same (Makefile.am): Likewise.
74629         * modules/save-cwd (Makefile.am): Likewise.
74630         * modules/savedir (Makefile.am): Likewise.
74631         * modules/setenv (Makefile.am): Likewise.
74632         * modules/settime (Makefile.am): Likewise.
74633         * modules/sha1 (Makefile.am): Likewise.
74634         * modules/sig2str (Makefile.am): Likewise.
74635         * modules/snprintf (Makefile.am): Likewise.
74636         * modules/stdlib-safer (Makefile.am): Likewise.
74637         * modules/stpcpy (Makefile.am): Likewise.
74638         * modules/stpncpy (Makefile.am): Likewise.
74639         * modules/strcase (Makefile.am): Likewise.
74640         * modules/strcasestr (Makefile.am): Likewise.
74641         * modules/strchrnul (Makefile.am): Likewise.
74642         * modules/strcspn (Makefile.am): Likewise.
74643         * modules/strdup (Makefile.am): Likewise.
74644         * modules/strerror (Makefile.am): Likewise.
74645         * modules/strftime (Makefile.am): Likewise.
74646         * modules/strndup (Makefile.am): Likewise.
74647         * modules/strnlen (Makefile.am): Likewise.
74648         * modules/strpbrk (Makefile.am): Likewise.
74649         * modules/strsep (Makefile.am): Likewise.
74650         * modules/strstr (Makefile.am): Likewise.
74651         * modules/strtod (Makefile.am): Likewise.
74652         * modules/strtoimax (Makefile.am): Likewise.
74653         * modules/strtok_r (Makefile.am): Likewise.
74654         * modules/strtol (Makefile.am): Likewise.
74655         * modules/strtoll (Makefile.am): Likewise.
74656         * modules/strtoul (Makefile.am): Likewise.
74657         * modules/strtoull (Makefile.am): Likewise.
74658         * modules/strtoumax (Makefile.am): Likewise.
74659         * modules/strverscmp (Makefile.am): Likewise.
74660         * modules/time_r (Makefile.am): Likewise.
74661         * modules/timegm (Makefile.am): Likewise.
74662         * modules/tmpfile-safer (Makefile.am): Likewise.
74663         * modules/unistd-safer (Makefile.am): Likewise.
74664         * modules/unlinkdir (Makefile.am): Likewise.
74665         * modules/userspec (Makefile.am): Likewise.
74666         * modules/utime (Makefile.am): Likewise.
74667         * modules/utimecmp (Makefile.am): Likewise.
74668         * modules/utimens (Makefile.am): Likewise.
74669         * modules/vasnprintf (Makefile.am): Likewise.
74670         * modules/vasprintf (Makefile.am): Likewise.
74671         * modules/vsnprintf (Makefile.am): Likewise.
74672         * modules/xalloc (Makefile.am): Likewise.
74673         * modules/xgetcwd (Makefile.am): Likewise.
74674         * modules/xnanosleep (Makefile.am): Likewise.
74675         * modules/xreadlink (Makefile.am): Likewise.
74676         * modules/xstrtod (Makefile.am): Likewise.
74677         * modules/xstrtol (Makefile.am): Likewise.
74678         * modules/xstrtold (Makefile.am): Likewise.
74679         * modules/yesno (Makefile.am): Likewise.
74680
74681 2006-10-12  Jim Meyering  <jim@meyering.net>
74682
74683         * m4/getloadavg.m4: Revert the change below.
74684
74685         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
74686         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
74687         fail with a symlink, which is what coreutils' ./bootstrap now
74688         creates by default.
74689
74690 2006-10-12  Bruno Haible  <bruno@clisp.org>
74691
74692         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
74693         mingw.
74694         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
74695         MSVC and mingw explicitly.
74696
74697 2006-10-11  Simon Josefsson  <jas@extundo.com>
74698             Bruno Haible  <bruno@clisp.org>
74699
74700         Add support for multiple gnulib-tool invocations in the scope of a
74701         single configure.ac file.
74702         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
74703         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
74704         with the same contents as the _LIBADD variable.
74705         (func_emit_initmacro_start, func_emit_initmacro_end,
74706         func_emit_initmacro_done): New functions.
74707         (func_import, func_create_testdir): Invoke them. Allow the identifiers
74708         gl_LIBOBJS and gl_LTLIBOBJS.
74709
74710 2006-10-11  Bruno Haible  <bruno@clisp.org>
74711
74712         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
74713         (func_create_testdir): Don't create po/Makefile.am, don't invoke
74714         autoreconf. Instead, invoke autopoint explicitly but move back the
74715         *.m4 files from gnulib.
74716
74717 2006-10-11  Bruno Haible  <bruno@clisp.org>
74718
74719         * gnulib-tool (func_usage): Make module names after --create-testdir
74720         optional.
74721         (func_create_testdir): If no module was specified, use nearly all
74722         modules.
74723
74724 2006-10-12  Jim Meyering  <jim@meyering.net>
74725
74726         Big performance improvement for fts-based tools that use FTS_NOSTAT.
74727         Avoid spurious inode-mismatch problems on non-POSIX file systems.
74728         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
74729         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
74730         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
74731         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
74732         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
74733         (fts_set_stat_required): New function.
74734         (fts_open): Defer the calls to fts_stat, if possible or requested.
74735         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
74736         into fts_stat itself.
74737         (fts_read): Perform any required (deferred) fts_stat call.
74738         (fts_build): Likewise, for the directory we're about to open and read.
74739         In the readdir loop, carefully decide whether each entry will require
74740         an eventual call to fts_stat, using dirent.d_type info if available.
74741         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
74742         a command line argument into this function.  Update all callers.
74743         Map a return value of FTS_DOT to FTS_D for a command line argument.
74744         * modules/fts (Depends-on): Add d-type.  Alphabetize.
74745         Thanks to Miklos Szeredi for his tenacity and for the initial
74746         bug report about "find" failing on a FUSE-based file system.
74747
74748         * lib/fts.c (fts_open): Use consistent indentation.
74749
74750 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
74751
74752         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
74753         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
74754         reported by Jim Meyering.  All uses of cache variables renamed
74755         to match Autoconf's.
74756         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
74757         the other one.
74758
74759         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
74760         Fix misspelling in diagnostic.
74761
74762 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74763
74764         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
74765         defined.  Problem reported by Matthew Woehlke.
74766
74767         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
74768         Add support for Tandem NonStop R series.
74769         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
74770         Use new macro.
74771
74772         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
74773         (has_trailing_slash): Omit size arg; all callers changed.
74774         Omit 'inline', since it doesn't help performance and we'd
74775         need to configure it.
74776         Don't count //, ///, etc. as having a trailing slash.
74777         As a side effect, this removes a C99ism reported by Matthew Woehlke.
74778         (rpl_rename_dest_slash): On failure, use rename's errno rather
74779         than (in some cases) an incorrect or junk errno.
74780         Simplify code by removing need to compute length; this does
74781         cause it to make two passes instead of one over the file name,
74782         but it's worth it.
74783
74784         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
74785         change, since Autoconf's version may no longer be appropriate now
74786         that we are using CVS Autoconf's version.  Add support for Tandem.
74787
74788 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
74789             Bruno Haible  <bruno@clisp.org>
74790
74791         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
74792         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
74793         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
74794         gl_AC_TYPE_LONG_LONG.
74795
74796         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
74797         instead of HAVE_LONG_LONG.
74798         * lib/printf-args.c (printf_fetchargs): Likewise.
74799         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
74800         * lib/vasnprintf.c (VASNPRINTF): Likewise.
74801         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
74802         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
74803         gl_AC_TYPE_LONG_LONG.
74804
74805 2006-10-11  Bruno Haible  <bruno@clisp.org>
74806
74807         * m4/longlong.m4: Add comments.
74808         * m4/ulonglong.m4: Likewise.
74809
74810 2006-10-10  Bruno Haible  <bruno@clisp.org>
74811
74812         Make it possible to #define stpcpy, strdup to aliases.
74813         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
74814         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
74815
74816 2006-10-10  Bruno Haible  <bruno@clisp.org>
74817
74818         Make it possible to #define gcd to an alias.
74819         * lib/gcd.c: Include config.h.
74820
74821 2006-10-10  Bruno Haible  <bruno@clisp.org>
74822
74823         Make it possible to #define c_isascii to an alias.
74824         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
74825         defined. Undefine the macros before defining them, to avoid gcc
74826         warnings.
74827         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
74828         define NO_C_CTYPE_MACROS early.
74829
74830 2006-10-10  Bruno Haible  <bruno@clisp.org>
74831
74832         Make it possible to #define set_program_name to an alias.
74833         * lib/progname.c: Don't undefine set_program_name; instead, undefine
74834         ENABLE_RELOCATABLE early.
74835
74836 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
74837
74838         Port to Tandem NSK OSS, which has 64-bit signed int but at most
74839         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
74840         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
74841         More generally, don't assume that 64-bit signed int is available
74842         if unsigned int is, and vice versa.
74843         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
74844         unsigned symbols, not on their signed counterparts.
74845         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
74846         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
74847         (UINT64_C, UINTMAX_C):
74848         Likewise.
74849         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
74850         unsigned counterparts.
74851         (Have_long_long, Unsigned): New macros.
74852         (Int): Renamed from INT.
74853         (strtoimax): Use the new macros.
74854         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
74855         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
74856         * modules/inttypes (inttypes.h): Substitute
74857         HAVE_UNSIGNED_LONG_LONG_INT.
74858         * modules/stdint (stdint.h): Likewise.
74859         (Files): Add m4/ulonglong.m4.
74860
74861 2006-10-10  Bruno Haible  <bruno@clisp.org>
74862
74863         Fix a gcc -Wshadow warning.
74864         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
74865         to 'bucket'.
74866         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
74867         gl_linked_indexof_from_to): Likewise.
74868         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
74869         Likewise.
74870         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
74871         Likewise.
74872         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
74873         Reported by Eric Blake.
74874
74875 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
74876
74877         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
74878         for NetBSD.  Problem reported by Bruno Haible.
74879
74880 2006-10-09  Jim Meyering  <jim@meyering.net>
74881
74882         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
74883         Patch from Bruno Haible.
74884
74885 2006-10-09  Jim Meyering  <jim@meyering.net>
74886
74887         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
74888         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
74889         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
74890
74891 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74892
74893         Don't include <config.h> twice; this doesn't work in some cases,
74894         e.g., when config.h has "#define intmax_t long long int" and
74895         we include <config.h>, <inttypes.h>, <config.h> in that order.
74896         Problem reported by Matthew Woehlke in:
74897         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
74898         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
74899         * lib/fts-cycle.c: Don't include config.h.
74900         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
74901         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
74902         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
74903         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
74904         inttypes.h.
74905         * lib/xstrtoumax.c: Likewise.
74906         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
74907         __strtol and the like, so that this module is more like its siblings.
74908         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
74909         Remove; no longer needed now that we assume gnulib inttypes.h.
74910
74911 2006-10-08  Bruno Haible  <bruno@clisp.org>
74912
74913         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
74914         option.
74915
74916 2006-10-07  Jim Meyering  <jim@meyering.net>
74917
74918         * modules/inttypes (inttypes.h): Revert what seems to have been
74919         an inadvertent part of today's change: use "|", not "/" in the
74920         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
74921
74922 2006-10-07  Bruno Haible  <bruno@clisp.org>
74923
74924         * modules/sublist: New file.
74925
74926 2006-10-07  Bruno Haible  <bruno@clisp.org>
74927
74928         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
74929         * modules/argz (argz.h): Likewise.
74930         * modules/arpa_inet (arpa/inet.h): Likewise.
74931         * modules/byteswap (byteswap.h): Likewise.
74932         * modules/configmake (configmake.h): Likewise.
74933         * modules/fcntl (fcntl.h): Likewise.
74934         * modules/fnmatch (fnmatch.h): Likewise.
74935         * modules/getopt (getopt.h): Likewise.
74936         * modules/glob (glob.h): Likewise.
74937         * modules/inttypes (inttypes.h): Likewise.
74938         * modules/netinet_in (netinet/in.h): Likewise.
74939         * modules/poll (poll.h): Likewise.
74940         * modules/stdbool (stdbool.h): Likewise.
74941         * modules/stdint (stdint.h): Likewise.
74942         * modules/sys_select (sys/select.h): Likewise.
74943         * modules/sys_socket (sys/socket.h): Likewise.
74944         * modules/sys_stat (sys/stat.h): Likewise.
74945         * modules/sysexits (sysexits.h): Likewise.
74946         * modules/unistd (unistd.h): Likewise.
74947         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
74948         Add a "DO NOT EDIT" comment to the generated file.
74949         (func_import): Likewise for gnulib-comp.m4.
74950
74951 2006-10-07  Bruno Haible  <bruno@clisp.org>
74952
74953         * lib/gl_sublist.h: New file.
74954         * lib/gl_sublist.c: New file.
74955
74956 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
74957
74958         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
74959         name (relative to the original working directory) and the file
74960         name component (relative to the temporary working directory).  All
74961         callers changed.
74962         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
74963         * lib/mkdir-p.c (make_dir_parents): Likewise.
74964         * lib/mkdir-p.h (make_dir_parents): Likewise.
74965
74966 2006-10-06  Eric Blake  <ebb9@byu.net>
74967
74968         Define several macros for use by the clean-temp module.
74969         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
74970         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
74971         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
74972
74973         * lib/clean-temp.h (close_stream_temp): New declaration.
74974         * lib/clean-temp.c (includes): Pull in headers according to what
74975         other modules are in use.
74976         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
74977
74978 2006-10-06  Bruno Haible  <bruno@clisp.org>
74979
74980         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
74981         instead of fopen, fwriteerror.
74982
74983 2006-10-06  Bruno Haible  <bruno@clisp.org>
74984
74985         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
74986         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
74987         int.
74988         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
74989         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
74990         Return an error indicator.
74991         Suggested by Eric Blake.
74992
74993 2006-10-06  Bruno Haible  <bruno@clisp.org>
74994
74995         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
74996         Reported by Eric Blake.
74997
74998 2006-10-06  Bruno Haible  <bruno@clisp.org>
74999
75000         * modules/closeout (Description): Mention stderr too.
75001
75002 2006-10-06  Bruno Haible  <bruno@clisp.org>
75003         and Paul Eggert  <eggert@cs.ucla.edu>
75004
75005         * lib/closeout.c (close_stdout): Also close stderr.
75006         * lib/closeout.h: Update comment.
75007
75008 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
75009
75010         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
75011         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
75012         * lib/dirchownmod.c: Include lchown.h.
75013         * lib/lchown.c: Don't include files that lchown.h now includes.
75014         Don't declare chown, since lchown.h now does that.
75015         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
75016         (lchown): Define to rpl_chown if lchown is declared but
75017         does not exist.  Declare using a prototype if lchown is not
75018         declared.  Add a copyright notice.
75019         * lib/mkstemp.h: Include <unistd.h>.
75020         * lib/openat.c: Include lchown.h.
75021
75022         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
75023         we now test for that separately.
75024         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
75025         rather than O_NOFOLLOW, when testing whether it's possible to
75026         avoid a race condition reliably.
75027         * lib/savewd.c (savewd_chdir): Likewise.
75028
75029         Remove macros that are no longer needed now that stdint.h is
75030         reliable.
75031         * lib/fsusage.c (UINTMAX_MAX): Remove.
75032         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
75033         * lib/utimecmp.c (SIZE_MAX): Remove.
75034
75035         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
75036
75037         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
75038         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
75039         O_NOATIME works.
75040
75041 2006-10-05  Bruno Haible  <bruno@clisp.org>
75042
75043         * lib/gl_list.h (gl_sortedlist_search_from_to,
75044         gl_sortedlist_indexof_from_to): New declarations.
75045         (gl_list_implementation): New fields sortedlist_search_from_to,
75046         sortedlist_indexof_from_to.
75047         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
75048         inline functions.
75049         * lib/gl_list.c (gl_sortedlist_search_from_to,
75050         gl_sortedlist_indexof_from_to): New functions.
75051         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
75052         function.
75053         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
75054         (gl_array_sortedlist_search_from_to): New function.
75055         (gl_array_list_implementation): Update.
75056         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
75057         function.
75058         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
75059         (gl_carray_sortedlist_search_from_to): New function.
75060         (gl_carray_list_implementation): Update.
75061         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
75062         gl_linked_sortedlist_indexof_from_to): New functions.
75063         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75064         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75065         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
75066         gl_tree_sortedlist_indexof_from_to): New functions.
75067         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75068         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75069         Update.
75070         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75071         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
75072         Update.
75073
75074 2006-10-05  Bruno Haible  <bruno@clisp.org>
75075
75076         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
75077         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
75078         (struct gl_list_implementation): Add fields search_from_to,
75079         indexof_from_to. Remove fields search, indexof.
75080         (gl_list_search): Use the search_from_to method.
75081         (gl_list_search_from, gl_list_search_from_to): New functions.
75082         (gl_list_indexof): Use the indexof_from_to method.
75083         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75084         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
75085         (gl_list_search_from, gl_list_search_from_to): New functions.
75086         (gl_list_indexof): Use the indexof_from_to method.
75087         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
75088         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
75089         gl_array_indexof. Add start_index, end_index arguments.
75090         (gl_array_search_from_to): Renamed from gl_array_search. Add
75091         start_index, end_index arguments.
75092         (gl_array_remove, gl_array_list_implementation): Update.
75093         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
75094         gl_carray_indexof. Add start_index, end_index arguments.
75095         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
75096         start_index, end_index arguments.
75097         (gl_carray_remove, gl_carray_list_implementation): Update.
75098         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
75099         gl_linked_search. Add start_index, end_index arguments.
75100         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
75101         start_index, end_index arguments.
75102         (gl_linked_remove): Update.
75103         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
75104         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
75105         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
75106         field to 'size_t'.
75107         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
75108         gl_tree_search. Add start_index, end_index arguments.
75109         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75110         start_index, end_index arguments.
75111         (gl_tree_remove): Update.
75112         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
75113         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
75114         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
75115         function.
75116         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
75117         gl_tree_search. Add start_index, end_index arguments.
75118         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
75119         start_index, end_index arguments.
75120         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
75121         Update.
75122         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
75123
75124 2006-10-05  Bruno Haible  <bruno@clisp.org>
75125
75126         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
75127
75128         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
75129         fwriteerror_temp): New declarations.
75130         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
75131         (descriptors): New variable.
75132         (cleanup): First, close the descriptors.
75133         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
75134         fclose_temp, fwriteerror_temp): New functions.
75135
75136 2006-10-04  Jim Meyering  <jim@meyering.net>
75137
75138         * lib/fts.c (fts_open): Tiny comment change.
75139
75140 2006-10-04  Bruno Haible  <bruno@clisp.org>
75141
75142         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
75143         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
75144         gl_LOCK_BODY.
75145         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
75146         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
75147         gl_LOCK_EARLY_BODY.
75148         (gl_LOCK): Require gl_LOCK_BODY.
75149
75150 2006-10-04  Bruno Haible  <bruno@clisp.org>
75151
75152         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
75153         (gl_oset_search_atleast): New declaration.
75154         (struct gl_oset_implementation): Add field 'search_atleast'.
75155         (gl_oset_search_atleast): New inline function.
75156         * lib/gl_oset.c (gl_oset_search_atleast): New function.
75157         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
75158         (gl_array_oset_implementation): Update.
75159         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
75160         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
75161         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
75162
75163 2006-10-04  Bruno Haible  <bruno@clisp.org>
75164
75165         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
75166
75167 2006-10-03  Bruno Haible  <bruno@clisp.org>
75168
75169         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
75170         from gl_avltreehash_list_implementation.
75171
75172 2006-10-03  Bruno Haible  <bruno@clisp.org>
75173
75174         * lib/gl_oset.c (gl_oset_add): Fix return type.
75175
75176 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
75177
75178         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
75179
75180 2006-10-02  Eric Blake  <ebb9@byu.net>
75181
75182         * modules/strnlen (Depends-on): Add extensions.
75183
75184 2006-10-02  Eric Blake  <ebb9@byu.net>
75185
75186         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
75187         definition in 2.60+.
75188
75189 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
75190
75191         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
75192         checks.
75193
75194 2006-10-02  Bruno Haible  <bruno@clisp.org>
75195
75196         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
75197         to the AUTOMAKE_OPTIONS.
75198         Reported by Jim Meyering.
75199
75200 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
75201
75202         Work around bug in Solaris 10 /proc file system:
75203         /proc/self/fd/NNN/.. isn't the parent directory of
75204         the directory whose file descriptor is NNN.  This needs to
75205         be worked around at run time, not compile time, since a
75206         program might be built on Solaris 8, where things work, and
75207         run on Solaris 10.
75208         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
75209         to use the following interface instead:
75210         (OPENAT_BUFFER_SIZE): New macro.
75211         (openat_proc_name): New function.
75212         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
75213         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
75214         Likewise.
75215         * lib/openat-proc.c: New file.
75216         * modules/openat (Files): Add lib/openat-proc.c.
75217         (Depends-on): Add same-inode, stdbool.
75218         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
75219
75220 2006-09-29  Bruno Haible  <bruno@clisp.org>
75221
75222         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
75223         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
75224         argument. Set stdout_closed before testing for ferror, not after.
75225         (fwriteerror, fwriteerror_no_ebadf): New functions.
75226
75227 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75228
75229         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
75230
75231 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
75232
75233         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
75234         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
75235
75236 2006-09-28  Jim Meyering  <jim@meyering.net>
75237
75238         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
75239         Include <unistd.h>.
75240
75241 2006-09-28  Bruno Haible  <bruno@clisp.org>
75242
75243         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
75244         * modules/linkedhash-list (Depends-on): Likewise.
75245         * modules/rbtreehash-list (Depends-on): Likewise.
75246
75247 2006-09-28  Bruno Haible  <bruno@clisp.org>
75248
75249         * lib/strndup.h: Simplify the redefinition of strndup.
75250         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
75251         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
75252
75253 2006-09-28  Bruno Haible  <bruno@clisp.org>
75254
75255         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
75256         * lib/gl_linkedhash_list.c: Likewise.
75257         * lib/gl_rbtreehash_list.c: Likewise.
75258
75259 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
75260
75261         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
75262         getaddrinfo.
75263
75264         * lib/__fpending.h: Don't include <stdio_ext.h> unless
75265         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
75266         it causes <stdio_ext.h> to cause a compile-time error.
75267         Problem reported by Nelson H. F. Beebe.
75268         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
75269         of HAVE_DECL___PENDING.
75270
75271         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
75272         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
75273         declaration.
75274
75275 2006-09-27  Jim Meyering  <jim@meyering.net>
75276
75277         This file could end up with a definition for a function
75278         named __strndup, rather than rpl_strndup on a system with
75279         incomplete weak_alias support.
75280         * lib/strndup.c (strndup): Rename from __strndup.
75281         Remove #defines that used to map __strndup to strndup.
75282         Don't use K&R prototypes.
75283         Remove LIBC-related code, since this file is not sync'd with glibc.
75284         * lib/strndup.h: Revamp, accordingly.
75285         * m4/strndup.m4: Modernize.
75286
75287 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
75288
75289         * modules/savewd (Depends-on): Add 'raise'.
75290         * lib/savewd.c: Include <signal.h>, for 'raise'.
75291
75292 2006-09-26  Jim Meyering  <jim@meyering.net>
75293
75294         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
75295         when we detect Darwin 8.7.0's acl_get_file bug.
75296         Rearrange to perform the new (below) run-test while $LIBS
75297         contains any acl-related library.  Set USE_ACL at the end.
75298         (gl_ACL_GET_FILE): New function.
75299
75300 2006-09-26  Eric Blake  <ebb9@byu.net>
75301
75302         * lib/verror.c: Include <config.h> unconditionally.
75303
75304 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
75305
75306         * modules/clock-time (Maintainer): Add self.
75307         * modules/getlogin_r (Depends-on): Add extensions.
75308
75309 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75310
75311         * modules/clock-time: New module.
75312         * modules/nanosleep (Depends-on): Add clock-time.
75313         * modules/gethrxtime (Depends-on): Likewise.
75314         * modules/gettime (Depends-on): Likewise.
75315         * modules/settime (Depends-on): Likewise.
75316
75317         * modules/fts-lgpl: Depend on openat.
75318         * modules/mkancesdirs: Depend on savewd.
75319         * modules/mkdir-p: Likewise.
75320
75321 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75322
75323         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
75324
75325         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
75326         `gl_have_arbitrary_file_name_length_limit' to
75327         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
75328         actually works between configure runs.
75329
75330 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75331             Bruno Haible  <bruno@clisp.org>
75332
75333         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
75334
75335 2006-09-25  Jim Meyering  <jim@meyering.net>
75336
75337         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
75338         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
75339
75340 2006-09-25  Eric Blake  <ebb9@byu.net>
75341
75342         * gnulib-tool (func_import, func_create_testdir): Fix typos in
75343         exec's in 2006-09-18 patch when shuffling fds.
75344
75345 2006-09-25  Bruno Haible  <bruno@clisp.org>
75346
75347         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
75348         Reported by Jim Meyering.
75349
75350 2006-09-24  Jim Meyering  <jim@meyering.net>
75351
75352         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
75353         compare a pointer against a literal "0".  That caused failures with
75354         at least HP-UX's hpcc.
75355
75356 2006-09-22  Simon Josefsson  <jas@extundo.com>
75357
75358         * modules/gc-sha1:
75359         * modules/gc-md4:
75360         * modules/gc-hmac-sha1:
75361         * modules/gc-hmac-md5:
75362         * modules/gc-des:
75363         * modules/gc-arcfour: Distribute more files.
75364
75365 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75366
75367         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
75368         (gl_linked_iterator_from_to): Initialize struct completely.
75369         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
75370         (gl_tree_iterator_from_to): Likewise
75371         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
75372         * lib/gl_array_list.c [lint] (gl_array_iterator)
75373         (gl_array_iterator_from_to): Likewise.
75374         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
75375         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
75376         (gl_carray_iterator_from_to): Likewise.
75377
75378         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
75379         * lib/md4.c (md4_process_block): Remove unused variable.
75380         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
75381         parentheses for clarity.
75382
75383 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75384
75385         * modules/bison-i18n (Depends-on): Add gettext.
75386
75387 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75388
75389         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
75390         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
75391         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
75392         also add missing comma that caused broken test.
75393         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
75394         stdlib.h, for `abort'.
75395         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
75396         variables.
75397         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
75398         include unistd.h if present, for `rmdir'.
75399         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
75400         variables.
75401         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
75402         in the process include standard headers for prototypes.
75403         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
75404         gets declared on GNU/Linux.
75405         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
75406         unistd.h, for `rmdir'.
75407         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
75408
75409         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
75410         always true.
75411         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
75412
75413         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
75414
75415 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75416
75417         * gnulib-tool (func_version): Create output all at once.  This
75418         may help avoid triggering unnecessary SIGPIPEs, and at any
75419         rate it doesn't hurt.
75420
75421 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75422             Bruno Haible  <bruno@clisp.org>
75423
75424         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
75425         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75426         * m4/signed.m4 (bh_C_SIGNED): Likewise.
75427
75428         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
75429         (gl_FUNC_VASPRINTF): Invoke it.
75430
75431 2006-09-22  Bruno Haible  <bruno@clisp.org>
75432
75433         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
75434         getloadavg.c as first argument.
75435
75436 2006-09-22  Bruno Haible  <bruno@clisp.org>
75437
75438         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
75439         at the beginning of the gl_INIT macro.
75440         * modules/getloadavg (configure.ac): Pass $gl_source_base to
75441         gl_GETLOADAVG.
75442
75443 2006-09-22  Bruno Haible  <bruno@clisp.org>
75444
75445         * gnulib-tool (func_create_megatestdir): Don't include the config-h
75446         module.
75447         Suggested by Ralf Wildenhues.
75448
75449 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
75450
75451         Import this patch from libc:
75452
75453         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
75454
75455         * lib/regex_internal.c (re_string_reconstruct): Handle
75456         offset < pstr->valid_raw_len && pstr->offsets_needed case.
75457         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
75458         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
75459         re_string_context_at.
75460
75461         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
75462         now requires it.
75463         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
75464         gl_REGEX now does it for us.
75465         (gl_REGEX): Add test taken from
75466         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
75467
75468         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
75469         Check that large offsets work.  Modernize Autoconf usages.
75470         Prefer "yes" to mean a good thing rather than a bad.
75471         Don't put "#define mkstemp" in config.h, as this might interfere
75472         with standard system headers that "#define mkstemp mkstemp64".
75473
75474         * modules/mkstemp (Depends-on): Add extensions, so that
75475         mkstemp is visible on some platforms.
75476         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
75477         (Include): Change to "mkstemp.h" from <stdlib.h>.
75478         (Files): Add mkstemp.h.
75479
75480         * lib/mkstemp.h: New file, since some standard headers
75481         #define mkstemp.
75482         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
75483         Include "mkstemp.h".
75484         Make the _LIBC code resemble glibc original more,
75485         e.g., use K&R style.
75486         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
75487         (mkstemp): Remove, since mkstemp.h does this for us.
75488         * lib/stdlib--.h: Include mkstemp.h.
75489
75490         Import this patch from libc:
75491
75492         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75493
75494         * lib/tempname.c (__gen_tempname): Change attempts_min
75495         into a macro.  Use preprocessor to decide how to initialize
75496         attempts [Coverity CID 67].
75497
75498 2006-09-20  Bruno Haible  <bruno@clisp.org>
75499
75500         * lib/mkdtemp.c: Import from libc.
75501         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
75502                 * sysdeps/posix/tempname.c (__gen_tempname): Change
75503                 attempts_min into a macro.  Use preprocessor to decide how to
75504                 initialize attempts [Coverity CID 67].
75505         2001-11-27  Paul Eggert  <eggert@twinsun.com>
75506                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
75507                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
75508
75509 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75510
75511         * gnulib-tool (func_exit): New function, to allow to pass the
75512         exit status portably through the trap.  Use everywhere.
75513         (--help, --version): Signal a write error.
75514         (trap): catch SIGPIPE, for write errors.
75515         Exit at the end of the trap, with the correct exit status.
75516
75517 2006-09-19  Karl Berry  <karl@gnu.org>
75518
75519         * doc/gnulib.texi: note about the license texinfo files.
75520
75521 2006-09-19  Eric Blake  <ebb9@byu.net>
75522
75523         * gnulib-tool: Avoid space-tab.
75524
75525 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75526
75527         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
75528         that prevented coreutils 6.1 from building.  Problem reported
75529         by Petter Reinholdtsen.
75530
75531 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
75532
75533         * gnulib-tool (avoidlist): Fix typo that broke options like
75534         --avoid=lock that are used by coreutils bootstrap.
75535
75536 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
75537
75538         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
75539         more systematically.
75540
75541 2006-09-18  Jim Meyering  <jim@meyering.net>
75542
75543         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
75544
75545 2006-09-18  Bruno Haible  <bruno@clisp.org>
75546
75547         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
75548
75549 2006-09-18  Bruno Haible  <bruno@clisp.org>
75550
75551         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
75552         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
75553         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
75554         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
75555         * m4/gettext.m4: Require autoconf >= 2.52.
75556         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
75557         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
75558         of gl_cv_header_inttypes_h.
75559
75560 2006-09-18  Bruno Haible  <bruno@clisp.org>
75561
75562         * lib/javaversion.c: Include configmake.h.
75563
75564 2006-09-18  Bruno Haible  <bruno@clisp.org>
75565
75566         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
75567         avoid that the while loops be executed in a subshell.
75568
75569 2006-09-18  Bruno Haible  <bruno@clisp.org>
75570
75571         * MODULES.html.sh (func_module): Break long lines.
75572         Suggested by Bruce Korb <bkorb@gnu.org>.
75573
75574 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75575
75576         Speed up by a factor of 1.12.
75577         * gnulib-tool (nl): New variable.
75578         (func_import): Rewrite include directive extraction to only read each
75579         directive once.
75580
75581 2006-09-17  Bruno Haible  <bruno@clisp.org>
75582
75583         * modules/javaversion (Makefile.am): Remove DEFS setting.
75584         (Depends-on): Add configmake, for PKGDATADIR definition.
75585
75586 2006-09-17  Bruno Haible  <bruno@clisp.org>
75587
75588         * gnulib-tool (func_create_testdir): Rewrite all files at once.
75589
75590 2006-09-17  Bruno Haible  <bruno@clisp.org>
75591
75592         * gnulib-tool (func_append): New function, stolen from libtool.m4.
75593         (func_modules_transitive_closure, func_modules_add_dummy,
75594         func_modules_to_filelist, func_import, func_create_testdir,
75595         func_create_megatestdir, ...): Use it wherever possible.
75596         Suggested by Ralf Wildenhues.
75597
75598 2006-09-16  Karl Berry  <karl@gnu.org>
75599
75600         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
75601         to avoid sectioning errors.
75602         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
75603         [ifinfo]: blank line after @center-ed titles.
75604         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
75605         Spell FSF address consistently with others.
75606         (These changes approved by rms.)
75607
75608 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75609
75610         Speed up by a factor of 1.61.
75611         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
75612         already checked module names again.
75613
75614 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75615
75616         Speed up by a factor of 1.13.
75617         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
75618         for new_files, and the input to func_add_or_update.
75619
75620 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75621
75622         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
75623         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
75624
75625 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75626
75627         * modules/mkancesdirs (Depends-on): Add fcntl.
75628         * modules/savewd: New file.
75629         * MODULES.html.sh (File system functions): Add savewd.
75630
75631         * modules/configmake (Makefile.am): Add support for the
75632         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
75633
75634 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75635
75636         * m4/savewd.m4: New file.
75637
75638 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
75639
75640         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
75641         (dirchownmod): New arg FD.  All callers changed.
75642         Use FD rather than opening the directory ourself, as opening is
75643         now the caller's responsibility.
75644         * lib/dirchownmod.h: Likewise.
75645         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
75646         hosts that require <sys/types.h> before <sys/stat.h>.  Include
75647         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
75648         (test_dir): Remove.
75649         (mkancesdirs): Return length of prefix of FILE that has already
75650         been made, or -2 if there is a child doing the work.  Redo
75651         algorithm so that it is O(N) rather than O(N**2).  Optimize away
75652         ".", and treat ".." specially since it might stray back into
75653         already-created areas.  Use a subprocess if necessary.  New arg
75654         WD; all users changed.  MAKE_DIR function should now return 1
75655         if it creates a directory that is not readable.  Return -2 if
75656         a child process is spun off.
75657         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
75658         Adjust signature to match code.
75659         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
75660         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
75661         all users changed.
75662         * lib/savewd.c, lib/savewd.h: New files.
75663
75664 2006-09-15  Jim Meyering  <jim@meyering.net>
75665
75666         * modules/rename-dest-slash: New module.
75667         * MODULES.html.sh (posix_compat): Add it here.
75668
75669         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
75670
75671 2006-09-15  Jim Meyering  <jim@meyering.net>
75672
75673         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
75674         file.
75675
75676         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
75677
75678 2006-09-15  Jim Meyering  <jim@meyering.net>
75679
75680         * lib/rename-dest-slash.c (has_trailing_slash): Use
75681         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
75682         (rpl_rename_dest_slash): Perform the cheaper trailing slash
75683         test before testing whether SRC is a directory.
75684         Suggestions from Bruno Haible.
75685
75686         Avoid a warning about an unused variable.
75687         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
75688         into the #ifdef block where it's used.
75689
75690         * lib/rename-dest-slash.c: New file.
75691
75692 2006-09-14  Bruno Haible  <bruno@clisp.org>
75693
75694         * lib/allocsa.c: Include <config.h> unconditionally.
75695         * lib/asnprintf.c: Likewise.
75696         * lib/asprintf.c: Likewise.
75697         * lib/c-strcasecmp.c: Likewise.
75698         * lib/c-strcasestr.c: Likewise.
75699         * lib/c-strncasecmp.c: Likewise.
75700         * lib/c-strstr.c: Likewise.
75701         * lib/classpath.c: Likewise.
75702         * lib/clean-temp.c: Likewise.
75703         * lib/concatpath.c: Likewise.
75704         * lib/copy-file.c: Likewise.
75705         * lib/csharpcomp.c: Likewise.
75706         * lib/csharpexec.c: Likewise.
75707         * lib/execute.c: Likewise.
75708         * lib/fatal-signal.c: Likewise.
75709         * lib/findprog.c: Likewise.
75710         * lib/fwriteerror.c: Likewise.
75711         * lib/gl_array_list.c: Likewise.
75712         * lib/gl_array_oset.c: Likewise.
75713         * lib/gl_avltree_list.c: Likewise.
75714         * lib/gl_avltree_oset.c: Likewise.
75715         * lib/gl_avltreehash_list.c: Likewise.
75716         * lib/gl_carray_list.c: Likewise.
75717         * lib/gl_linked_list.c: Likewise.
75718         * lib/gl_linkedhash_list.c: Likewise.
75719         * lib/gl_list.c: Likewise.
75720         * lib/gl_oset.c: Likewise.
75721         * lib/gl_rbtree_list.c: Likewise.
75722         * lib/gl_rbtree_oset.c: Likewise.
75723         * lib/gl_rbtreehash_list.c: Likewise.
75724         * lib/imaxabs.c: Likewise.
75725         * lib/imaxdiv.c: Likewise.
75726         * lib/javacomp.c: Likewise.
75727         * lib/javaexec.c: Likewise.
75728         * lib/javaversion.c: Likewise.
75729         * lib/linebreak.c: Likewise.
75730         * lib/localcharset.c: Likewise.
75731         * lib/lock.c: Likewise.
75732         * lib/mbchar.c: Likewise.
75733         * lib/mbswidth.c: Likewise.
75734         * lib/mkdtemp.c: Likewise.
75735         * lib/pipe.c: Likewise.
75736         * lib/printf-args.c: Likewise.
75737         * lib/printf-parse.c: Likewise.
75738         * lib/progname.c: Likewise.
75739         * lib/progreloc.c: Likewise.
75740         * lib/readlink.c: Likewise.
75741         * lib/sh-quote.c: Likewise.
75742         * lib/stpcpy.c: Likewise.
75743         * lib/stpncpy.c: Likewise.
75744         * lib/strcasecmp.c: Likewise.
75745         * lib/strcasestr.c: Likewise.
75746         * lib/strcspn.c: Likewise.
75747         * lib/striconv.c: Likewise.
75748         * lib/strncasecmp.c: Likewise.
75749         * lib/strnlen1.c: Likewise.
75750         * lib/strstr.c: Likewise.
75751         * lib/strtok_r.c: Likewise.
75752         * lib/tls.c: Likewise.
75753         * lib/tmpdir.c: Likewise.
75754         * lib/unicodeio.c: Likewise.
75755         * lib/unsetenv.c: Likewise.
75756         * lib/vasnprintf.c: Likewise.
75757         * lib/vasprintf.c: Likewise.
75758         * lib/wait-process.c: Likewise.
75759         * lib/xallocsa.c: Likewise.
75760         * lib/xsetenv.c: Likewise.
75761         * lib/xstriconv.c: Likewise.
75762
75763 2006-09-13  Simon Josefsson  <jas@extundo.com>
75764
75765         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
75766         that internally, suggested by Ralf Wildenhues
75767         <Ralf.Wildenhues@gmx.de>.
75768
75769 2006-09-13  Simon Josefsson  <jas@extundo.com>
75770
75771         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
75772         @LIBOBJS@.
75773         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75774
75775 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
75776
75777         * lib/_fpending.c: Include <config.h> unconditionally, since we no
75778         longer worry about uses that don't define HAVE_CONFIG_H.
75779         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
75780         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
75781         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
75782         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
75783         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
75784         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
75785         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
75786         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
75787         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
75788         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
75789         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
75790         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
75791         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
75792         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
75793         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
75794         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
75795         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
75796         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
75797         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
75798         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
75799         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
75800         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
75801         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
75802         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
75803         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
75804         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
75805         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
75806         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
75807         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
75808         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
75809         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
75810         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
75811         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
75812         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
75813         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
75814         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
75815         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
75816         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
75817         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
75818         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
75819         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
75820         Likewise.
75821
75822 2006-09-13  Eric Blake  <ebb9@byu.net>
75823
75824         * lib/getopt.c: Fix typo in last commit.
75825
75826 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
75827
75828         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
75829         dgettext.
75830
75831 2006-09-12  Jim Meyering  <jim@meyering.net>
75832
75833         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
75834         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
75835         Reported by Nelson H. F. Beebe.
75836
75837 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
75838
75839         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
75840         program_invocation_name and program_invocation_short_name are
75841         initialized.
75842         * lib/argp-namefrob.h: Move declarations of program_invocation_name
75843         and program_invocation_short_name to argp.h, so they are visible
75844         to user programs.
75845         * lib/argp.h: Likewise
75846
75847 2006-09-10  Bruno Haible  <bruno@clisp.org>
75848
75849         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
75850         m4/inttypes_h.m4, m4/uintmax_t.m4.
75851
75852 2006-09-10  Bruno Haible  <bruno@clisp.org>
75853
75854         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
75855         gl_AC_TYPE_UINTMAX_T.
75856
75857 2006-09-10  Bruno Haible  <bruno@clisp.org>
75858
75859         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
75860
75861 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
75862
75863         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
75864         convention.  Text proposed by Bruno Haible.
75865         (struct argp_option): Document the use of N_() wrappers.
75866
75867         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
75868         '\v', and translate the two parts separately, instead of feeding
75869         the whole string to gettext.  This allows to exclude
75870         '\v' from the strings visible to the translator by writing doc
75871         strings as N_("..") "\v" N_("..").
75872
75873 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
75874
75875         * config/srclist.txt: Undo latest change; the bug was fixed.
75876
75877 2006-09-09  Bruno Haible  <bruno@clisp.org>
75878
75879         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
75880         assignments if building a library without libtool.
75881         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
75882         in func_emit_lib_Makefile_am.
75883         (func_import): When building a static library libfoo.a, arrange to
75884         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
75885         (func_create_testdir): Likewise.
75886         * modules/gc (configure.ac, Makefile.am): If building statically,
75887         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
75888         * modules/iconvme (configure.ac, Makefile.am): Likewise.
75889         * modules/striconv (configure.ac, Makefile.am): Likewise.
75890         Based on a suggestion by Ralf Wildenhues.
75891
75892 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75893
75894         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75895         Check for unistd.h too, since Autoconf doesn't assume POSIX.
75896         Also:
75897
75898         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75899         Add year_2050_test to catch glibc bug 2821
75900         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75901
75902         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
75903         Prefer #ifdef to #if.
75904
75905         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
75906         Return from 'main' instead of calling 'exit'.
75907
75908 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75909
75910         * lib/mktime.c (guess_time_tm): Fix bug where mktime
75911         returned the maximum time_t value rather than (time_t) -1.
75912         Problem originally reported by William Bardwell
75913         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
75914
75915         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75916         Moved to here ...
75917         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
75918         ... from here.
75919
75920 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
75921
75922         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
75923         2821 is fixed.
75924
75925 2006-09-08  Jim Meyering  <jim@meyering.net>
75926
75927         Don't make generated files read-only.  That would bother too many
75928         people.  However, do retain the ability to work when targets are
75929         read-only: remove the destination and temporary files before writing
75930         them (when generated via sed or echo), or by using the -f option for
75931         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
75932         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75933         * modules/byteswap, modules/configmake, modules/fcntl:
75934         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75935         * modules/localcharset, modules/netinet_in, modules/poll:
75936         * modules/stdbool, modules/stdint, modules/sys_select:
75937         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75938
75939 2006-09-08  Jim Meyering  <jim@meyering.net>
75940
75941         Avoid new build failure on FreeBSD 6.0.
75942         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
75943         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
75944         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
75945
75946 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75947
75948         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
75949
75950 2006-09-07  Jim Meyering  <jim@meyering.net>
75951
75952         Fix global typo in last change: use chmod u-w, not chmod u-x.
75953         Spotted by Paul Eggert and Bruce Korb.
75954         * modules/alloca-opt, modules/argz, modules/arpa_inet:
75955         * modules/byteswap, modules/configmake, modules/fcntl:
75956         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
75957         * modules/localcharset, modules/netinet_in, modules/poll:
75958         * modules/stdbool, modules/stdint, modules/sys_select:
75959         * modules/sys_socket, modules/sys_stat, modules/sysexits:
75960
75961 2006-09-06  Jim Meyering  <jim@meyering.net>
75962
75963         Make generated files be read-only.
75964         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
75965         Ensure that each generated file is now read-only.
75966         * modules/argz: Likewise.
75967         * modules/arpa_inet: Likewise.
75968         * modules/byteswap: Likewise.
75969         * modules/configmake: Likewise.
75970         * modules/fcntl: Likewise.
75971         * modules/fnmatch: Likewise.
75972         * modules/getopt: Likewise.
75973         * modules/glob: Likewise.
75974         * modules/inttypes: Likewise.
75975         * modules/netinet_in: Likewise.
75976         * modules/poll: Likewise.
75977         * modules/stdbool: Likewise.
75978         * modules/stdint: Likewise.
75979         * modules/sys_select: Likewise.
75980         * modules/sys_socket: Likewise.
75981         * modules/sys_stat: Likewise.
75982         * modules/sysexits: Likewise.
75983         * modules/localcharset: Same as above, but continue using temporary
75984         file named "t-$@" (why different?) rather than the "$@-t" used
75985         everywhere else.
75986
75987         * modules/sysexits (Makefile.am): Replace literal occurrences
75988         of "sysexit.h" more readable, and more consistent, "$@".
75989
75990 2006-09-06  Bruno Haible  <bruno@clisp.org>
75991
75992         * modules/striconv: New file.
75993         * modules/xstriconv: New file.
75994         * MODULES.html.sh (Internationalization functions): Add striconv,
75995         xstriconv.
75996
75997 2006-09-06  Bruno Haible  <bruno@clisp.org>
75998
75999         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
76000         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
76001         not using libtool correctly.
76002
76003 2006-09-06  Bruno Haible  <bruno@clisp.org>
76004
76005         * lib/striconv.h: New file.
76006         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
76007         iconvstring.c.
76008         * lib/xstriconv.h: New file.
76009         * lib/xstriconv.c: New file.
76010
76011 2006-09-06  Bruno Haible  <bruno@clisp.org>
76012
76013         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
76014         lib_..._LDFLAGS.
76015
76016 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76017
76018         * lib/argz_.h: Sync from Libtool.
76019
76020         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
76021                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
76022
76023         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
76024
76025 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76026
76027         * modules/trim: New file.
76028
76029 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
76030
76031         * lib/trim.h: New file.
76032         * lib/trim.c: New file.
76033
76034 2006-09-05  Bruno Haible  <bruno@clisp.org>
76035
76036         * MODULES.html.sh (String handling): Add trim.
76037
76038 2006-09-04  Karl Berry  <karl@gnu.org>
76039
76040         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
76041         until next release.
76042
76043 2006-09-03  Bruno Haible  <bruno@clisp.org>
76044
76045         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
76046         correctly.
76047
76048 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76049
76050         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
76051         not gl_GETLOADAVG.  Omit unneeded semicolons.
76052         Problems reported by Ralf Wildenhues in
76053         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76054         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
76055         at the end, which is the usual gnulib style.
76056
76057         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
76058         of doing all the work ourselves.
76059         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
76060         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
76061
76062 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76063
76064         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
76065         Problem reported by Ralf Wildenhues in
76066         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
76067
76068         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
76069         HAVE_STRUCT_STATFS_F_FSTYPENAME.
76070
76071 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
76072
76073         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
76074         yesterday's patch by changing test -n to test -z.
76075
76076 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76077
76078         * modules/getloadavg (Files): Add m4/getloadavg.m4.
76079         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
76080         the former is now obsolescent.
76081
76082         * modules/chdir-long (Depends-on): Add fcntl.
76083
76084 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
76087         obsolescent, and programs should use gnulib instead.
76088         * m4/getloadavg.m4: New file, with contents taken from Autoconf
76089         but with prefixes changed.
76090
76091 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
76092
76093         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
76094         or stdbool.h, because they might not exist while configuring.
76095
76096         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
76097         Don't include unistd.h or limits.h; not needed, since chdir-long.h
76098         does that for us.
76099         (O_DIRECTORY): Remove.
76100
76101 2006-08-31  Eric Blake  <ebb9@byu.net>
76102
76103         * gnulib-tool: Don't let emacs change spaces to TAB.
76104
76105 2006-08-31  Bruno Haible  <bruno@clisp.org>
76106
76107         * gnulib-tool: When calling func_import more than once, do it in a
76108         subshell.
76109         Reported by Eric Blake <ebb9@byu.net>.
76110
76111 2006-08-31  Bruno Haible  <bruno@clisp.org>
76112
76113         * gnulib-tool (nl): Remove variable.
76114         (sed_transform_lib_file): Use more robust test for config-h module.
76115         (func_import): Fix typo in 2006-08-25 patch.
76116
76117 2006-08-31  Bruno Haible  <bruno@clisp.org>
76118
76119         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
76120         specified, augment Makefile.am variables instead of assigning them.
76121
76122 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76123
76124         Work around a bug in both the Linux and SunOS 64-bit kernels:
76125         nanosleep mishandles sleeps for longer than 2**31 seconds.
76126         Problem reported by Frank v Waveren in
76127         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
76129         Check for nanosleep bug.
76130         (LIB_NANOSLEEP): Append clock_gettime library if needed.
76131
76132 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76133
76134         Work around a bug in both the Linux and SunOS 64-bit kernels:
76135         nanosleep mishandles sleeps for longer than 2**31 seconds.
76136         Problem reported by Frank v Waveren in
76137         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
76138         * lib/nanosleep.c (BILLION): New constant.
76139         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
76140         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
76141         implementation.
76142
76143 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76144
76145         * modules/nanosleep (Depends-on): Add gettime.
76146
76147 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
76148         and Simon Josefsson  <jas@extundo.com>
76149         and Oskar Liljeblad  <oskar@osk.mine.nu>
76150
76151         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
76152         * gnulib-tool (func_import): New license type 'unmodifiable license
76153         text'.
76154         * modules/fdl: Use it.  Longer description.
76155         * module/gpl, module/lgpl: New files.
76156
76157 2006-08-30  Jim Meyering  <jim@meyering.net>
76158
76159         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
76160         shadowing the parameter.
76161
76162 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76163
76164         Sync from Libtool:
76165
76166         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76167
76168         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
76169         sharing with gnulib.  Report by Eric Blake.
76170
76171 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76172
76173         * modules/isapipe: New file.
76174         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
76175
76176 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76177
76178         * modules/configmake (Makefile.am): Add a comment, and omit
76179         the CONFIGMAKE_ prefix from generated macro names.  Suggested
76180         by Bruno Haible.
76181
76182 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76183
76184         * m4/isapipe.m4: New file.
76185
76186 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
76187
76188         * lib/isapipe.c, lib/isapipe.h: New files.
76189
76190 2006-08-29  Jim Meyering  <jim@meyering.net>
76191
76192         * modules/configmake (Makefile.am): Make configmake.h depend on
76193         Makefile.  Otherwise, a stale configmake.h could hang around.
76194
76195 2006-08-29  Eric Blake  <ebb9@byu.net>
76196
76197         * lib/error.c (error_at_line, print_errno_message): Match libc, after
76198         resolution of upstream bug 3044.
76199
76200 2006-08-29  Bruno Haible  <bruno@clisp.org>
76201
76202         * modules/localcharset (Depends-on): Add configmake.
76203         (Makefile.am): Remove setting of LIBDIR through DEFS.
76204
76205 2006-08-29  Bruno Haible  <bruno@clisp.org>
76206
76207         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
76208         defined.
76209
76210 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76211
76212         * modules/fcntl: New file.
76213         * modules/chdir-safer (Depends-on): Add fcntl.
76214         * modules/fts: Likewise.
76215         * modules/mkdir-p: Likewise.
76216
76217         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
76218         This undoes the most recent change, since we're now addressing the
76219         problem in a different way.
76220
76221         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
76222         into output, since the output might be called Makefile.am even
76223         if $makefile_name is something different.
76224         (func_import): Use $makefile_am rather than
76225         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
76226         empty.
76227
76228         * modules/inttypes (Files): Add m4/inttypes-h.m4.
76229
76230 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76231
76232         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
76233         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
76234         recent change to stdint.m4, since we're now addressing the problem in a
76235         different way.
76236
76237 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76238
76239         * m4/fcntl_h.m4: New file.
76240
76241 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
76242
76243         * lib/fcntl_.h: New file.
76244         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
76245         the fcntl module.
76246         * lib/dirchownmod.c: Likewise.
76247         * lib/fts.c: Likewise.
76248
76249         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
76250         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
76251         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
76252         just before including <inttypes.h>, to avoid circular inclusion.
76253
76254 2006-08-28  Jim Meyering  <jim@meyering.net>
76255
76256         * doc/visibility.texi: Actually read and correct the grammar of the
76257         sentence affected by yesterday's change.
76258
76259 2006-08-28  Eric Blake  <ebb9@byu.net>
76260
76261         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
76262         needs wrapper.
76263
76264 2006-08-28  Eric Blake  <ebb9@byu.net>
76265
76266         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
76267
76268 2006-08-28  Eric Blake  <ebb9@byu.net>
76269
76270         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
76271
76272 2006-08-28  Bruno Haible  <bruno@clisp.org>
76273
76274         * modules/c-strstr: New file, from GNU gettext.
76275         * MODULES.html.sh (String handling): Add c-strstr.
76276
76277 2006-08-28  Bruno Haible  <bruno@clisp.org>
76278
76279         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
76280         macros.
76281         Reported by Eric Blake.
76282
76283 2006-08-28  Bruno Haible  <bruno@clisp.org>
76284
76285         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
76286         (VASNPRINTF): Return a string of length > INT_MAX without failing.
76287         * lib/vasprintf.c: Include errno.h, limits.h.
76288         (EOVERFLOW): New fallback definition.
76289         (vasprintf): Test here whether the string length is > INT_MAX.
76290         * lib/vsnprintf.c: Include errno.h, limits.h.
76291         (EOVERFLOW): New fallback definition.
76292         (vsnprintf): Fix bug when generated string was too long for the buffer.
76293         Test here whether the string length is > INT_MAX.
76294
76295 2006-08-28  Bruno Haible  <bruno@clisp.org>
76296
76297         * lib/inttypes_.h (SCNX*): Remove definitions.
76298         Reported by Eric Blake.
76299
76300 2006-08-28  Bruno Haible  <bruno@clisp.org>
76301
76302         * lib/c-strstr.h: New file, from GNU gettext.
76303         * lib/c-strstr.c: New file, from GNU gettext.
76304
76305 2006-08-28  Bruno Haible  <bruno@clisp.org>
76306
76307         * gnulib-tool: Reorder some statements.
76308
76309 2006-08-28  Bruno Haible  <bruno@clisp.org>
76310
76311         * gnulib-tool: New option --makefile-name.
76312         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
76313         $makefile_name.
76314         (func_import): Write $makefile_name to the cache file, and read it from
76315         there unless explicitly specified. Use $makefile_name as file name
76316         instead of Makefile.am. Adjust the recommendations accordingly.
76317
76318 2006-08-28  Bruno Haible  <bruno@clisp.org>
76319
76320         * gnulib-tool (func_verify_module): Check against misapplying patch.
76321
76322 2006-08-28  Bruno Haible  <bruno@clisp.org>
76323
76324         * gnulib-tool (func_relativize, func_relconcat): New functions.
76325         Give an error if --local-dir is given with --update.
76326         Remove trailing slashes from $local_gnulib_dir.
76327         (func_import): Store the relativized $local_gnulib_dir in
76328         gnulib-cache.m4, and read it from there if not specified explicitly.
76329
76330 2006-08-28  Bruno Haible  <bruno@clisp.org>
76331
76332         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
76333         is the current directory. Respect also $local_gnulib_dir.
76334
76335 2006-08-28  Bruno Haible  <bruno@clisp.org>
76336             Simon Josefsson  <jas@extundo.com>
76337
76338         BeOS portability.
76339         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
76340
76341 2006-08-27  Jim Meyering  <jim@meyering.net>
76342
76343         * doc/visibility.texi: Remove duplicate word: "pointer".
76344
76345 2006-08-26  Bruno Haible  <bruno@clisp.org>
76346
76347         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
76348         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
76349         (Makefile.am): Create inttypes.h from inttypes_.h.
76350         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
76351
76352         * modules/imaxabs: New file.
76353
76354         * modules/imaxdiv: New file.
76355
76356 2006-08-26  Bruno Haible  <bruno@clisp.org>
76357
76358         * m4/inttypes.m4: New file.
76359         * m4/_inttypes_h.m4: Remove file.
76360         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
76361         PRI_MACROS_BROKEN.
76362         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
76363
76364         * m4/imaxabs.m4: New file.
76365
76366         * m4/imaxdiv.m4: New file.
76367
76368 2006-08-26  Bruno Haible  <bruno@clisp.org>
76369
76370         * lib/inttypes_.h: New file.
76371         * lib/inttypes.h: Remove file.
76372         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
76373
76374         * lib/imaxabs.c: New file.
76375
76376         * lib/imaxdiv.c: New file.
76377
76378 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76379
76380         New config-h module, so that "make" output needn't be cluttered
76381         by -DHAVE_CONFIG_H.
76382         * MODULES.html.sh (Support for building libraries and executables):
76383         Add config-h.
76384         * modules/config-h: New file.
76385         * gnulib-tool (nl, sed_transform_lib_file): New vars.
76386         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
76387         the config-h module is used.
76388
76389         New configmake module, so that "make" output needn't be cluttered
76390         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
76391         * MODULES.html.sh (Support for building libraries and executables):
76392         Add configmake.
76393         * modules/configmake: New file.
76394
76395 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
76396
76397         * m4/config-h.m4: New file.
76398
76399 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76400
76401         * config/srclist.txt: Add elisp-comp.
76402
76403 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
76404
76405         * MODULES.html.sh (Support for building libraries and executables):
76406         Add elisp-comp.
76407         * build-aux/elisp-comp: New file.
76408         * modules/elisp-comp: New file.
76409
76410 2006-08-24  Bruno Haible  <bruno@clisp.org>
76411
76412         * gnulib-tool (func_create_testdir): Use non-default values of
76413         sourcebase and m4base.
76414
76415 2006-08-24  Bruno Haible  <bruno@clisp.org>
76416
76417         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
76418         HTML structure.
76419
76420 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
76421
76422         * modules/openat (Depends-on): Add lchown.
76423
76424 2006-08-23  Bruno Haible  <bruno@clisp.org>
76425
76426         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
76427         of gl_LOCK_EARLY instead of gl_LOCK.
76428
76429 2006-08-23  Bruno Haible  <bruno@clisp.org>
76430
76431         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
76432         on OSF/1 to no.
76433         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
76434
76435 2006-08-23  Bruno Haible  <bruno@clisp.org>
76436
76437         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
76438         as unusable.
76439
76440         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
76441         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
76442         (gl_LOCK): New macro.
76443
76444 2006-08-22  Simon Josefsson  <jas@extundo.com>
76445
76446         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
76447         to md5 module.
76448
76449 2006-08-22  Simon Josefsson  <jas@extundo.com>
76450
76451         * MODULES.html.sh: Add "Support for maintaining and release
76452         projects".
76453
76454         * build-aux/gnupload: New file, from coreutils.
76455
76456 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76457
76458         Avoid the need for AC_LIBSOURCES in m4 macros.
76459         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
76460         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
76461         * modules/check-version (EXTRA_DIST): Add check-version.h.
76462         * modules/crc (EXTRA_DIST): Add crc.h.
76463         * modules/des (EXTRA_DIST): Add des.h.
76464         * modules/gc (EXTRA_DIST): Add gc.h.
76465         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
76466         * modules/getline (EXTRA_DIST): Add getline.h.
76467         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
76468         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
76469         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
76470         * modules/md2 (EXTRA_DIST): Add md2.h.
76471         * modules/md4 (EXTRA_DIST): Add md4.h.
76472         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
76473         * modules/read-file (EXTRA_DIST): Add read-file.h.
76474         * modules/readline (EXTRA_DIST): Add readline.h.
76475         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
76476         rijndael-api-fst.h.
76477
76478 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76479
76480         * m4/rijndael.m4 (gl_ARCFOUR):
76481         * m4/arctwo.m4 (gl_ARCTWO):
76482         * m4/check-version.m4 (gl_CHECK_VERSION):
76483         * m4/crc.m4 (gl_CRC):
76484         * m4/des.m4 (gl_DES):
76485         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
76486         * m4/gc.m4 (gl_GC):
76487         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
76488         * m4/getline.m4 (gl_FUNC_GETLINE):
76489         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
76490         * m4/hmac-md5.m4 (gl_HMAC_MD5):
76491         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
76492         * m4/md2.m4 (gl_MD2):
76493         * m4/md4.m4 (gl_MD4):
76494         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
76495         * m4/read-file.m4 (gl_FUNC_READ_FILE):
76496         * m4/readline.m4 (gl_FUNC_READLINE):
76497         * m4/rijndael.m4 (gl_RIJNDAEL):
76498         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76499         to get the necessary .h files and whatnot.
76500
76501 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
76502
76503         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
76504         gnulib rather than the other way around.
76505         * config/srclistvars.sh (COREUTILS): Remove.
76506
76507 2006-08-22  Jim Meyering  <jim@meyering.net>
76508
76509         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
76510
76511         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
76512
76513 2006-08-22  Eric Blake  <ebb9@byu.net>
76514
76515         * modules/regexprops-generic: New file.
76516         * MODULES.html.sh (Support for building documentation): List it.
76517
76518 2006-08-22  Eric Blake  <ebb9@byu.net>
76519
76520         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
76521         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
76522         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
76523         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
76524
76525 2006-08-22  Bruno Haible  <bruno@clisp.org>
76526
76527         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
76528         and lib_LTLIBRARIES like the other lib_* variables.
76529
76530 2006-08-22  Bruno Haible  <bruno@clisp.org>
76531
76532         * build-aux/x-to-1.in: New file, from GNU gettext.
76533
76534 2006-08-22  Bruno Haible  <bruno@clisp.org>
76535
76536         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
76537         <utmpx.h> exists.
76538
76539 2006-08-22  Bruno Haible  <bruno@clisp.org>
76540
76541         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
76542         <utmpx.h> exists.
76543
76544 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76545
76546         BeOS portability.
76547         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
76548         exist.
76549         Problem reported by Bruno Haible.
76550
76551 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76552
76553         Avoid the need for AC_LIBSOURCES in m4 macros.
76554         * modules/acl (EXTRA_DIST): Add acl.h.
76555         * modules/argmatch (Files): Add m4/argmatch.m4.
76556         (configure.ac): Add gl_ARGMATCH.
76557         (EXTRA_DIST): Renamed from lib_SOURCES, for
76558         consistency with the other modules.  Remove argmatch.c.
76559         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
76560         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
76561         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
76562         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
76563         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
76564         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
76565         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
76566         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
76567         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
76568         * modules/closeout (EXTRA_DIST): Add closeout.h.
76569         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
76570         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
76571         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
76572         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
76573         dirname.h; remove basename.c and stripslash.c.
76574         * modules/exclude (EXTRA_DIST): Add exclude.h.
76575         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
76576         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
76577         * modules/file-type (EXTRA_DIST): Add file-type.h.
76578         * modules/filemode (EXTRA_DIST): Add filemode.h.
76579         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
76580         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76581         * modules/fpending (EXTRA_DIST): Add __fpending.h.
76582         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
76583         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
76584         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
76585         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
76586         * modules/getdate (EXTRA_DIST): Add getdate.c.
76587         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
76588         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
76589         * modules/getpass (EXTRA_DIST): Add getpass.h.
76590         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
76591         * modules/group-member (EXTRA_DIST): Add group-member.h.
76592         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
76593         * modules/hash (EXTRA_DIST): Add hash.h.
76594         * modules/human (EXTRA_DIST): Add human.h.
76595         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
76596         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
76597         * modules/lchown (EXTRA_DIST): Add lchown.h.
76598         * modules/long-options (EXTRA_DIST): Add long-options.h.
76599         * modules/lstat (EXTRA_DIST): Add lstat.h.
76600         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
76601         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
76602         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
76603         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
76604         * modules/memxor (EXTRA_DIST): Add memxor.h.
76605         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
76606         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
76607         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
76608         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
76609         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
76610         * modules/physmem (EXTRA_DIST): Add physmem.h.
76611         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
76612         * modules/posixver (EXTRA_DIST): Add posixver.h.
76613         * modules/quote (EXTRA_DIST): Add quote.h.
76614         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
76615         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
76616         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
76617         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
76618         regex_internal.h regexec.c.
76619         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
76620         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
76621         * modules/same (EXTRA_DIST): Add same.h.
76622         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
76623         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
76624         * modules/savedir (EXTRA_DIST): Add savedir.h.
76625         * modules/sha1 (EXTRA_DIST): Add sha1.h.
76626         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
76627         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
76628         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
76629         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
76630         * modules/strdup (EXTRA_DIST): Add strdup.h.
76631         * modules/strftime (EXTRA_DIST): Add strftime.h.
76632         * modules/strndup (EXTRA_DIST): Add strndup.h.
76633         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
76634         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
76635         * modules/time_r (EXTRA_DIST): Add time_r.h.
76636         * modules/timespec (EXTRA_DIST): Add timespec.h.
76637         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
76638         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
76639         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
76640         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
76641         * modules/userspec (EXTRA_DIST): Add userspec.h.
76642         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
76643         * modules/utimens (EXTRA_DIST): Add utimens.h.
76644         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
76645         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
76646         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
76647         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
76648         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
76649         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
76650         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
76651         * modules/yesno (EXTRA_DIST): Add yesno.h.
76652
76653 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
76654
76655         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
76656
76657         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
76658         * m4/dev-ino.m4, same-inode.m4: Remove.
76659
76660         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
76661         * m4/acl.m4 (AC_FUNC_ACL):
76662         * m4/backupfile.m4 (gl_BACKUPFILE):
76663         * m4/c-strtod.m4 (gl_C99_STRTOLD):
76664         * m4/canon-host.m4 (gl_CANON_HOST):
76665         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76666         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
76667         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
76668         * m4/cloexec.m4 (gl_CLOEXEC):
76669         * m4/close-stream.m4 (gl_CLOSE_STREAM):
76670         * m4/closeout.m4 (gl_CLOSEOUT):
76671         * m4/dirfd.m4 (gl_FUNC_DIRFD):
76672         * m4/dirname.m4 (gl_DIRNAME):
76673         * m4/exclude.m4 (gl_EXCLUDE):
76674         * m4/exitfail.m4 (gl_EXITFAIL):
76675         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
76676         * m4/file-type.m4 (gl_FILE_TYPE):
76677         * m4/filemode.m4 (gl_FILEMODE):
76678         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
76679         * m4/fpending.m4 (gl_FUNC_FPENDING):
76680         * m4/fprintftime.m4 (gl_FPRINTFTIME):
76681         * m4/fts.m4 (gl_FUNC_FTS):
76682         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
76683         * m4/getdate.m4 (gl_GETDATE):
76684         * m4/gethrxtime.m4 (gl_GETHRXTIME):
76685         * m4/getpagesize.m4 (gl_GETPAGESIZE):
76686         * m4/getpass.m4 (gl_FUNC_GETPASS):
76687         * m4/gettime.m4 (gl_GETTIME):
76688         * m4/getugroups.m4 (gl_GETUGROUPS):
76689         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
76690         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
76691         * m4/hard-locale.m4 (gl_HARD_LOCALE):
76692         * m4/hash.m4 (gl_HASH):
76693         * m4/idcache.m4 (gl_IDCACHE):
76694         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
76695         * m4/lchown.m4 (gl_FUNC_LCHOWN):
76696         * m4/long-options.m4 (gl_LONG_OPTIONS):
76697         * m4/lstat.m4 (gl_FUNC_LSTAT):
76698         * m4/md5.m4 (gl_MD5):
76699         * m4/memcasecmp.m4 (gl_MEMCASECMP):
76700         * m4/memcoll.m4 (gl_MEMCOLL):
76701         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
76702         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
76703         * m4/memxor.m4 (gl_MEMXOR):
76704         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
76705         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
76706         * m4/modechange.m4 (gl_MODECHANGE):
76707         * m4/mountlist.m4 (gl_MOUNTLIST):
76708         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
76709         * m4/openat.m4 (gl_FUNC_OPENAT):
76710         * m4/pathmax.m4 (gl_PATHMAX):
76711         * m4/physmem.m4 (gl_PHYSMEM):
76712         * m4/posixtm.m4 (gl_POSIXTM):
76713         * m4/posixver.m4 (gl_POSIXVER):
76714         * m4/quote.m4 (gl_QUOTE):
76715         * m4/quotearg.m4 (gl_QUOTEARG):
76716         * m4/readtokens.m4 (gl_READTOKENS):
76717         * m4/readutmp.m4 (gl_READUTMP):
76718         * m4/regex.m4 (gl_REGEX):
76719         * m4/safe-read.m4 (gl_SAFE_READ):
76720         * m4/safe-write.m4 (gl_SAFE_WRITE):
76721         * m4/same.m4 (gl_SAME):
76722         * m4/save-cwd.m4 (gl_SAVE_CWD):
76723         * m4/savedir.m4 (gl_SAVEDIR):
76724         * m4/settime.m4 (gl_SETTIME):
76725         * m4/sha1.m4 (gl_SHA1):
76726         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
76727         * m4/stat-macros.m4 (gl_STAT_MACROS):
76728         * m4/stat-time.m4 (gl_STAT_TIME):
76729         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
76730         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
76731         * m4/strdup.m4 (gl_FUNC_STRDUP):
76732         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
76733         * m4/strndup.m4 (gl_FUNC_STRNDUP):
76734         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
76735         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
76736         * m4/time_r.m4 (gl_TIME_R):
76737         * m4/timespec.m4 (gl_TIMESPEC):
76738         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
76739         * m4/unlinkdir.m4 (gl_UNLINKDIR):
76740         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
76741         * m4/userspec.m4 (gl_USERSPEC):
76742         * m4/utimecmp.m4 (gl_UTIMECMP):
76743         * m4/utimens.m4 (gl_UTIMENS):
76744         * m4/xalloc.m4 (gl_XALLOC):
76745         * m4/xgetcwd.m4 (gl_XGETCWD):
76746         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
76747         * m4/xreadlink.m4 (gl_XREADLINK):
76748         * m4/xstrtod.m4 (gl_XSTRTOD):
76749         * m4/yesno.m4 (gl_YESNO):
76750         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
76751         to get the necessary .h files and whatnot.
76752
76753 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
76754             Bruno Haible  <bruno@clisp.org>
76755
76756         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
76757         /bin/sh understanding of '!' conditional negation.
76758
76759 2006-08-21  Jim Meyering  <jim@meyering.net>
76760
76761         * modules/openat (Depends-on): Really alphabetize.
76762
76763         * modules/acl (Depends-on): Add error and quote.
76764
76765         * check-module (find_included_lib_files): Add at-func.c to the
76766         ok-to-include-more-than-once white list.
76767
76768         * modules/openat (Depends-on): Add lstat.  Alphabetize.
76769
76770 2006-08-21  Bruno Haible  <bruno@clisp.org>
76771
76772         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76773         Emit a pkgdata_DATA variable only if some snippets add contents to it.
76774         Reported by Martin Lambers <marlam@marlam.de>.
76775
76776 2006-08-21  Bruno Haible  <bruno@clisp.org>
76777
76778         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
76779         specify an installation location, don't emit a noinst_LIBRARIES or
76780         noinst_LTLIBRARIES assignment.
76781
76782 2006-08-21  Bruno Haible  <bruno@clisp.org>
76783
76784         BeOS portability.
76785         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
76786         BeOS has mbrtowc() but no <wctype.h>.
76787
76788 2006-08-21  Bruno Haible  <bruno@clisp.org>
76789
76790         BeOS portability.
76791         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
76792         exist.
76793
76794 2006-08-21  Bruno Haible  <bruno@clisp.org>
76795
76796         BeOS portability.
76797         * lib/mbchar.h: Include <wctype.h> only if it exists.
76798
76799 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76800
76801         Remove files that are no longer needed by their respective modules.
76802         * m4/obstack.m4: Remove.
76803         * m4/strerror_r.m4: Remove.
76804         * m4/uint32_t.m4: Remove.
76805         * m4/uintptr_t.m4: Remove.
76806         * m4/ullong_max.m4: Remove.
76807         * m4/xstrtoimax.m4: Remove.
76808         * m4/xstrtoumax.m4: Remove.
76809
76810         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
76811         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
76812         dependencies now capture this.
76813
76814         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
76815         Do not use AC_LIBSOURCES, since gnulib modules now do this.
76816         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
76817         * m4/human.m4 (gl_HUMAN): Likewise.
76818         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
76819         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
76820
76821         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
76822
76823         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
76824         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
76825         stdint.
76826         * m4/human.m4 (gl_HUMAN): Likewise.
76827         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
76828         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
76829         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76830         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76831         * m4/xstrtol (gl_XSTRTOL): Likewise.
76832
76833         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
76834         AC_TYPE_LONG_LONG_INT.
76835         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
76836         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
76837         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
76838         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
76839
76840         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
76841         on stdbool.
76842
76843         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
76844         (gl_PREREQ_XSTRTOUL): Remove.
76845
76846         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
76847
76848         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
76849         mode.
76850
76851 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76852
76853         Add and change modules to make it easier for coreutils to use
76854         gnulib-tool.
76855         * modules/backupfile (Files): Remove m4/d-ino.m4.
76856         (Depends-on): Add d-ino.
76857         * modules/cycle-check (Depends-on): Add stdint.
76858         (lib_SOURCES): Add cycle-check.h.
76859         * modules/d-ino: New module.
76860         * modules/d-type: New module.
76861         * modules/error (Files): Remove m4/strerror_r.m4.
76862         * modules/filemode (Files): Add m4/st_dm_mode.m4.
76863         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
76864         m4/inttypes_h.m4, m4/uintmax_t.m4.
76865         (Depends-on): Add stdint.
76866         (lib_SOURCES): Add fsusage.h.
76867         * modules/getcwd (Files): Remove d-ino.m4.
76868         (Depends-on): Add d-ino.
76869         * modules/getndelim2 (Depends-on): Add stdint.
76870         * modules/glob (Files): Remove m4/d-type.m4.
76871         (Depends-on): Add d-type.
76872         * modules/host-os: New module.
76873         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
76874         m4/inttypes_h.m4, m4/uintmax_t.m4.
76875         * Depends-on: Add stdint.
76876         (lib_SOURCES): Add human.h.
76877         * modules/inttostr (Files): Remove m4/intmax_t.m4,
76878         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
76879         m4/uintmax_t.m4, m4/ulonglong.m4.
76880         (Depends-on): Add stdint.
76881         (EXTRA_DIST): Add inttostr.h.
76882         * modules/lchmod: New module.
76883         * modules/link-follow: New module.
76884         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
76885         (Depends-on): Add lchmod.
76886         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
76887         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
76888         (Depends-on): Add stdint.
76889         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
76890         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
76891         (Depends-on): Add stdint.
76892         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
76893         * modules/perl: New module.
76894         * modules/regex (Depends-on): Add stdint.
76895         * modules/rmdir-errno: New module.
76896         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76897         m4/intmax_t.m4.
76898         (Depends-on): Add stdint.
76899         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
76900         m4/uintmax_t.m4.
76901         (Depends-on): Add stdint.
76902         * modules/unlink-busy: New module.
76903         * modules/utimecmp (Depends-on): Add stdint.
76904         * modules/uptime: New module.
76905         * modules/winsz-ioctl: New module.
76906         * modules/winsz-termios: New module.
76907         * modules/xnanosleep (Depends-on): Add nanosleep.
76908         * modules/ullong_max: Remove.
76909         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
76910         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
76911         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
76912         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
76913         (Depends-on): Add inttypes.
76914         (lib_SOURCES): Add xstrtol.h.
76915         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
76916         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
76917         * MODULES.html.sh: Move 'assert' into the assert section.
76918         Move 'dummy' into the linking section.
76919         Remove ullong_max.
76920         Add section for compatibility checks for POSIX:2001 functions,
76921         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
76922         winsz-ioctl, and winsz-termios into it.
76923         Add lchmod.
76924         Add top-level Misc section and put host-os, perl, and uptime
76925         into it.
76926
76927 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
76928
76929         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
76930         now assume the stdint module.  Do not include inttypes.h.
76931         * lib/fsusage.h: Likewise.
76932         * lib/getndelim2.c: Likewise.
76933         * lib/human.h: Likewise.
76934         * lib/inttostr.h: Likewise.
76935         * lib/obstack.c: Likewise.
76936         * lib/regex_internal.h: Likewise.
76937         * lib/tempname.c: Likewise.
76938         * lib/utimecmp.c: Likewise.
76939         * lib/xstrtol.h: Likewise.
76940
76941         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
76942
76943         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
76944         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
76945         * lib/xtime.h: Likewise.
76946
76947 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76948
76949         * modules/openat (Files): Add lib/fchmodat.c.
76950         Fixes problem reported by Jay Youngman.
76951
76952 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
76953
76954         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
76955         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
76956
76957 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
76958             Bruno Haible  <bruno@clisp.org>
76959
76960         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
76961         and is a script that invokes bison. Tighten the code. Add comments.
76962
76963 2006-08-18  Jim Meyering  <jim@meyering.net>
76964
76965         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
76966         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
76967         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
76968         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
76969
76970 2006-08-18  Bruno Haible  <bruno@clisp.org>
76971
76972         * modules/bison-i18n: New file.
76973         * MODULES.html.sh (Internationalization functions): Add it.
76974
76975 2006-08-18  Bruno Haible  <bruno@clisp.org>
76976
76977         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
76978         sys/statvfs.h. When getmntinfo was found, check its declaration and
76979         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
76980
76981 2006-08-18  Bruno Haible  <bruno@clisp.org>
76982
76983         * m4/bison-i18n.m4: New file, from bison.
76984
76985 2006-08-18  Bruno Haible  <bruno@clisp.org>
76986
76987         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
76988         (ME_DUMMY): Treat "kernfs" as a dummy.
76989         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
76990
76991 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
76992
76993         Update from coreutils.
76994
76995         2006-08-15  Jim Meyering  <jim@meyering.net>
76996
76997         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
76998
76999         2006-01-17  Jim Meyering  <jim@meyering.net>
77000
77001         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
77002
77003         2006-01-11  Jim Meyering  <jim@meyering.net>
77004
77005         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
77006         Check for the lchmod function.
77007
77008 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
77009
77010         Update from coreutils.
77011
77012         * lib/__fpending.h: Add copyright notice.
77013         * lib/fprintftime.h: Likewise.
77014         * lib/savedir.c: Use (C) in copyright notice.
77015         * lib/savedir.h: Likewise.
77016
77017         2006-08-15  Jim Meyering  <jim@meyering.net>
77018
77019         * lib/at-func.c: New file, with the logic of all emulated at-functions.
77020         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
77021         in support of the EXPECTED_ERRNO macro.
77022         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
77023         definitions.  Instead, define the appropriate symbols and include
77024         "at-func.c".
77025         * lib/mkdirat.c (mkdirat): Likewise.
77026         * lib/fchmodat.c (fchmodat): Likewise.
77027         (ENOSYS): Remove definition.
77028         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
77029         it.  Don't include "unistd--.h" -- it wasn't ever used.
77030
77031         2006-01-17  Jim Meyering  <jim@meyering.net>
77032
77033         Rewrite fts.c not to change the current working directory,
77034         by using openat, fstatat, fdopendir, etc..
77035
77036         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
77037         (HAVE_OPENAT_SUPPORT): Define.
77038         [_LIBC] (fchdir): Don't undef or define; no longer used.
77039         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
77040         Now, this `function' always succeeds, and consumes its file descriptor
77041         parameter -- so callers must not close such FDs.  Update callers.
77042         (diropen_fd, opendirat, cwd_advance_fd): New functions.
77043         (diropen): Add parameter, SP.  Adjust all callers.
77044         Implement using diropen_fd, rather than open.
77045         (fts_open): Initialize new member, fts_cwd_fd.
77046         Remove fts_rft-setting code.
77047         (fts_close): Close fts_cwd_fd, if necessary.
77048         (__opendir2): Define in terms of opendir or opendirat,
77049         depending on whether the FST_NOCHDIR flag is set.
77050         (fts_build): Since fts_safe_changedir consumes its FD, and since
77051         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
77052         and close the dup'd file descriptor upon failure.
77053         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
77054         (fts_safe_changedir): Tweak semantics to reflect that this function
77055         now calls cwd_advance_fd and hence consumes its FD argument.
77056         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
77057         [struct FTS] (fts_rft): Remove now-unused member.
77058         [struct FTS] (fts_cycle.state): Improve comment.
77059
77060         * lib/openat.c (openat_needs_fchdir): New function.
77061         * lib/openat.h (openat_needs_fchdir): Declare it.
77062
77063 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
77064
77065         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
77066         Problem and fix reported by Pádraig Brady in
77067         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
77068
77069 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77070
77071         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
77072
77073 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77074
77075         * lib/memcoll.c (memcoll): Optimize for the common case where the
77076         arguments are bytewise equal.
77077
77078 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77079
77080         * doc/regexprops-generic.texi: Add a copyright notice.
77081
77082 2006-08-15  Bruno Haible  <bruno@clisp.org>
77083
77084         * modules/tmpdir (License): Change to LGPL.
77085
77086 2006-08-15  Bruno Haible  <bruno@clisp.org>
77087
77088         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
77089         module.
77090
77091 2006-08-14  Simon Josefsson  <jas@extundo.com>
77092
77093         * config/srclist.txt: Add gnupload.
77094
77095 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77096
77097         Change copyright notice from LGPL 2 to GPL 2, since that's the
77098         standard form used in the gnulib repository.
77099         * tests/test-lock.c: Likewise.
77100         * tests/test-stdint.c: Likewise.
77101         * tests/test-tls.c: Likewise.
77102
77103         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
77104         prelude-manager.  User shorter URLs for GNU projects, without '?'.
77105         Add copyright notice.
77106
77107         * check-module: Add copyright notice.  Output a copyright
77108         notice if "--version" is specified.
77109         * modules/COPYING: New file.
77110         * tests/test-getaddrinfo.c: Add copyright notice.
77111         * tests/test-verify.c: Likewise.
77112
77113 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77114
77115         Change copyright notice from LGPL 2 to GPL 2, since that's the
77116         standard form used in the gnulib repository.
77117         * lib/lock.c: LGPL -> GPL.
77118         * lib/lock.h: Likewise.
77119         * lib/strnlen1.c: Likewise.
77120         * lib/strnlen1.h: Likewise.
77121         * lib/tls.c: Likewise.
77122         * lib/tls.h: Likewise.
77123         * lib/tmpdir.c: Likewise.
77124
77125         * lib/TODO: Remove; this belongs only in coreutils.
77126
77127 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77128
77129         Add copyright notices to long-enough files that lack them, since
77130         otherwise the files aren't clearly free.  Use the same notice that
77131         getdate.texi already uses.
77132         * doc/alloca-opt.texi: Add copyright notice.
77133         * doc/alloca.texi: Likewise.
77134         * doc/ctime.texi: Likewise.
77135         * doc/functions.texi: Likewise.
77136         * doc/gcd.texi: Likewise.
77137         * doc/gnulib-tool.texi: Likewise.
77138         * doc/inet_ntoa.texi: Likewise.
77139         * doc/visibility.texi: Likewise.
77140
77141         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
77142         * doc/quote.texi: Add copyright notice.
77143
77144         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
77145         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
77146         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
77147         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
77148         is now obsolete, and give a pointer to the Sun list.
77149         Add copyright notice.
77150
77151 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
77152
77153         * config/srclistvars.sh: Add copyright notice.
77154
77155 2006-08-14  Eric Blake  <ebb9@byu.net>
77156
77157         Import the following change from libc:
77158
77159         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
77160
77161         Upstream bug 2997.
77162         * lib/misc/error.c: Add space between program name and message if file
77163         name is missing.
77164
77165 2006-08-12  Karl Berry  <karl@gnu.org>
77166
77167         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
77168         remove, these originate in gnulib now.
77169
77170 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77171
77172         * doc/Makefile (standards.info standards.html standards.dvi):
77173         Also depend on make-stds.texi.
77174
77175 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
77176
77177         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
77178         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
77179
77180         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
77181         in wchar_t.  Problem reported by Eric Blake.
77182
77183         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
77184         LEN is smaller than SIZE.  Suggested by Bruno Haible.
77185         Also, help the compiler to keep LEN in a register.
77186
77187 2006-08-11  Eric Blake  <ebb9@byu.net>
77188
77189         * users.txt: Sort.  Add tar.
77190
77191 2006-08-11  Bruno Haible  <bruno@clisp.org>
77192
77193         * users.txt: New file.
77194
77195 2006-08-11  Bruno Haible  <bruno@clisp.org>
77196
77197         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
77198         before <wchar.h>. Needed for OSF/1 and BSD/OS.
77199
77200 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77201
77202         * modules/snprintf (Depends-on): Remove minmax.
77203         (Maintainer): Add self and Bruno.
77204
77205 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
77206
77207         * lib/.cppi-disable: Add snprintf.h, socket_.h.
77208         * lib/snprintf.c: Include <errno.h> and <limits.h>.
77209         (EOVERFLOW): Define if the system does not.
77210         Do not include "minmax.h"; it wasn't used.
77211         (snprintf): Don't assume size_t promotes to an unsigned type.
77212         Fix bug when generated string was too long for the buffer: the
77213         buffer's contents are supposed to be the initial prefix of the
77214         output.  Don't assume vasnprintf returns EOVERFLOW if the size
77215         exceeds INT_MAX; do the check ourselves.
77216
77217         Import the following changes from libc:
77218
77219         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
77220
77221         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
77222         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
77223         set wc to the byte which couldn't be converted.
77224         (re_string_reconstruct): Don't clear valid_raw_len before calling
77225         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
77226         tip_context using re_string_context_at.
77227
77228         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
77229
77230         * lib/posix/regex.h: g++ still cannot handled [restrict].
77231
77232         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
77233
77234         * lib/posix/regex.h: Remove special handling for VMS.
77235
77236 2006-08-10  Jim Meyering  <jim@meyering.net>
77237
77238         * modules/same-inode: New module.
77239         * modules/dev-ino: New module.
77240         * modules/cycle-check: Depend on these modules, rather than simply
77241         including their .h files.
77242         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
77243         required via m4/cycle-check.m4.
77244         * modules/same: Depend on new same-inode module, rather than
77245         including same-inode.h.
77246         * modules/chdir-safer: New file.
77247
77248         * modules/chown (Depends-on): Add stat-macros.
77249
77250 2006-08-10  Jim Meyering  <jim@meyering.net>
77251
77252         * m4/cycle-check.m4: New file.
77253         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
77254         * m4/dev-ino.m4, m4/same-inode.m4: New files.
77255
77256 2006-08-10  Eric Blake  <ebb9@byu.net>
77257
77258         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
77259         in from original proposal.
77260
77261 2006-08-10  Eric Blake  <ebb9@byu.net>
77262         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77263
77264         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
77265         namespace.
77266
77267 2006-08-10  Bruno Haible  <bruno@clisp.org>
77268
77269         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
77270         as well.
77271
77272 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77273
77274         Sync from coreutils.
77275
77276         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
77277
77278         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
77279         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
77280
77281 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77282
77283         * modules/restrict: Remove; no longer needed now that we assume
77284         Autoconf 2.59 or later.
77285         * MODULES.html.sh: Remove 'restrict'.
77286         * modules/argp (Depends-on): Remove 'restrict'.
77287         * modules/base64 (Depends-on): Likewise.
77288         * modules/gc (Depends-on): Likewise.
77289         * modules/getaddrinfo (Depends-on): Likewise.
77290         * modules/glob (Depends-on): Likewise.
77291         * modules/inet_ntop (Depends-on): Likewise.
77292         * modules/inet_pton (Depends-on): Likewise.
77293         * modules/memxor (Depends-on): Likewise.
77294         * modules/regex (Depends-on): Likewise.
77295         * modules/strtok_r (Depends-on): Likewise.
77296         * modules/time_r (Depends-on): Likewise.
77297
77298 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
77299
77300         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
77301         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
77302         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
77303         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
77304         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
77305         * m4/memxor.m4 (gl_MEMXOR): Likewise.
77306         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
77307         gl_C_RESTRICT replaced by AC_C_RESTRICT.
77308
77309         Merge from coreutils.
77310         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
77311         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
77312         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
77313         * m4/time_r.m4 (gl_TIME_R): Likewise.
77314
77315 2006-08-09  Karl Berry  <karl@gnu.org>
77316
77317         * config/srclist.txt: no more gettext-tools, per Bruno.
77318
77319 2006-08-08  Eric Blake  <ebb9@byu.net>
77320
77321         * modules/verror: New module.
77322         * MODULES.html.sh: Document it.
77323
77324 2006-08-08  Eric Blake  <ebb9@byu.net>
77325
77326         * lib/verror.h, lib/verror.c: New files.
77327
77328 2006-08-08  Eric Blake  <ebb9@byu.net>
77329
77330         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
77331         verror_at_line output complies with GNU Coding Standards even when
77332         file is NULL.
77333
77334 2006-08-07  Bruno Haible  <bruno@clisp.org>
77335
77336         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
77337         versions of AIX.
77338         Reported by Ralf Wildenhues.
77339
77340 2006-08-07  Bruno Haible  <bruno@clisp.org>
77341
77342         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
77343         in an AC_DEFUN. Needed so that the autoconf snippets can use
77344         AC_REQUIRE.
77345
77346 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77347
77348         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77349         Initialize pkgdata_DATA.
77350         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
77351         overriding it.
77352
77353 2006-08-06  Eric Blake  <ebb9@byu.net>
77354
77355         * lib/error.h: Fold in some upstream changes from glibc.
77356         * lib/error.c: Likewise.
77357
77358 2006-08-04  Bruno Haible  <bruno@clisp.org>
77359
77360         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77361         Make the mostlyclean-local rule depend on mostlyclean-generic.
77362         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
77363
77364 2006-07-31  Bruno Haible  <bruno@clisp.org>
77365
77366         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
77367         <stdlib.h>, <string.h>.
77368
77369 2006-07-30  Bruno Haible  <bruno@clisp.org>
77370
77371         * modules/readlink (License): Change to LGPL.
77372
77373 2006-07-30  Bruno Haible  <bruno@clisp.org>
77374
77375         * modules/javaversion (Makefile.am): Distribute javaversion.java and
77376         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
77377         set PKGDATADIR to point to it.
77378
77379 2006-07-30  Bruno Haible  <bruno@clisp.org>
77380
77381         * modules/csharpexec (configure.ac): Comment out macro invocation.
77382         * modules/javaexec (configure.ac): Likewise.
77383         * modules/javacomp-script (configure.ac): Likewise.
77384
77385         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
77386
77387 2006-07-30  Bruno Haible  <bruno@clisp.org>
77388
77389         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
77390         linked-list.
77391
77392 2006-07-30  Bruno Haible  <bruno@clisp.org>
77393
77394         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
77395
77396 2006-07-30  Bruno Haible  <bruno@clisp.org>
77397
77398         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77399         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
77400         get removed.
77401
77402 2006-07-29  Bruno Haible  <bruno@clisp.org>
77403
77404         Make it possible for gnulib-tool to work with locally modified or
77405         augmented gnulib repositories.
77406         * gnulib-tool (func_usage): Document --local-dir option.
77407         (local_gnulib_dir): New variable.
77408         Handle --local-dir option.
77409         (func_lookup_file): New function.
77410         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
77411         (func_get_description, func_get_filelist, func_get_description,
77412         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
77413         func_get_automake_snippet, func_get_include_directive,
77414         func_get_license, func_get_maintainer): Use func_lookup_file.
77415         (func_import, func_create_testdir): Use func_lookup_file.
77416
77417 2006-07-29  Bruno Haible  <bruno@clisp.org>
77418
77419         * modules/setenv (Depends-on): Add unistd.
77420
77421 2006-07-29  Bruno Haible  <bruno@clisp.org>
77422
77423         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
77424
77425 2006-07-29  Bruno Haible  <bruno@clisp.org>
77426
77427         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
77428
77429 2006-07-29  Bruno Haible  <bruno@clisp.org>
77430
77431         * gnulib-tool (import, update): If there is no Makefile.am, look at
77432         aclocal.m4, instead of bailing out.
77433
77434 2006-07-29  Bruno Haible  <bruno@clisp.org>
77435
77436         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
77437         Categorize the options by when they are useful.
77438
77439 2006-07-29  Bruno Haible  <bruno@clisp.org>
77440
77441         * gnulib-tool (func_usage): Document option --no-libtool.
77442         Handle option --no-libtool.
77443         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
77444         for changed semantics of $libtool variable.
77445         (func_import): Likewise. If libtool is not used, show this through
77446         an option --no-libtool.
77447         (func_create_testdir): Update.
77448
77449 2006-07-29  Bruno Haible  <bruno@clisp.org>
77450
77451         * gnulib-tool (func_import): Extend error message about missing
77452         --doc-base.
77453
77454 2006-07-29  Bruno Haible  <bruno@clisp.org>
77455
77456         * gnulib-tool (func_import): Don't create the $docbase directory if
77457         there is no file to store there.
77458
77459 2006-07-29  Bruno Haible  <bruno@clisp.org>
77460
77461         * gnulib-tool (autoconf_minversion): If a --dir option is given and
77462         relevant, look for configure.ac there, not in the current directory.
77463         Also use a simple search for AC_PREREQ, not "autoconf --trace".
77464
77465 2006-07-29  Bruno Haible  <bruno@clisp.org>
77466
77467         * gnulib-tool (SORT): New variable.
77468         (func_usage): Undocument --assume-autoconf option.
77469         Remove --assume-autoconf option handling.
77470         (autoconf_minversion): Determine from the contents of configure.ac.
77471         (func_import): Remove autoconf_minversion handling.
77472         Suggested by Eric Blake.
77473
77474 2006-07-29  Bruno Haible  <bruno@clisp.org>
77475
77476         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
77477
77478 2006-07-29  Bruno Haible  <bruno@clisp.org>
77479
77480         * config/srclist.txt (*setenv.[ch]): Remove rules.
77481
77482 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77483
77484         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
77485
77486 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77487
77488         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
77489         arpa/inet.h.
77490
77491 2006-07-28  Simon Josefsson  <jas@extundo.com>
77492
77493         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
77494         * modules/inet_pton (Depends-on): Likewise.
77495
77496 2006-07-28  Simon Josefsson  <jas@extundo.com>
77497
77498         * m4/netinet_in_h.m4: New file.
77499
77500 2006-07-28  Simon Josefsson  <jas@extundo.com>
77501
77502         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
77503         #include's.
77504
77505 2006-07-28  Simon Josefsson  <jas@extundo.com>
77506
77507         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
77508         #include's.
77509
77510 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
77511
77512         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
77513         setgid on directories only if they set these bits.
77514         * lib/modechange.h: Remove obsolete comment about masks.
77515
77516 2006-07-28  Eric Blake  <ebb9@byu.net>
77517
77518         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
77519         macro expansion.
77520
77521 2006-07-28  Bruno Haible  <bruno@clisp.org>
77522
77523         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
77524
77525 2006-07-28  Bruno Haible  <bruno@clisp.org>
77526
77527         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
77528
77529 2006-07-28  Bruno Haible  <bruno@clisp.org>
77530
77531         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
77532         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
77533         Define fallbacks.
77534         Avoids link error on FreeBSD 4.x.
77535         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
77536
77537         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
77538         encoding.
77539         * lib/mbswidth.c (iswcntrl): Likewise.
77540
77541 2006-07-27  Bruno Haible  <bruno@clisp.org>
77542
77543         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
77544         test.
77545
77546 2006-07-27  Bruno Haible  <bruno@clisp.org>
77547
77548         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
77549         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
77550         defined.
77551
77552 2006-07-26  Eric Blake  <ebb9@byu.net>
77553
77554         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
77555
77556 2006-07-26  Eric Blake  <ebb9@byu.net>
77557
77558         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
77559         like mingw that lack mkstemp.
77560         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
77561         avoid compilation warning on mingw.
77562
77563 2006-07-26  Bruno Haible  <bruno@clisp.org>
77564
77565         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
77566         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
77567         INT_FAST*_MIN, INTPTR_MIN.
77568
77569 2006-07-25  Bruno Haible  <bruno@clisp.org>
77570
77571         * modules/version-etc (Depends-on): Add stdarg.
77572
77573 2006-07-25  Bruno Haible  <bruno@clisp.org>
77574
77575         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
77576         complex commands.
77577
77578 2006-07-25  Bruno Haible  <bruno@clisp.org>
77579
77580         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
77581         defined in <stdarg.h> or config.h.
77582
77583 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77584
77585         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
77586         (gl_STDIO_SAFER): Remove.
77587
77588 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
77589
77590         * MODULES.html.sh (File stream based Input/Output):
77591         Add fopen-safer, tmpfile-safer; remove stdio-safer.
77592         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
77593         * modules/fopen-safer, modules/tmpfile-safer: New files.
77594         * modules/stdio-safer: Remove.
77595
77596 2006-07-24  Bruno Haible  <bruno@clisp.org>
77597
77598         * modules/tmpdir: New file.
77599         * MODULES.html.sh (File system functions): Add it.
77600
77601 2006-07-24  Bruno Haible  <bruno@clisp.org>
77602
77603         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
77604         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
77605
77606 2006-07-24  Bruno Haible  <bruno@clisp.org>
77607
77608         * modules/clean-temp: New file.
77609
77610 2006-07-24  Bruno Haible  <bruno@clisp.org>
77611
77612         * m4/tmpdir.m4: New file, from GNU gettext.
77613
77614 2006-07-24  Bruno Haible  <bruno@clisp.org>
77615
77616         * lib/tmpdir.h: New file, from GNU gettext.
77617         * lib/tmpdir.c: New file, from GNU gettext.
77618
77619 2006-07-24  Bruno Haible  <bruno@clisp.org>
77620
77621         * lib/clean-temp.h: New file, from GNU gettext.
77622         * lib/clean-temp.c: New file, from GNU gettext.
77623
77624 2006-07-23  Eric Blake  <ebb9@byu.net>
77625
77626         * modules/stdio-safer (Files): Add tmpfile-safer.c.
77627         (Depends-on): Add binary-io.
77628
77629 2006-07-23  Eric Blake  <ebb9@byu.net>
77630
77631         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
77632
77633 2006-07-23  Eric Blake  <ebb9@byu.net>
77634
77635         * lib/tmpfile-safer.c: New file.
77636         * lib/stdio-safer.h (fopen_safer): Add prototype.
77637         * lib/stdio--.h (tmpfile): Make safer.
77638
77639 2006-07-23  Bruno Haible  <bruno@clisp.org>
77640
77641         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
77642         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
77643         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
77644         gl_linked_remove_at): Use it.
77645
77646 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
77647         and Simon Josefsson <jas@extundo.com>
77648
77649         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
77650
77651         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
77652
77653 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77654
77655         * modules/close-stream: New file.
77656         * modules/closeout (Description): Make it clear that it exits
77657         with a diagnostic on error.
77658         (Depends-on): Add close-stream.  Remove fpending, stdbool.
77659         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
77660
77661 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77662
77663         * m4/close-stream.m4: New file.
77664
77665 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
77666
77667         * lib/close-stream.c, lib/close-stream.h: New files.
77668
77669 2006-07-22  Bruno Haible  <bruno@clisp.org>
77670
77671         Merge from GNU gettext 0.15.
77672
77673         2006-05-01  Bruno Haible  <bruno@clisp.org>
77674
77675                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
77676
77677         2006-07-22  Bruno Haible  <bruno@clisp.org>
77678
77679                 * modules/javaversion: New file.
77680                 * MODULES.html.sh (Java): Add javaversion.
77681
77682         2006-03-12  Bruno Haible  <bruno@clisp.org>
77683
77684                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
77685
77686         2005-12-04  Bruno Haible  <bruno@clisp.org>
77687
77688                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
77689                 (untested).
77690
77691         2006-06-21  Bruno Haible  <bruno@clisp.org>
77692
77693                 Avoid warnings from recent versions of mcs.
77694                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
77695                 -o, -L, -r any more. Use options documented since mcs-1.0
77696                 instead. Similarly for -g.
77697
77698         2005-12-04  Bruno Haible  <bruno@clisp.org>
77699
77700                 * build-aux/csharpcomp.sh.in: Suffix for resources is
77701                 .resources, not .resource.
77702
77703         2005-07-09  Bruno Haible  <bruno@clisp.org>
77704
77705                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
77706                 add a .dll suffix.
77707                 Reported by Mark Junker <mjscod@gmx.de>.
77708
77709         2006-07-22  Bruno Haible  <bruno@clisp.org>
77710
77711                 * modules/gettext: Upgrade to gettext-0.15.
77712                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
77713                 m4/visibility.m4.
77714                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
77715
77716 2006-07-22  Bruno Haible  <bruno@clisp.org>
77717
77718         Merge from GNU gettext 0.15.
77719
77720         2006-03-25  Bruno Haible  <bruno@clisp.org>
77721
77722                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
77723
77724         2006-07-21  Bruno Haible  <bruno@clisp.org>
77725
77726                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
77727                 "1.1".
77728
77729         2006-05-09  Bruno Haible  <bruno@clisp.org>
77730
77731                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
77732                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
77733                 for the conftestver execution.
77734
77735         2006-05-01  Bruno Haible  <bruno@clisp.org>
77736
77737                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
77738                 optional target-version argument. Verify that the compiler
77739                 groks source of the specified source-version, or add -source
77740                 option as necessary. Verify that the compiler produces
77741                 bytecode in the specified target-version, or add -target and
77742                 -source options as necessary. Make the result of the test
77743                 available as variable CONF_JAVAC. Also log error output in
77744                 config.log.
77745
77746         2006-03-11  Bruno Haible  <bruno@clisp.org>
77747
77748                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
77749
77750         2006-05-09  Bruno Haible  <bruno@clisp.org>
77751
77752                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
77753                 CLASSPATH_SEPARATOR to a semicolon.
77754
77755         2006-03-12  Bruno Haible  <bruno@clisp.org>
77756
77757                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
77758                 available as variable CONF_JAVA, for subsequent autoconf
77759                 tests. Also log error output in config.log.
77760
77761         2006-07-19  Bruno Haible  <bruno@clisp.org>
77762
77763                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
77764                 that getline works on glibc2 systems. Needed to avoid trouble
77765                 in relocatable.c.
77766                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
77767
77768         2005-12-04  Bruno Haible  <bruno@clisp.org>
77769
77770                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
77771                 launcher (untested).
77772
77773         2005-12-04  Bruno Haible  <bruno@clisp.org>
77774
77775                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
77776
77777         2006-07-22  Bruno Haible  <bruno@clisp.org>
77778
77779                 * gettext.m4: Update from GNU gettext-0.15.
77780                 * nls.m4: Likewise.
77781                 * po.m4: Likewise.
77782                 * inttypes-pri.m4: Likewise.
77783                 * inttypes-h.m4: Renamed from inttypes.m4.
77784                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
77785
77786 2006-07-22  Bruno Haible  <bruno@clisp.org>
77787
77788         Merge from GNU gettext 0.15.
77789
77790         2005-07-05  Bruno Haible  <bruno@clisp.org>
77791
77792                 * printf-args.c (printf_fetchargs): Work around broken
77793                 definition of wint_t on mingw.
77794
77795         2005-02-12  Bruno Haible  <bruno@clisp.org>
77796
77797                 * xallocsa.h: Add extern "C" for C++.
77798
77799         2006-05-17  Bruno Haible  <bruno@clisp.org>
77800
77801                 Cygwin portability.
77802                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
77803
77804         2006-04-30  Bruno Haible  <bruno@clisp.org>
77805
77806                 * progreloc.c: Include <mach-o/dyld.h> if available.
77807                 (find_executable): Use _NSGetExecutablePath when possible.
77808
77809         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
77810
77811                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
77812                 function.
77813
77814         2005-12-29  Bruno Haible  <bruno@clisp.org>
77815
77816                 * progreloc.c (set_program_name_and_installdir): Fix
77817                 compilation error.
77818
77819         2005-12-04  Bruno Haible  <bruno@clisp.org>
77820
77821                 Cygwin portability.
77822                 * progreloc.c: Include <windows.h> also on Cygwin.
77823                 (find_executable): Add support for Cygwin.
77824                 (set_program_name_and_installdir): Handle also platforms with
77825                 nonempty EXEEXT.
77826
77827         2006-07-11  Bruno Haible  <bruno@clisp.org>
77828
77829                 * javacomp.c: Fix a comment.
77830                 Reported by Jim Meyering.
77831
77832         2006-04-30  Bruno Haible  <bruno@clisp.org>
77833
77834                 * javacomp.h (compile_java_class): Add source_version,
77835                 target_version arguments.
77836                 * javacomp.c: Rewritten to choose only a compiler that
77837                 respects the specified source_version and target_version.
77838
77839         2006-06-27  Bruno Haible  <bruno@clisp.org>
77840
77841                 Assume correct S_ISDIR macro.
77842                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
77843
77844         2006-07-22  Bruno Haible  <bruno@clisp.org>
77845
77846                 * javaversion.h: New file, from GNU gettext.
77847                 * javaversion.c: New file, from GNU gettext.
77848                 * javaversion.java: New file, from GNU gettext.
77849                 * javaversion.class: New file, from GNU gettext.
77850
77851         2006-05-17  Bruno Haible  <bruno@clisp.org>
77852
77853                 Cygwin portability.
77854                 * javaexec.c (execute_java_class): Test for jview program
77855                 also on Cygwin.
77856
77857         2006-04-09  Bruno Haible  <bruno@clisp.org>
77858
77859                 * fatal-signal.c: Don't include string.h.
77860                 (at_fatal_signal): Use a copying loop instead of memcpy.
77861
77862         2005-12-04  Bruno Haible  <bruno@clisp.org>
77863
77864                 * csharpexec.c: Add support for 'clix' launcher (untested).
77865                 (execute_csharp_using_sscli): New function.
77866                 (execute_csharp_program): Call it.
77867
77868         2006-06-21  Bruno Haible  <bruno@clisp.org>
77869
77870                 Avoid warnings from recent versions of mcs.
77871                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
77872                 -o, -L, -r any more. Use options documented since mcs-1.0
77873                 instead. Similarly for -g.
77874
77875         2005-07-09  Bruno Haible  <bruno@clisp.org>
77876
77877                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
77878                 add a .dll suffix.
77879                 Reported by Mark Junker <mjscod@gmx.de>.
77880
77881         2006-06-17  Bruno Haible  <bruno@clisp.org>
77882
77883                 * config.charset: Update for NetBSD 3.0.
77884
77885         2006-05-17  Bruno Haible  <bruno@clisp.org>
77886
77887                 Cygwin portability.
77888                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
77889
77890         2006-05-16  Bruno Haible  <bruno@clisp.org>
77891
77892                 * localcharset.c [CYGWIN]: Include <windows.h>.
77893                 (get_charset_aliases): For Cygwin, return the same CPxxx
77894                 aliases list as under WIN32.
77895                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
77896                 the environment variables. Fall back to GetACP().
77897
77898         2006-04-05  Bruno Haible  <bruno@clisp.org>
77899
77900                 * config.charset: Update Juan Manuel Guerrero's address.
77901
77902         2005-02-12  Bruno Haible  <bruno@clisp.org>
77903
77904                 * allocsa.h: Add extern "C" for C++.
77905
77906         2005-02-10  Bruno Haible  <bruno@clisp.org>
77907
77908                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
77909                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
77910
77911         2006-07-22  Bruno Haible  <bruno@clisp.org>
77912
77913                 * gettext.h: Update to GNU gettext-0.15.
77914
77915 2006-07-22  Bruno Haible  <bruno@clisp.org>
77916
77917         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
77918         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
77919         lib-prefix.m4, longdouble.m4, ssize_t.m4.
77920
77921 2006-07-21  Eric Blake  <ebb9@byu.net>
77922
77923         * modules/stdlib-safer: New file.
77924         * MODULES.html.sh (File stream based Input/Output): Add
77925         stdlib-safer.
77926
77927 2006-07-21  Eric Blake  <ebb9@byu.net>
77928
77929         * lib/stdlib-safer.h: New file from coreutils, required by
77930         stdlib--.h.
77931
77932 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
77933
77934         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
77935
77936 2006-07-20  Bruno Haible  <bruno@clisp.org>
77937
77938         * gnulib-tool: Recognize new option --assume-autoconf.
77939         (autoconf_minversion): New variable.
77940         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
77941
77942 2006-07-20  Bruno Haible  <bruno@clisp.org>
77943
77944         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
77945
77946 2006-07-19  Derek R. Price  <derek@ximbiot.com>
77947
77948         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
77949         Reindent and repaginate.
77950
77951 2006-07-19  Derek Price  <derek@ximbiot.com>
77952
77953         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
77954         Correct grammar.
77955
77956 2006-07-17  Bruno Haible  <bruno@clisp.org>
77957
77958         * modules/list: New file.
77959         * modules/array-list: New file.
77960         * modules/carray-list, modules/carray-list-tests: New files.
77961         * modules/linked-list, modules/linked-list-tests: New files.
77962         * modules/avltree-list, modules/avltree-list-tests: New files.
77963         * modules/rbtree-list, modules/rbtree-list-tests: New files.
77964         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
77965         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
77966         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
77967         * modules/oset: New file.
77968         * modules/array-oset: New file.
77969         * modules/avltree-oset, modules/avltree-oset-tests: New files.
77970         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
77971         * tests/test-carray_list.c: New file.
77972         * tests/test-linked_list.c: New file.
77973         * tests/test-avltree_list.c: New file.
77974         * tests/test-rbtree_list.c: New file.
77975         * tests/test-linkedhash_list.c: New file.
77976         * tests/test-avltreehash_list.c: New file.
77977         * tests/test-rbtreehash_list.c: New file.
77978         * tests/test-avltree_oset.c: New file.
77979         * tests/test-rbtree_oset.c: New file.
77980         * MODULES.html.sh (Container data structures): New section.
77981
77982 2006-07-17  Bruno Haible  <bruno@clisp.org>
77983
77984         * m4/gl_list.m4: New file.
77985
77986 2006-07-17  Bruno Haible  <bruno@clisp.org>
77987
77988         * lib/gl_list.h: New file.
77989         * lib/gl_list.c: New file.
77990         * lib/gl_array_list.h: New file.
77991         * lib/gl_array_list.c: New file.
77992         * lib/gl_carray_list.h: New file.
77993         * lib/gl_carray_list.c: New file.
77994         * lib/gl_linked_list.h: New file.
77995         * lib/gl_linked_list.c: New file.
77996         * lib/gl_anylinked_list1.h: New file.
77997         * lib/gl_anylinked_list2.h: New file.
77998         * lib/gl_avltree_list.h: New file.
77999         * lib/gl_avltree_list.c: New file.
78000         * lib/gl_anyavltree_list1.h: New file.
78001         * lib/gl_anyavltree_list2.h: New file.
78002         * lib/gl_rbtree_list.h: New file.
78003         * lib/gl_rbtree_list.c: New file.
78004         * lib/gl_anyrbtree_list1.h: New file.
78005         * lib/gl_anyrbtree_list2.h: New file.
78006         * lib/gl_anytree_list1.h: New file.
78007         * lib/gl_anytree_list2.h: New file.
78008         * lib/gl_linkedhash_list.h: New file.
78009         * lib/gl_linkedhash_list.c: New file.
78010         * lib/gl_anyhash_list1.h: New file.
78011         * lib/gl_anyhash_list2.h: New file.
78012         * lib/gl_avltreehash_list.h: New file.
78013         * lib/gl_avltreehash_list.c: New file.
78014         * lib/gl_rbtreehash_list.h: New file.
78015         * lib/gl_rbtreehash_list.c: New file.
78016         * lib/gl_anytreehash_list1.h: New file.
78017         * lib/gl_anytreehash_list2.h: New file.
78018
78019         * lib/gl_oset.h: New file.
78020         * lib/gl_oset.c: New file.
78021         * lib/gl_array_oset.h: New file.
78022         * lib/gl_array_oset.c: New file.
78023         * lib/gl_avltree_oset.h: New file.
78024         * lib/gl_avltree_oset.c: New file.
78025         * lib/gl_rbtree_oset.h: New file.
78026         * lib/gl_rbtree_oset.c: New file.
78027         * lib/gl_anytree_oset.h: New file.
78028
78029 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78030
78031         * m4/mkancesdirs.m4: New file.
78032         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
78033         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
78034         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
78035         it.
78036
78037 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78038
78039         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
78040         * lib/mkancesdirs.h: New files.
78041         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
78042         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
78043         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
78044         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
78045         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
78046         callers changed.  Revamp internals significantly, by not
78047         attempting to create directories that are temporarily more
78048         permissive than the final results.  Do not attempt to use
78049         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
78050         This removes some race conditions, fixes some bugs, and simplifies
78051         things.  Use new dirchownmod function to do owner and mode changes.
78052         * lib/mkdir-p.h: Likewise.
78053         * lib/modechange.c (octal_to_mode): New function.
78054         (struct mode_change): New member mentioned.
78055         (make_node_op_equals): New arg mentioned.  All callers changed.
78056         (mode_compile): Keep track of which mode bits the user has explicitly
78057         mentioned.
78058         (mode_adjust): New arg DIR, so that we implement the X op correctly.
78059         New arg PMODE_BITS, to keep track of which mode bits the user
78060         mentioned; it treats S_ISUID and S_ISGID speciall.
78061         All callers changed.
78062         * lib/modechange.h: Likewise.
78063
78064 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
78065
78066         * MODULES.html.sh: Add mkancestors.
78067         * modules/mkancesdirs: New module.
78068         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
78069         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
78070         The chdir-safer and afs files are now orphans; I'll remove them
78071         unless someone speaks up.
78072         Add lib/dirchownmod.c, lib/dirchownmod.h.
78073         (Depends-on): Remove alloca, chown, save-cwd, dirname.
78074         Add lchown, mkancesdirs.
78075         (Maintainer): Add self.
78076
78077 2006-07-15  Karl Berry  <karl@gnu.org>
78078
78079         * gnulib-tool: help message wording/arrangement.
78080
78081 2006-07-14  Simon Josefsson  <jas@extundo.com>
78082
78083         * doc/gnulib.texi (Libtool and Windows): New section.
78084
78085 2006-07-12  Simon Josefsson  <jas@extundo.com>
78086
78087         * modules/gendocs (License): Fix license, approved by Karl.
78088
78089 2006-07-12  Eric Blake  <ebb9@byu.net>
78090
78091         * MODULES.html.sh: Add gendocs.
78092
78093 2006-07-11  Eric Blake  <ebb9@byu.net>
78094
78095         * modules/fdl: New module, to install doc/fdl.texi.
78096         * MODULES.html.sh: Add new section for documentation modules.
78097         * gnulib-tool: Avoid space-tab.
78098         (--doc-base): New option, to manage files from doc.
78099
78100 2006-07-11  Eric Blake  <ebb9@byu.net>
78101
78102         * m4/absolute-header.m4: Fix comments to match recent change.
78103
78104 2006-07-11  Eric Blake  <ebb9@byu.net>
78105
78106         * gnulib-tool: List --doc-base before --tests-base.
78107
78108 2006-07-11  Derek R. Price  <derek@ximbiot.com>
78109
78110         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
78111
78112 2006-07-11  Bruno Haible  <bruno@clisp.org>
78113
78114         * README: Mention where to put documentation.
78115
78116 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78117
78118         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
78119
78120 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78121
78122         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
78123         to stdint.m4.
78124
78125 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
78126
78127         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
78128         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
78129         "no/such/file/stdint.h" when there is no such file, so that
78130         the resulting C code can be parsed by dodgy compilers.
78131         Problems reported by Bob Proulx.
78132
78133 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78134
78135         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
78136         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78137         macros into the GNU _D_EXACT_NAMLEN.
78138         * lib/savedir.c:  Likewise.
78139         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
78140
78141 2006-07-10  Derek R. Price  <derek@ximbiot.com>
78142         and Paul Eggert  <eggert@cs.ucla.edu>
78143
78144         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
78145         * m4/savedir.m4:
78146         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
78147         macros into the GNU _D_EXACT_NAMLEN.
78148
78149 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78150
78151         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
78152         around the absolute name, to work around a problem with the HP-UX
78153         11.23 native C compiler, reported by Bob Proulx.
78154
78155 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78156
78157         * doc/maintain.texi, make-stds.texi: Sync from
78158         <http://savannah.gnu.org/projects/gnustandards>.
78159
78160 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
78161
78162         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
78163
78164 2006-07-09  Jim Meyering  <jim@meyering.net>
78165
78166         * m4/glob.m4: Remove a doubled word in a comment.
78167
78168 2006-07-09  Jim Meyering  <jim@meyering.net>
78169
78170         * lib/argp-pv.c: Remove a doubled word in a comment.
78171         * lib/check-version.c (check_version): Likewise.
78172         * lib/javacomp.c (compile_java_class): Likewise.
78173
78174 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
78175
78176         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
78177         for the benefit of people using Autoconf 2.60.  If you want to
78178         support older Autoconf versions you can copy m4/onceonly_2_57.m4
78179         (or m4/onceonly.m4, if pre-2.57) manually.
78180
78181 2006-07-08  Jim Meyering  <jim@meyering.net>
78182
78183         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
78184         comment.
78185         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
78186         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
78187         comment.
78188
78189 2006-07-08  Jim Meyering  <jim@meyering.net>
78190
78191         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
78192
78193 2006-07-07  Simon Josefsson  <jas@extundo.com>
78194
78195         * tests/test-crc.c: Change expected crc value, the test vector
78196         were probably computed using the old broken crc.c?
78197
78198 2006-07-06  Simon Josefsson  <jas@extundo.com>
78199
78200         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
78201         now the canonical place for the M4 file).
78202
78203         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
78204         from the sys_socket dependency now.
78205
78206         * modules/inet_pton (Files): Ditto.
78207
78208         * modules/inet_ntop (Files): Ditto.
78209
78210 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78211
78212         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
78213         not gl_PREREQ_GETUSERSHELL.
78214
78215 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78216
78217         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
78218         with only one argument, for Autoconf 2.60.
78219         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
78220         expand to nothing, so add a shell command to avoid syntax error.
78221         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
78222
78223 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78224
78225         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
78226
78227 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78228
78229         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
78230         no longer needed.  Check for isblank decl.
78231         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
78232         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
78233         of existence.
78234
78235 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78236
78237         * lib/getloadavg.c: Use __VMS, not VMS.
78238         * lib/getopt.c: Likewise.
78239         * lib/getpagesize.h: Likewise.
78240         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
78241         and probably does not work.
78242
78243 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
78244
78245         * lib/.cppi-disable: Add wcwidth.
78246         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
78247         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
78248         (ISGRAPH): Remove.  All uses changed to isgraph.
78249         (FOLD) [!defined _LIBC]: Remove special case.
78250         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
78251         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
78252         HAVE_ISBLANK.
78253         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
78254         case.
78255
78256 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78257
78258         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
78259         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
78260         brackets.  Other minor changes to suppress some compiler
78261         warnings.
78262
78263 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78264         and Paul Eggert  <eggert@cs.ucla.edu>
78265
78266         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
78267         of invoking obsolescent AC_HEADER_DIRENT macro.
78268         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
78269         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
78270         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
78271         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
78272         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
78273         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78274         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
78275         * m4/readdir.m4: Remove; no longer needed.
78276
78277 2006-07-06  Derek R. Price  <derek@ximbiot.com>
78278         and Paul Eggert  <eggert@cs.ucla.edu>
78279
78280         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
78281         Don't worry about this obsolete case any more.
78282         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
78283         directories.
78284         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
78285         worry about this obsolete case any more.
78286         * lib/fts.c: Likewise.
78287         * lib/getcwd.c: Likewise.
78288         * lib/glob.h: Likewise.
78289         * lib/savedir.c: Likewise.
78290
78291 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78292
78293         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
78294         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
78295         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
78296         needed.
78297         All uses removed.
78298         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78299         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78300         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
78301         needed.
78302         * m4/getdate.m4 (gl_GETDATE): Likewise.
78303         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78304         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78305         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78306         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78307         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
78308         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78309         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
78310         needed.
78311
78312 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
78313
78314         * lib/memcasecmp.c: Include <limits.h>.
78315         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
78316         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
78317         Don't assume isdigit succeeds only on '0' through '9'.
78318
78319 2006-07-05  Eric Blake  <ebb9@byu.net>
78320
78321         * modules/getaddrinfo (Depends-on): Add snprintf.
78322
78323 2006-07-05  Eric Blake  <ebb9@byu.net>
78324
78325         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
78326         to avoid 'header present but could not be compiled' on cygwin.
78327
78328 2006-07-05  Eric Blake  <ebb9@byu.net>
78329
78330         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
78331         missing from netdb.h.
78332         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
78333
78334 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78335
78336         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
78337         no longer needed.
78338         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
78339         * m4/getdate.m4 (gl_GETDATE): Likewise.
78340         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
78341         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
78342         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
78343         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
78344         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
78345
78346 2006-07-05  Derek R. Price  <derek@ximbiot.com>
78347
78348         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
78349         All uses of is_space replaced by isspace.
78350         * lib/exit.h: Don't talk about STDC_HEADERS.
78351         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
78352         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
78353         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
78354         replaced by isprint etc.
78355         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
78356         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78357         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
78358         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
78359         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
78360         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
78361
78362 2006-07-05  Bruno Haible  <bruno@clisp.org>
78363
78364         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
78365         the function exists, before testing against AIX.
78366         Reported by Martin Lambers <marlam@marlam.de>.
78367
78368 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78369
78370         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
78371         From Mark D. Baushke.
78372
78373 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
78374
78375         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
78376         to the absolute name, not just one, to bypass Sun C 5.8's
78377         "warning: #include of /usr/include/... may be non-portable".
78378
78379 2006-07-04  Eric Blake  <ebb9@byu.net>
78380
78381         * modules/dirname-tests: New test module.
78382         * tests/test-dirname.c: New file, replacing dirname.c
78383         TEST_DIRNAME section that was recently deleted.
78384
78385 2006-07-04  Bruno Haible  <bruno@clisp.org>
78386
78387         Assume ANSI C header files and <ctype.h> functions.
78388         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
78389         (mbsnwidth): Use isprint, iscntrl instead.
78390
78391 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78392
78393         Merge from coreutils.
78394         * MODULES.html.sh: Add xstrtold.
78395         * modules/xstrtold: New file.
78396         * modules/cycle-check (Files): Add lib/same-inode.h.
78397         * modules/dirname (Files): Add m4/double-slash-root.m4.
78398         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
78399         * modules/mkdir-p (Files): Add lib/same-inode.h.
78400         * modules/same (Files): Add lib/same-inode.h.
78401
78402 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78403
78404         * m4/absolute-header.m4: Renamed from full-header-path.m4.
78405         This is to keep the terminology clean; POSIX talks about
78406         "absolute pathnames", not "full pathnames", but the GNU
78407         Coding Standards say to use "path" for something else;
78408         so use "absolute" to keep both sides happy.
78409         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
78410         Set gl_absolute_header, not gl_full_header_path.
78411         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
78412         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
78413         All uses changed.
78414
78415         Merge from coreutils.
78416
78417         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78418
78419         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
78420         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
78421         want to require the building of c-strtod.o.
78422         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
78423         needs -lm directly.
78424         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
78425
78426         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
78427
78428         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
78429         --as-needed option if available.  Problem reported by Albert Chin in
78430         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
78431         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
78432         cc merely issues a bunch of annoying warnings for --as-needed
78433         (this problem was reported by Bob Proulx).  Also, try linking with
78434         -lm to detect a bug in binutils 2.16 (this problem was reported
78435         by Ralf Wildenhues).
78436
78437         2006-06-18  Jim Meyering  <jim@meyering.net>
78438
78439         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
78440         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
78441         macro.
78442         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
78443         also check for glibc-2.4's abort-inducing bug.
78444
78445         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
78446         Low-probability clean-up should be to use rmdir to get rid of
78447         the just-created directory, not unlink.
78448
78449         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
78450         configure fail, and request a bug report to inform us about it.
78451         Add a comment that, barring reports to the contrary, in 2007 we'll
78452         assume ftruncate is universally available.
78453
78454         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78455
78456         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
78457
78458         2006-03-12  Jim Meyering  <jim@meyering.net>
78459
78460         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
78461         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
78462         * m4/same.m4 (gl_SAME): Likewise.
78463         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
78464
78465         2006-03-11  Eric Blake  <ebb9@byu.net>
78466
78467         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
78468         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
78469         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
78470         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
78471
78472 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
78473
78474         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
78475         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
78476         reported by Mark D. Baushke, one in
78477         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
78478
78479         Merge from coreutils.
78480
78481         * lib/.cppi-disable: Add stdint_.h.
78482         * lib/.cvsignore: Add stdint.h.
78483
78484         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
78485
78486         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
78487         both double and long double versions.
78488         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
78489         * lib/xstrtold.c: New file.
78490         * lib/xstrtod.h (xstrtold): New decl.
78491
78492         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
78493
78494         * lib/filemode.c (setst): Remove.
78495         (strmode): Rewrite to avoid setst.  This makes the code shorter,
78496         (arguably) clearer, and the generated code is a bit smaller on my
78497         Debian GNU/Linux stable x86 host.
78498
78499         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
78500
78501         * lib/filemode.c: Include "filemode.h" first, to test the interface.
78502         Assume that filemode.h includes sys/types.h and sys/stat.h.
78503         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
78504         (ftypelet): Reorder to put common cases first, for efficiency.
78505         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
78506         to do 'M'.
78507         (strmode): Renamed from mode_string, and now stores 12 bytes instead
78508         of 10, for compatibility with FreeBSD.  All callers changed.
78509         (filemodestring): Now stores 12 bytes instead of 10, and sets file
78510         types that can't be deduced solely from st_mode.  First arg is now a
78511         const pointer.
78512         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
78513         (strmode): Renamed from mode_string.
78514         (filemodestring): New decl.
78515         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
78516         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
78517         needed.
78518         (S_ISPORT, S_ISWHT): New macros, if not already defined.
78519
78520         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
78521
78522         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
78523         fsusage.h now does that.  Include fsusage.h first, to test interface.
78524         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
78525         at most one method (the old code could have generated decls that
78526         didn't conform to C89, not that this was ever exercised).
78527         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
78528
78529         2006-03-19  Jim Meyering  <jim@meyering.net>
78530
78531         Work even in a chroot where d_ino values for entries in "/"
78532         don't match the stat.st_ino values for the same names.
78533         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
78534         number, iterate through all entries again, using lstat instead.
78535         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
78536         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
78537
78538         * lib/getcwd.c (__getcwd): Clarify a comment.
78539         Use memcpy in place of a call to strcpy.
78540
78541         2006-03-12  Jim Meyering  <jim@meyering.net>
78542
78543         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
78544         matches that of the current directory (which we're about to chdir ".."
78545         out of), then save the dev-ino of the parent, instead.
78546
78547         * lib/same-inode.h (SAME_INODE): New file/macro.
78548         * lib/chdir-safer.c (SAME_INODE): Remove definition.
78549         Include "same-inode.h", instead.
78550         * lib/same.c: Likewise.
78551         * lib/cycle-check.h: Include "same-inode.h".
78552         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
78553         * lib/cycle-check.c (SAME_INODE): Remove definition.
78554         * lib/root-dev-ino.h: Include "same-inode.h".
78555
78556         2006-03-11  Eric Blake  <ebb9@byu.net>
78557
78558         * lib/same.c (same_name): s/base_name/last_component/
78559         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
78560         * lib/filenamecat.c (file_name_concat): Likewise.
78561
78562         2006-03-11  Eric Blake  <ebb9@byu.net>,
78563                     Paul Eggert  <eggert@cs.ucla.edu>
78564
78565         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
78566         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
78567         drive prefix.
78568         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
78569         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
78570         (last_component): New method.
78571         * lib/dirname.c (dir_len): Determine when drive letters need a
78572         subsequent slash.  Preserve // when it is special.
78573         (dir_name): Don't append dot when drive letter is absolute.
78574         [TEST_DIRNAME]: Move into a full-blown gnulib test.
78575         * lib/basename.c (base_name): New semantics - malloc the result.
78576         Preserve // when it is special.  Preserve relative files that look
78577         like drive letters.
78578         (base_len): Preserve // when it is special.
78579         (last_component): New method, similar to old base_name semantics.
78580         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
78581         base_name.  Strip redundant slashes from ///.
78582
78583 2006-07-03  Jim Meyering  <jim@meyering.net>
78584
78585         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
78586         macro is used before the first cycle_check call.
78587
78588 2006-07-03  Eric Blake  <ebb9@byu.net>
78589
78590         * modules/dirname (Depends-on): Add xstrndup.
78591
78592 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78593
78594         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
78595         test cases, so that config.log is a bit easier to follow.
78596
78597 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
78598
78599         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
78600         both are 64 bits, since this seems to be the tradition, and this
78601         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
78602         we ever run into a host that prefers long long to long in this
78603         case, we'll need another configure-time test.  Problem reported by
78604         Jim Meyering.
78605
78606 2006-07-02  Eric Blake  <ebb9@byu.net>
78607
78608         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
78609
78610 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78611
78612         * modules/inttypes (Depends-on): No longer depends on stdint.
78613         * modules/stdint (Description): Say more about assumptions.
78614         Say that the fast types might differ.  Say macros are used.
78615         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
78616         (Makefile.am): Revise list of substituted symbols to match
78617         new stdint.m4.
78618         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
78619         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
78620         * tests/test-stdint.c (verify_same_types)
78621         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
78622         the code conforms to C99/C89.
78623         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
78624         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
78625
78626 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78627
78628         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
78629         but fix a bug, by requiring at least 64 bits.
78630         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
78631         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
78632         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
78633         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
78634
78635         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
78636         changes.  Make 2.59 a prerequisite.  Check and substitute for
78637         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
78638         inttypes.h.  Do not use special include files; just use the
78639         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
78640         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
78641         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
78642         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
78643         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
78644         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
78645         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
78646         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
78647         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
78648         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
78649         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
78650         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
78651         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
78652         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
78653         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
78654         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
78655         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
78656         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
78657         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
78658         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
78659         WINT_MAX.  Check for C99 conformance more strictly, by detecting
78660         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
78661         not check for things that C99 does not require, e.g., int8_t.  If
78662         a test isn't needed unless <stdint.h> isn't working, and is
78663         unlikely to be needed for any other reason, then don't do it
78664         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
78665         size_t, since we assume C89 freestanding at least.  Do not check
78666         for sig_atomic_t, wchar_t, or wint_t, since the code now does
78667         the right thing even if the types are not defined.  Instead use:
78668         (gl_STDINT_TYPE_PROPERTIES): New macro.
78669         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
78670         testing whether <sys/types.h> clashes, as Autoconf does this for
78671         us now.  All uses removed.
78672         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
78673         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
78674         (gl_CHECK_TYPE_SAME):
78675         Remove; no longer needed.
78676         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
78677         exists, since we'll return 0 anyway in that case.
78678         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
78679
78680 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
78681
78682         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
78683         possible collision with system files.
78684         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
78685         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
78686         WCHAR_MIN and WCHAR_MAX in this case.
78687         (<stddef.h>): Do not include; no longer needed.
78688         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
78689         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
78690         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
78691         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
78692         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
78693         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
78694         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
78695         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
78696         !defined(__c99))]: Include in this case too, since it's harmless
78697         now.
78698         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
78699         dangerous to do so.
78700         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
78701         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
78702         (_STDINT_MIN, _STDINT_MAX): New macros.
78703         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
78704         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
78705         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
78706         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
78707         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
78708         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
78709         macros, not typedefs; this simplifies things quite a bit.
78710         Use long int for all types narrower than int64_t.
78711         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
78712         Define in terms of long long int or int64_t or long int,
78713         not int64_t or int32_t.  This saves some compile-time testing.
78714         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
78715         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
78716         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
78717         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
78718         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
78719         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
78720         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
78721         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
78722         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
78723         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
78724         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78725         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78726         undef any previous version and define our own version, for
78727         simplicity and consistency with the new macros for types.
78728         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
78729         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
78730         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
78731         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
78732         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
78733         @WINT_T_SUFFIX@ to keep things simple here.
78734         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
78735         Simplify by assuming typical 8/16/32/64 host, since we're
78736         already doing that elsewhere anyway.
78737         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
78738         and assume long long int is 64 bits if available.  This
78739         speeds up 'configure'.
78740
78741 2006-07-01  Eric Blake  <ebb9@byu.net>
78742
78743         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
78744         Reported by Andreas Buening.
78745
78746 2006-07-01  Eric Blake  <ebb9@byu.net>
78747
78748         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
78749
78750 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
78751
78752         * lib/getaddrinfo.c: fixed typo
78753
78754 2006-06-29  Jim Meyering  <jim@meyering.net>
78755
78756         * modules/strftime (Maintainer): Add my name, since with the
78757         FPRINTFTIME changes strftime.c has forked from glibc.
78758
78759 2006-06-29  Eric Blake  <ebb9@byu.net>
78760
78761         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
78762
78763 2006-06-29  Eric Blake  <ebb9@byu.net>
78764
78765         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
78766
78767 2006-06-29  Eric Blake  <ebb9@byu.net>
78768
78769         * lib/stat_.h: New file.
78770
78771 2006-06-29  Eric Blake  <ebb9@byu.net>
78772
78773         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
78774         unused static function.
78775
78776 2006-06-29  Eric Blake  <ebb9@byu.net>
78777
78778         * doc/functions.texi (Function Portability): Document missing lstat
78779         on mingw.
78780
78781 2006-06-29  Eric Blake  <ebb9@byu.net>
78782
78783         * MODULES.html.sh: Add sys_stat.
78784         * modules/sys_stat: New module.
78785         * modules/mkstemp (Depends-on): Add sys_stat.
78786
78787 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78788
78789         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
78790
78791 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78792
78793         * m4/c-bs-a.m4: Removed.
78794
78795 2006-06-29  Derek R. Price  <derek@ximbiot.com>
78796
78797         * lib/strftime.c: Assume strftime() exists.
78798
78799 2006-06-29  Derek Price  <derek@ximbiot.com>
78800
78801         * modules/c-bs-a: Removed - \a is C89.
78802         * MODULES.html.sh: Remove c-bs-a.
78803
78804 2006-06-29  Bruno Haible  <bruno@clisp.org>
78805
78806         * modules/wcwidth (License): Change to LGPL.
78807
78808 2006-06-28  Simon Josefsson  <jas@extundo.com>
78809
78810         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
78811         on _WIN32.
78812
78813         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
78814         getnameinfo.
78815
78816 2006-06-28  Simon Josefsson  <jas@extundo.com>
78817
78818         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
78819
78820 2006-06-28  Simon Josefsson  <jas@extundo.com>
78821
78822         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
78823         functions there.  It will succeed on Windows XP, but on Windows
78824         2000 and (presumably) earlier, it will fail, and use the internal
78825         re-implementation.
78826         (use_win32_p): New function.
78827         (getaddrinfo): Use strtoul on servname, to support numeric ports.
78828         Support AI_NUMERICSERV to disable getservbyname.
78829         (getnameinfo): New function, only supports
78830         NI_NUMERICHOST|NI_NUMERICSERV for now.
78831
78832         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
78833         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
78834         getnameinfo.
78835
78836 2006-06-28  Eric Blake  <ebb9@byu.net>
78837
78838         * modules/wcwidth: New file.
78839         * modules/mbchar (Depends-on): Add wcwidth.
78840         * modules/mbswidth (Depends-on): Add wcwidth.
78841         * MODULES.html.sh: Add wcwidth.
78842
78843 2006-06-28  Eric Blake  <ebb9@byu.net>
78844
78845         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
78846         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
78847
78848 2006-06-28  Eric Blake  <ebb9@byu.net>
78849
78850         * lib/xvasprintf.h: Fix comments.
78851
78852 2006-06-28  Eric Blake  <ebb9@byu.net>
78853
78854         * lib/mbchar.h (wcwidth): Include wcwidth.h.
78855         * lib/mbswidth.c (wcwidth): Move from here...
78856         * lib/wcwidth.h: ...to this new file.
78857
78858 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78859
78860         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
78861
78862         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
78863         it's obsolete.
78864         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
78865
78866 2006-06-28  Derek R. Price  <derek@ximbiot.com>
78867
78868         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
78869         Autoconf 2.60 says this stuff was obsolete.
78870
78871 2006-06-28  Bruno Haible  <bruno@clisp.org>
78872
78873         * modules/wcwidth (Files): Add m4/wchar_t.m4.
78874
78875 2006-06-28  Bruno Haible  <bruno@clisp.org>
78876
78877         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
78878         gt_TYPE_WCHAR_T.
78879
78880 2006-06-28  Bruno Haible  <bruno@clisp.org>
78881
78882         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
78883         declaration for wcwidth.
78884         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
78885
78886 2006-06-28  Bruno Haible  <bruno@clisp.org>
78887
78888         * lib/mkdtemp.c [MINGW]: Include <io.h>.
78889         (mkdir): Define using _mkdir.
78890
78891 2006-06-28  Bruno Haible  <bruno@clisp.org>
78892
78893         * lib/getaddrinfo.h: Fix POSIX URL.
78894         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
78895         _WIN32.
78896         (use_win32_p): Make static.
78897         (getaddrinfo): Reject service name if it is empty or does not consist
78898         solely of decimal digits, or if its value is > 65535.
78899         (getnameinfo): Remove useless casts.
78900
78901 2006-06-27  Simon Josefsson  <jas@extundo.com>
78902
78903         * modules/sys_select: New file, suggested by Bruno Haible, Paul
78904         Eggert and Martin Lambers.
78905
78906 2006-06-27  Simon Josefsson  <jas@extundo.com>
78907
78908         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
78909         Eggert and Martin Lambers.
78910
78911 2006-06-27  Bruno Haible  <bruno@clisp.org>
78912
78913         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
78914         result to 0, not to empty.
78915         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
78916
78917 2006-06-27  Bruno Haible  <bruno@clisp.org>
78918
78919         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
78920
78921 2006-06-26  Simon Josefsson  <jas@extundo.com>
78922
78923         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
78924         present.
78925
78926 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
78929         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
78930         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
78931
78932 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
78933
78934         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
78935
78936 2006-06-26  Bruno Haible  <bruno@clisp.org>
78937
78938         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
78939
78940 2006-06-26  Bruno Haible  <bruno@clisp.org>
78941
78942         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
78943
78944 2006-06-26  Bruno Haible  <bruno@clisp.org>
78945
78946         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
78947         SGI C compiler in pre-C99 mode.
78948         Suggested by Mark D. Baushke and Larry Jones.
78949
78950 2006-06-26  Bruno Haible  <bruno@clisp.org>
78951
78952         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
78953         WCHAR_MAX.
78954         Reported by Mark D. Baushke and Larry Jones.
78955
78956 2006-06-26  Bruno Haible  <bruno@clisp.org>
78957
78958         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
78959         in pre-C99 mode.
78960         Suggested by Mark D. Baushke and Larry Jones.
78961
78962 2006-06-23  Simon Josefsson  <jas@extundo.com>
78963             Bruno Haible  <bruno@clisp.org>
78964
78965         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
78966         Emit mostlyclean-local rule.
78967         (func_emit_tests_Makefile_am): Likewise.
78968         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
78969
78970 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
78971
78972         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
78973
78974 2006-06-23  Bruno Haible  <bruno@clisp.org>
78975
78976         * tests/test-stdint.c: Update to match ISO C 99 Technical
78977         Corrigendum 1.
78978
78979 2006-06-23  Bruno Haible  <bruno@clisp.org>
78980
78981         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
78982
78983 2006-06-23  Bruno Haible  <bruno@clisp.org>
78984
78985         * lib/stdint_.h: Treat IRIX like OpenBSD.
78986
78987 2006-06-23  Bruno Haible  <bruno@clisp.org>
78988
78989         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
78990         ISO C 99 Technical Corrigendum 1.
78991
78992 2006-06-22  Simon Josefsson  <jas@extundo.com>
78993
78994         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
78995         MinGW.
78996
78997 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
78998
78999         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
79000         needed.  Some compiler complained about some of them.  Problem reported
79001         by Larry Jones in
79002         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
79003
79004 2006-06-21  Simon Josefsson  <jas@extundo.com>
79005
79006         * tests/test-getaddrinfo.c: New file.
79007
79008         * modules/getaddrinfo-tests: New file.
79009
79010         * MODULES.html.sh: Add inet_pton.
79011
79012         * modules/inet_pton: New file.
79013
79014 2006-06-21  Simon Josefsson  <jas@extundo.com>
79015
79016         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
79017         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
79018         of using the (limited) gnulib implementation on Windows XP.
79019
79020         * m4/inet_pton.m4: New file.
79021
79022 2006-06-21  Simon Josefsson  <jas@extundo.com>
79023
79024         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
79025         variable.
79026
79027         * lib/socket_.h: Don't define WINVER.
79028
79029         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
79030         slightly modified to work in gnulib.
79031
79032 2006-06-21  Simon Josefsson  <jas@extundo.com>
79033
79034         * doc/gnulib.texi (Windows sockets): Add.
79035
79036 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
79037
79038         * lib/read-file.c (fread_file): Start with buffer allocation of
79039         0 bytes rather than 1 byte; this simplifies the code.
79040         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
79041         code to free buffer and save/restore errno.
79042         (internal_read_file): Remove unused local.
79043
79044 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
79045
79046         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
79047         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
79048         Problem reported by Denis Excoffier in
79049         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
79050
79051 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79052
79053         * modules/sys_socket, modules/socklen: Include sys/types since
79054         FreeBSD 4.x's sys/socket.h needs it.
79055
79056 2006-06-19  Simon Josefsson  <jas@extundo.com>
79057
79058         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
79059
79060 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
79061
79062         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
79063
79064 2006-06-19  Bruno Haible  <bruno@clisp.org>
79065
79066         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
79067         and FULL_PATH_INTTYPES_H in angle brackets.
79068         Reported by Mark D. Baushke <mdb@gnu.org>.
79069
79070 2006-06-17  Eric Blake  <ebb9@byu.net>
79071
79072         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
79073         errno.
79074
79075 2006-06-17  Bruno Haible  <bruno@clisp.org>
79076
79077         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
79078         <sys/inttypes.h>.
79079
79080 2006-06-17  Bruno Haible  <bruno@clisp.org>
79081
79082         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
79083         whether errno is declared. Assume <errno.h> declares errno.
79084
79085 2006-06-17  Bruno Haible  <bruno@clisp.org>
79086
79087         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
79088
79089 2006-06-17  Bruno Haible  <bruno@clisp.org>
79090
79091         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
79092         problem on Solaris 2.5.1.
79093
79094 2006-06-16  Eric Blake  <ebb9@byu.net>
79095
79096         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
79097         * lib/unicodeio.c [!defined errno]: Likewise.
79098         * lib/strtol.c [!defined errno]: Likewise.
79099         * lib/strtod.c [!defined errno]: Likewise.
79100
79101 2006-06-15  Eric Blake  <ebb9@byu.net>
79102
79103         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
79104
79105 2006-06-15  Eric Blake  <ebb9@byu.net>
79106
79107         * config/srclist.txt (ssize_t.m4): Lose sync.
79108
79109 2006-06-15  Bruno Haible  <bruno@clisp.org>
79110
79111         * modules/stdint (Files): Include m4/full-header-path.m4,
79112         m4/size_max.m4, m4/wchar_t.m4.
79113         (Makefile.am): Many more substitutions.
79114         * modules/stdint-tests: New file.
79115         * tests/test-stdint.c: New file.
79116
79117 2006-06-15  Bruno Haible  <bruno@clisp.org>
79118
79119         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
79120         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
79121         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
79122         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
79123         gl_CHECK_TYPE_SAME): New macros.
79124
79125 2006-06-15  Bruno Haible  <bruno@clisp.org>
79126
79127         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
79128
79129 2006-06-15  Bruno Haible  <bruno@clisp.org>
79130
79131         * lib/stdint_.h: Rewritten to be fully auto-configured.
79132         Fixes bug on HP-UX/IA64.
79133
79134 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
79135
79136         * lib/getdate.y (__attribute__): Don't define if already defined.
79137         Problem reported by Larry Jones.
79138         * lib/utimens.c (__attribute__): Likewise.
79139
79140 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
79141
79142         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
79143         reported by Andreas Schwab.
79144
79145 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79146             Bruno Haible  <bruno@clisp.org>
79147
79148         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
79149         check for the declaration of strnlen and a run test that exposes the
79150         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
79151         rpl_strndup.
79152
79153 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79154             Bruno Haible  <bruno@clisp.org>
79155
79156         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
79157
79158 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79159
79160         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
79161         compile test, for Tru64 4.0D.
79162
79163 2006-05-28  Karl Berry  <karl@gnu.org>
79164
79165         * config/srclist.txt (printf-args.c): lose sync.
79166
79167 2006-05-26  Martin Lambers  <marlam@marlam.de>
79168
79169         * lib/getpass.c: Updates the test for the native W32 API, and adds
79170         missing includes, thus fixing compilation warnings.
79171
79172 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
79173
79174         * lib/exclude.c (exclude_fnmatch): New function.
79175         (excluded_file_name): Call exclude_fnmatch.
79176         * lib/exclude.h (excluded_file_name): New prototype
79177
79178 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
79179
79180         * lib/tempname.c (small_open, large_open): New macros.
79181         (__open, __open64) [!_LIBC]: Remove.
79182         (__gen_tempname): Use small_open and large_open instead of __open
79183         and __open64.  This fixes a portability bug on HP-UX 11.11i
79184         reported by Simon Wing-Tang in
79185         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
79186
79187 2006-05-24  Bruno Haible  <bruno@clisp.org>
79188
79189         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
79190         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
79191         Reported by Thorsten Maerz <torte@netztorte.de> via
79192         Aaron Stone <aaron@serendipity.cx>.
79193
79194 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79195
79196         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
79197         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
79198         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
79199         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
79200         not really conditional on the cache.
79201         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
79202
79203 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
79204
79205         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
79206         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
79207         (my_usleep): Don't mishandle maximum value.
79208
79209 2006-05-19  Jim Meyering  <jim@meyering.net>
79210
79211         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
79212
79213 2006-05-17  Bruno Haible  <bruno@clisp.org>
79214
79215         Cygwin portability.
79216         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
79217
79218 2006-05-17  Bruno Haible  <bruno@clisp.org>
79219
79220         * lib/stdint_.h: Fix recognition of Cygwin.
79221
79222 2006-05-15  Bruno Haible  <bruno@clisp.org>
79223
79224         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
79225         on libtool patch by Ralf Wildenhues.
79226
79227 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
79228
79229         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
79230         test for C99 conformance; (bool) 0.5 is an integer constant
79231         expression, but (bool) -0.5 is not.  Problem reported by Fedor
79232         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
79233
79234 2006-05-11  Simon Josefsson  <jas@extundo.com>
79235
79236         * m4/xvasprintf.m4: Fix obvious typo.
79237
79238 2006-05-11  Jim Meyering  <jim@meyering.net>
79239
79240         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
79241         James Lemley.
79242
79243 2006-05-10  Simon Josefsson  <jas@extundo.com>
79244
79245         * lib/md4.c: Typo fix, update copyright years.
79246         (K1, K2): Don't use L because it turn computations into 64-bit on
79247         64-bit platforms.
79248
79249 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
79250
79251         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
79252         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
79253         unwanted sign propagation, e.g., on hosts with 64-bit int.
79254         There still are some problems with reeelly weird theoretical hosts
79255         (e.g., 33-bit int) but it's not worth worrying about now.
79256         * lib/sha1.c (rol): Likewise.
79257         (K1, K2, K3, K4): Remove unnecessary L suffix.
79258
79259 2006-05-10  Bruno Haible  <bruno@clisp.org>
79260
79261         * lib/des.c: Cast to avoid warnings.
79262
79263 2006-05-09  Bruno Haible  <bruno@clisp.org>
79264
79265         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
79266         (Depends-on): Depend also on xsize, stdarg.
79267         (configure.ac): Add gl_XVASPRINTF.
79268
79269 2006-05-09  Bruno Haible  <bruno@clisp.org>
79270
79271         * m4/xvasprintf.m4: New file.
79272
79273 2006-05-09  Bruno Haible  <bruno@clisp.org>
79274
79275         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
79276         (EOVERFLOW): Define fallback value.
79277         (xstrcat): New function.
79278         (xvasprintf): Recognize the special case of a string concatenation.
79279
79280 2006-05-08  Eric Blake  <ebb9@byu.net>
79281
79282         * gnulib-tool (func_version): Base copyright year on CVS date.
79283         (func_emit_copyright_notice): New function.
79284         (func_emit_lib_Makefile_am): Use it.
79285         (func_emit_tests_Makefile_am): Likewise.
79286         (func_import): Likewise.
79287
79288 2006-05-08  Bruno Haible  <bruno@clisp.org>
79289
79290         * modules/stdarg: New file.
79291         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
79292
79293 2006-05-08  Bruno Haible  <bruno@clisp.org>
79294
79295         * m4/stdarg.m4: New file, from GNU gettext.
79296
79297 2006-05-08  Bruno Haible  <bruno@clisp.org>
79298
79299         * config/srclist.txt (build-aux/config.rpath): different from latest
79300         release.
79301
79302 2006-05-08  Bruno Haible  <bruno@clisp.org>
79303
79304         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
79305
79306 2006-05-05  Jim Meyering  <jim@meyering.net>
79307
79308         * m4/warning.m4: New file, derived from bison's file by the same name.
79309
79310 2006-05-03  Bruno Haible  <bruno@clisp.org>
79311
79312         * lib/stdint_.h: Shorter URL.
79313         * lib/inttypes.h: Likewise.
79314
79315 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79316
79317         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
79318
79319 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79320
79321         * lib/verify.h: Document the internals better.  Most of this change
79322         was written by Bruno Haible.
79323
79324 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
79325
79326         * doc/verify.texi: New file, partly based on a proposal by
79327         Bruno Haible.
79328
79329 2006-05-02  Bruno Haible  <bruno@clisp.org>
79330
79331         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
79332         test from here...
79333         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
79334
79335 2006-04-29  Bruno Haible  <bruno@clisp.org>
79336
79337         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
79338         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
79339
79340 2006-04-29  Bruno Haible  <bruno@clisp.org>
79341
79342         * gnulib-tool: Make --update option actually work.
79343
79344 2006-04-29  Bruno Haible  <bruno@clisp.org>
79345
79346         * doc/gcd.texi: New file.
79347         * doc/gnulib.texi: Include it.
79348
79349 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
79350
79351         * lib/getdate.y (get_date): When adding relative date, start with the
79352         initial time, not with the result of the first mktime call.
79353
79354 2006-04-25  Bruno Haible  <bruno@clisp.org>
79355
79356         * gnulib-tool (func_import): Output the include directives in three
79357         blocks, sorted separately.
79358         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79359
79360 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79361
79362         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
79363         to define main with arguments, for C++.  Reported by Eric Blake.
79364         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
79365         Prefer 'int main ()' to 'int main (void)', for C++.
79366         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
79367         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
79368         for 'main', for C99 and C++.
79369
79370 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
79371
79372         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
79373         Don't assume that exit status -1 is valid.
79374         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79375         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
79376         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
79377         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
79378         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
79379         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
79380         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
79381         functions can be used without declaring them, or that you can
79382         exit with status -1.
79383         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
79384
79385 2006-04-24  Karl Berry  <karl@gnu.org>
79386
79387         * config/srclist.txt (longdouble.m4): sync lost.
79388
79389 2006-04-24  Eric Blake  <ebb9@byu.net>
79390
79391         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
79392
79393 2006-04-24  Bruno Haible  <bruno@clisp.org>
79394
79395         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
79396         poll() implementation in AIX.
79397         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79398
79399 2006-04-24  Bruno Haible  <bruno@clisp.org>
79400
79401         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
79402         assigned exactly once.
79403
79404 2006-04-23  Claudio Fontana  <claudio@gnu.org>
79405             Bruno Haible  <bruno@clisp.org>
79406
79407         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
79408         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
79409         for AM_CPPFLAGS.
79410
79411 2006-04-23  Bruno Haible  <bruno@clisp.org>
79412
79413         * modules/copy-file: Depend on unistd.
79414         * modules/execute: Likewise.
79415         * modules/fatal-signal: Likewise.
79416         * modules/findprog: Likewise.
79417         * modules/mkdtemp : Likewise.
79418         * modules/pipe: Likewise.
79419         * modules/wait-process: Likewise.
79420
79421 2006-04-23  Bruno Haible  <bruno@clisp.org>
79422
79423         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
79424         condition was already detected.
79425         Reported by Ben Pfaff <blp@cs.stanford.edu>.
79426
79427 2006-04-23  Bruno Haible  <bruno@clisp.org>
79428
79429         * lib/copy-file.c: Include <unistd.h> unconditionally.
79430         * lib/execute.c: Likewise.
79431         * lib/fatal-signal.c: Likewise.
79432         * lib/findprog.c: Likewise.
79433         * lib/mkdtemp.c: Likewise.
79434         * lib/pipe.h: Likewise.
79435         * lib/pipe.c: Likewise.
79436         * lib/wait-process.h: Likewise.
79437
79438 2006-04-23  Bruno Haible  <bruno@clisp.org>
79439
79440         * gnulib-tool (func_usage): Fix --import description. Document
79441         --update.
79442         (func_import): Create temporary file in a temporary directory, if
79443         --dry-run is specified. Silence errors from 'grep' when there are no
79444         m4 files in $m4dir.
79445         (func_create_testdir): Silence errors from 'grep' when there are no
79446         m4 files in $m4dir.
79447         Reported by Karl Berry <karl@freefriends.org>.
79448
79449 2006-04-20  Bruno Haible  <bruno@clisp.org>
79450
79451         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
79452         one argument, so that the code will be portable to Autoconf 2.60.
79453         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
79454         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79455         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
79456
79457 2006-04-19  Derek Price  <derek@ximbiot.com>
79458             Eric Blake  <ebb9@byu.net>
79459
79460         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
79461         rather than "/full/path.h".  Update comment to match.  Shorten &
79462         generalize m4_translit call via AS_TR_CPP.
79463
79464 2006-04-19  Derek Price  <derek@ximbiot.com>
79465             Eric Blake  <ebb9@byu.net>
79466
79467         * lib/inttypes.h: Correct grammar in comment.
79468
79469 2006-04-18  Derek Price  <derek@ximbiot.com>
79470             Paul Eggert  <eggert@cs.ucla.edu>
79471
79472         * modules/inttypes: New file.
79473         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
79474
79475 2006-04-18  Derek Price  <derek@ximbiot.com>
79476             Paul Eggert  <eggert@cs.ucla.edu>
79477
79478         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
79479         New files.
79480
79481 2006-04-18  Derek Price  <derek@ximbiot.com>
79482             Paul Eggert  <eggert@cs.ucla.edu>
79483
79484         * lib/inttypes.h: New file.
79485         * lib/strtoimax.c: Assume <inttypes.h>.
79486
79487 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
79488
79489         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
79490         isn't mounted.  Problem reported by Kir Kolyshkin.
79491
79492 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
79493
79494         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
79495         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
79496         Derek R. Price.
79497         * lib/regex.h (RE_DUP_MAX): Update comment to match current
79498         implementation.
79499
79500 2006-04-12  Eric Blake  <ebb9@byu.net>
79501
79502         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
79503         is now done automatically by the corresponding Autoconf macro.
79504
79505 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
79506
79507         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
79508         time_r.h.
79509
79510 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79511
79512         Merge regex changes from libc, removing some of our
79513         POSIX-conformance changes that were rejected and redoing them in a
79514         less-intrusive way.
79515
79516         * lib/regcomp.c (re_compile_internal, init_dfa):
79517         Length arg is now size_t, not Idx.  All uses changed.
79518         (peek_token): Forward decl now says internal_function.
79519         (__re_error_msgid, __re_error_msgid_idx):
79520         Now static rather than extern with attribute_hidden.
79521         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
79522         For some reason libc prefers K&R style defns for external functions.
79523         (regerror) [!defined _LIBC]: Likewise.
79524         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
79525         (seek_collating_symbol_entry, lookup_collation_sequence_value):
79526         (build_range_exp, build_collating_symbol):
79527         Use K&R-style defn.
79528         (re_compile_fastmap): Use '\0' to memset, not 0.
79529         (utf8_sb_map): Make the calculations more obvious.
79530         (init_dfa, parse_bracket_exp, build_charclass_op):
79531         Call calloc and cast result, as glibc does.
79532         (init_word_char, fetch_token, peek_token, peek_token_bracket):
79533         (build_range_exp, build_collating_symbol):
79534         Now internal functions.
79535
79536         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
79537
79538         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
79539         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
79540         Don't depend on VMS; depend on __VMS instead, for POSIX
79541         namespace cleanness.
79542         (regoff_t): Define to ssize_t, not long int.
79543
79544         Remove the REG_ macros named below.  Instead, make the old names
79545         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
79546         __USE_GNU_REGEX.
79547         (REG_BACKSLASH_ESCAPE_IN_LISTS):
79548         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
79549         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
79550         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
79551         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
79552         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
79553         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
79554         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
79555         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
79556         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
79557         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
79558         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
79559         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
79560         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
79561         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
79562         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
79563         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
79564         (REG_NREGS):
79565         Remove.  All uses replaced by the old RE_* names.
79566         (RE_BACKSLASH_ESCAPE_IN_LISTS):
79567         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
79568         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
79569         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
79570         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
79571         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
79572         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
79573         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
79574         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
79575         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
79576         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
79577         Don't bother having these macros be independent of each others'
79578         values, since they no longer exist in the POSIX name space.
79579
79580         Rename the following member names back to their old names,
79581         unless !__USE_GNU_REGEX.  All uses changed back.
79582         (buffer): Renamed from re_buffer.
79583         (allocated): Renamed from re_allocated.
79584         (used): Renamed from re_used.
79585         (syntax): Renamed from re_syntax.
79586         (fastmap): Renamed from re_fastmap.
79587         (translate): Renamed from re_translate.
79588         (can_be_null): Renamed from re_can_be_null.
79589         (regs_allocated): Renamed from re_regs_allocated.
79590         (fastmap_accurate): Renamed from re_fastmap_accurate.
79591         (no_sub): Renamed from re_no_sub.
79592         (not_bol): Renamed from re_not_bol.
79593         (not_eol): Renamed from re_not_eol.
79594         (newline_anchor): Renamed from re_newline_anchor.
79595         (num_regs): Renamed from rm_num_regs.
79596         (start): Renamed from rm_start.
79597         (end): Renamed from rm_end.
79598
79599         (free_state): Move up a bit.
79600
79601         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
79602         #define to be empty.
79603         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
79604         when that is what is intended.
79605         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
79606         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
79607         (MAX): New macro.
79608         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
79609         All uses changed back to re_malloc, etc.  It's now the caller's
79610         responsibility to check for overflow; all callers changed.
79611         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
79612         (re_x2nrealloc): Remove.
79613         (free_state): Remove decl.
79614
79615         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
79616         (re_set_registers, re_exec):
79617         Use K&R-style defn.
79618
79619         2006-01-31  Roland McGrath  <roland@redhat.com>
79620
79621         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
79622         Reported by Mike Frysinger <vapier@gentoo.org>.
79623
79624         2006-01-15  Andreas Jaeger  <aj@suse.de>
79625
79626         [BZ #1950]
79627         * lib/regex_internal.c (re_string_reconstruct): Adjust for
79628         build_wcs_upper_buffer change.
79629         (build_wcs_upper_buffer): Change return type.
79630
79631         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
79632
79633         * lib/regex_internal.h: Include <stdint.h> if available.
79634
79635         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
79636
79637         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
79638
79639         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
79640
79641         * lib/regcomp.c: Adjust for changed secondary hash function.
79642
79643         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
79644
79645         * lib/regex.h: Pretty printing.
79646         Clean up namespace a bit.
79647
79648         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
79649
79650         * lib/regexec.c (update_cur_sifted_state, check_arrival,
79651         check_arrival_add_next_nodes): Avoid using uninitialized variable.
79652
79653         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
79654                     Ulrich Drepper  <drepper@redhat.com>
79655
79656         [BZ #1302]
79657         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
79658         changed.
79659         (bitset_word_t): Renamed from bitset_word.  All uses changed.
79660
79661         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
79662
79663         [BZ #281]
79664         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
79665         * lib/regcomp.c: Remove unnecessary uses of
79666         unsigned RE_TRANSLATE_TYPE.
79667         * lib/regex_internal.h: Likewise.
79668         * lib/regex_internal.c: Likewise.
79669         * lib/regexec.c: Likewise.
79670         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
79671
79672         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
79673
79674         * lib/regexec.c (find_recover_state): Remove unnecessary
79675         initialization.
79676         (transit_state_bkref): Make DFA a const pointer.
79677         (get_subexp): Likewise.
79678         (check_arrival): Likewise.
79679         (update_cur_sifted_state): Likewise.
79680         (re_search_internal): Likewise.
79681         (prune_impossible_nodes): Likewise.
79682         (acquire_init_state_context): Likewise.
79683         (proceed_next_node): Likewise.
79684         (set_regs): Likewise.
79685         (free_fail_stack_return): Likewise.
79686         (check_arrival_expand_ecl): Mark DFA parameter as const.
79687         (check_arrival_expand_ecl_sub): Likewise.
79688         (check_subexp_limits): Likewise.
79689         (sub_epsilon_src_nodes):  Likewise.
79690         (add_epsilon_src_nodes):  Likewise.
79691         (merge_state_array): Likewise.
79692         (update_regs): Likewise.
79693         (build_trtable): Likewise.
79694         (sift_states_backward): Mark MCTX parameter as const.
79695         (build_sifted_states): Likewise.
79696         (update_cur_sifted_state): Likewise.
79697         (sift_states_mkref): Likewise.
79698         (check_arrival_expand_ecl): Mark eclosure as const.
79699         (check_dst_limits_calc_pos_1): Likewise.
79700         * lib/regex_internal.h (re_match_context_t): Make dfa a const
79701         pointer.
79702
79703         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
79704
79705         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
79706         (transit_state_sb): Likewise.
79707         (transit_state_mb): Likewise.
79708         (sift_states_iter_mb): Likewise.
79709         (check_arrival_add_next_nodes): Likewise.
79710         (check_node_accept_bytes): Change first parameter to pointer-to-const.
79711         [_LIBC] (re_search_2_stub): Use mempcpy.
79712
79713         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
79714         mbrtowc for very simple UTF-8 case.
79715
79716         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
79717         a pointer-to-const.
79718         (re_acquire_state_context): Likewise.
79719         * lib/regex_internal.h: Adjust prototypes.
79720
79721         * lib/regex.c: Prevent using C++ compilers.
79722
79723         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
79724         (re_acquire_state_context): Likewise.
79725
79726 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79727
79728         * modules/regex (Depends-on): Add ssize_t.
79729
79730 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79731
79732         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
79733         translation table.
79734
79735 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
79736
79737         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
79738
79739 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
79740             Bruno Haible  <bruno@clisp.org>
79741
79742         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
79743         <sys/types.h> and <inttypes.h>.
79744
79745 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79746
79747         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
79748         `__error_t_defined', so argp.h will not typedef the former.
79749
79750 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
79751
79752         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
79753         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
79754         glibc names.  Even if glibc is changed to conform to POSIX, the
79755         traditional names will be available anyway, since regex depends on
79756         the extensions module.  Also, fix a longstanding typo in the
79757         implementation of Spencer ERE test #75 from grep 2.3.  Problems
79758         reported by Emanuele Giaquinta.  Also, change sense of cached
79759         variable, so that the message makes sense.
79760
79761 2006-03-24  Simon Josefsson  <jas@extundo.com>
79762
79763         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
79764         including some doc fixes.
79765         (base64_encode_alloc): Fix +1 bug on allocation failures.
79766
79767 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79768
79769         * lib/base64.c (base64_encode): Do not read past end of array with
79770         unsanitized input on systems with CHAR_BIT > 8.
79771
79772 2006-03-24  Eric Blake  <ebb9@byu.net>
79773
79774         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
79775
79776 2006-03-22  Karl Berry  <karl@gnu.org>
79777
79778         * config/srclist.txt (*setenv.[ch]): get from coreutils.
79779         * config/srclistvars.sh (COREUTILS): new var.
79780
79781 2006-03-17  Jim Meyering  <jim@meyering.net>
79782
79783         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
79784         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
79785
79786 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79787
79788         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
79789         no longer needs it.  Instead, check that regoff_t is as least
79790         as wide as ptrdiff_t.
79791
79792         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
79793         so that our regex.h stays compatible with the installed regex.
79794         This is helpful for installers who configure --without-included-regex.
79795         Problem reported by Emanuele Giaquinta.
79796
79797 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
79798
79799         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
79800         Typedef to long int, not to off_, as POSIX will likely change
79801         in that direction.
79802
79803 2006-03-15  Eric Blake  <ebb9@byu.net>
79804
79805         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
79806
79807 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
79808
79809         * lib/argp-help.c (validate_uparams): Fix typo
79810         * lib/argp-parse.c (argp_default_options): Consistently begin help
79811         messages with a lowercase letter.
79812
79813 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
79814
79815         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
79816         overrun buffers and shouldn't be used (much as gets shouldn't be
79817         used).
79818         * lib/time_r.c (asctime_r, ctime_r): Likewise.
79819
79820 2006-03-08  Simon Josefsson  <jas@extundo.com>
79821
79822         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
79823         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79824
79825 2006-03-08  Simon Josefsson  <jas@extundo.com>
79826
79827         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
79828         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79829
79830 2006-03-08  Simon Josefsson  <jas@extundo.com>
79831
79832         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
79833         signal that configure disabled the device.
79834
79835 2006-03-08  Simon Josefsson  <jas@extundo.com>
79836
79837         * build-aux/maint.mk: Fix refresh-po, to handle no translated
79838         languages.
79839
79840 2006-03-07  Simon Josefsson  <jas@extundo.com>
79841
79842         * modules/getopt (Depends-on): Add unistd.
79843
79844         * modules/unistd: New file.
79845
79846 2006-03-07  Simon Josefsson  <jas@extundo.com>
79847
79848         * modules/gc-random: New file.
79849
79850 2006-03-07  Simon Josefsson  <jas@extundo.com>
79851
79852         * m4/unistd_h.m4: New file.
79853
79854 2006-03-07  Simon Josefsson  <jas@extundo.com>
79855
79856         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
79857         test to be side-effect free by storing the result in the cache
79858         variable gl_cv_lib_readline, and moving the assignment of
79859         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
79860         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
79861
79862 2006-03-07  Simon Josefsson  <jas@extundo.com>
79863
79864         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
79865         error on missing devices (the functions will return an error).
79866
79867         * m4/gc.m4: Move random stuff to gc-random.m4
79868
79869 2006-03-07  Simon Josefsson  <jas@extundo.com>
79870
79871         * lib/unistd_.h: New file.
79872
79873 2006-03-07  Simon Josefsson  <jas@extundo.com>
79874
79875         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
79876
79877 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79878
79879         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
79880         Problem reported by Juan Manuel Guerrero.
79881
79882 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79883
79884         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
79885         the unistd module.
79886         * lib/getlogin_r.c: Likewise.
79887         * lib/getlogin_r.h: Likewise.
79888         * lib/glob.c: Likewise.
79889         * lib/pagealign_alloc.c: Likewise.
79890         * lib/unistd_.h: Remove; no longer needed.
79891
79892 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
79893
79894         * MODULES.html.sh (Support for systems lacking POSIX:2001):
79895         Add unistd.
79896         * modules/c-stack (Depends-on): Add unistd.
79897         * modules/getlogin_r: Likewise.
79898         * modules/glob: Likewise.
79899         * modules/pagealign_alloc: Likewise.
79900         * modules/unistd (Files): Remove lib/unistd_.h.
79901         (EXTRA_DIST): Remove.
79902         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
79903         need unistd_.h.
79904         (MOSTLYCLEANFILES): Remove unistd.h-t.
79905
79906 2006-03-03  Simon Josefsson  <jas@extundo.com>
79907
79908         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
79909
79910 2006-03-03  Simon Josefsson  <jas@extundo.com>
79911
79912         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
79913         libidn and bison.
79914
79915 2006-03-03  Simon Josefsson  <jas@extundo.com>
79916
79917         * build-aux/maint.mk: Add indent target.
79918
79919 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
79920
79921         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
79922         our replacement poll.h in any case, to avoid a differing
79923         declaration from a system header.  Seen on AIX.
79924
79925 2006-03-01  Simon Josefsson  <jas@extundo.com>
79926
79927         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
79928         <kasal@ucw.cz>.
79929
79930 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79931
79932         * modules/gettime (Depends-on): Add extensions module.
79933         * modules/nanosleep (Depends-on): Likewise.
79934         * modules/settime (Depends-on): Likewise.
79935
79936 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
79937
79938         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
79939         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
79940         pedantically.
79941         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
79942         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
79943
79944         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
79945         not "==".  Reported by Ralf Wildenhues.
79946
79947 2006-03-01  Karl Berry  <karl@gnu.org>
79948
79949         * doc/Copyright/request-*: new files, synced from gnuorg.
79950
79951 2006-03-01  Karl Berry  <karl@gnu.org>
79952
79953         * config/srclist.txt (Copyright/*): new entries.
79954
79955 2006-02-28  Simon Josefsson  <jas@extundo.com>
79956
79957         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
79958
79959 2006-02-27  Simon Josefsson  <jas@extundo.com>
79960
79961         * lib/base64.h: Indent #define's.  From Jim Meyering
79962         <jim@meyering.net>.
79963
79964 2006-02-27  Jim Meyering  <jim@meyering.net>
79965
79966         Revert the change of 2006-02-24, so these files can continue
79967         to be sync'd from gettext.
79968         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
79969         of `config.h'.
79970
79971 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
79972
79973         * modules/intprops: New file.
79974         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
79975         Add intprops.
79976         * modules/getloadavg (Files): Remove lib/intprops.h.
79977         (Depends-on): Add intprops.
79978         * modules/human: Likewise.
79979         * modules/inttostr: Likewise.
79980         * modules/openat: Likewise.
79981         * modules/sig2str: Likewise.
79982         * modules/userspec: Likewise.
79983         * modules/utimecmp: Likewise.
79984         * modules/xnanosleep: Likewise.
79985         * modules/xstrtol: Likewise.
79986
79987 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
79988
79989         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
79990         * modules/lock-tests (TESTS): Use $(EXEEXT).
79991         * modules/tls-tests: Likewise.
79992         * modules/argp-tests: Likewise.
79993         (check_PROGRAMS): New var, replacing...
79994         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
79995
79996 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79997
79998         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
79999         `config.h'.
80000
80001 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
80002
80003         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
80004
80005 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80006
80007         Sync from coreutils.
80008         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
80009         gl_CHDIR_SAFER.
80010
80011 2006-02-22  Jim Meyering  <jim@meyering.net>
80012
80013         Sync from coreutils.
80014         * m4/chdir-safer.m4: New file.
80015
80016 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
80017
80018         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
80019         AT_FDCWD exceeds INT_MAX.
80020         * lib/openat.h (AT_FDCWD): Likewise.
80021
80022 2006-02-17  Eric Blake  <address@hidden>
80023
80024         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
80025
80026 2006-02-16  Simon Josefsson  <jas@extundo.com>
80027
80028         * modules/getaddrinfo (Depends-on): Add sys_socket.
80029
80030 2006-02-15  Simon Josefsson  <jas@extundo.com>
80031
80032         * build-aux/maint.mk: Add dsyntax-check rule.
80033
80034 2006-02-15  Eric Blake  <ebb9@byu.net>
80035
80036         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
80037         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
80038         'present but cannot compile' warnings on cygwin.
80039         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
80040         use ws2tcpip.h if sys/socket.h works.
80041         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
80042         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
80043
80044 2006-02-14  Simon Josefsson  <jas@extundo.com>
80045
80046         * modules/maintainer-makefile (Files): Rename.
80047
80048         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
80049         and (the local) Makefile.cfg to maint-cfg.mk.
80050
80051         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
80052         to the latter.
80053
80054         * modules/maintainer-makefile: New module.
80055
80056         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
80057         severaly stripped to make it possible to build it up from scratch
80058         with reliable tests.
80059
80060         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
80061         fixes to permit overriding the default actions when configure and
80062         makefile are not available.
80063
80064 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
80065
80066         Sync from coreutils.
80067         * modules/lstat (Depends-on): Don't depend on xalloc.
80068         (License): Change from GPL to LGPL, since this is now simply a
80069         replacement for a libc function.
80070
80071 2006-02-14  Jim Meyering  <jim@meyering.net>
80072
80073         Sync from coreutils.
80074
80075         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
80076         failure on deficient systems, and simplify gnulib lgpl dependencies.
80077         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
80078         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
80079
80080         * lib/xalloc-die.c: Remove unused definition of N_.
80081
80082 2006-02-14  Jim Meyering  <jim@meyering.net>
80083
80084         Sync from coreutils.
80085         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
80086         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
80087         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
80088         double-quote uses of that variable, to accommodate the rare case in
80089         which getmntent is available in none of the libraries checked.  This
80090         happens at least on FreeBSD 5.0.
80091
80092 2006-02-13  Simon Josefsson  <jas@extundo.com>
80093
80094         * gnulib-tool (Usage): Fix --import, from
80095         karl@freefriends.org (Karl Berry).
80096
80097 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80098
80099         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
80100
80101 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
80102
80103         * lib/argp-namefrob.h: Restore changes accidentally lost during the
80104         "autoupdate" on 2005-12-12.
80105
80106 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80107
80108         * modules/closeout (Depends-on): Remove atexit.
80109
80110 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
80111
80112         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
80113         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
80114
80115 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
80116
80117         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
80118         __EXTENSIONS__ if this causes compilation to fail.  Problem
80119         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
80120         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
80121
80122 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
80123
80124         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
80125         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
80126         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
80127         All uses changed.
80128
80129 2006-01-26  Simon Josefsson  <jas@extundo.com>
80130
80131         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
80132         prototype is visible on mingw32.
80133
80134         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
80135         for mingw32.
80136
80137         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
80138         mingw32).
80139
80140 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
80141
80142         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
80143         attempt to open for write; this always fails, at least on POSIX
80144         hosts.  This reinstates the 2006-01-09 change, which was
80145         inadvertently removed.
80146
80147 2006-01-26  Bruno Haible  <bruno@clisp.org>
80148
80149         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
80150         Reported by Paul Eggert.
80151
80152 2006-01-26  Bruno Haible  <bruno@clisp.org>
80153             Paul Eggert  <eggert@cs.ucla.edu>
80154
80155         * lib/stdbool_.h (_Bool)
80156         [(! (defined __cplusplus || defined __BEOS__)
80157           && !defined __GNUC__
80158           && !(defined __HP_cc || defined __xlc__
80159                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
80160                || defined __sgi))]:
80161         #define to signed char in these cases too; this simplifies
80162         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
80163         etc., separately) and makes it more conservative.
80164
80165 2006-01-25  Simon Josefsson  <jas@extundo.com>
80166
80167         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
80168         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
80169         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
80170
80171 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80172
80173         * lib/argp-namefrob.h: Bugfix. Remove stray #
80174
80175 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
80176
80177         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
80178         so that we test the test.
80179         Check for yet another HP-UX cc bug involving *bool |= bool.
80180
80181 2006-01-25  Karl Berry  <karl@gnu.org>
80182
80183         * config/srclist.txt (vasnprintf.c): sync lost.
80184
80185 2006-01-25  Jim Meyering  <jim@meyering.net>
80186
80187         Sync from the stable (b5) branch of coreutils:
80188
80189         * lib/fts.c (fts_children): Don't let close() clobber errno from
80190         failed fchdir().
80191
80192         * lib/fts.c (fts_stat): When following a symlink-to-directory,
80193         don't necessarily interpret stat-fails+lstat-succeeds as indicating
80194         a dangling symlink.  That can also happen at least for ELOOP.
80195         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
80196         FYI, this bug predates the inclusion of fts.c in coreutils.
80197
80198         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
80199         in their own block, so pre-c99 compilers don't object.
80200
80201         Avoid the double-free (first in fts_read, second in fts_close) that
80202         would occur when an `active' directory is made inaccessible (e.g.,
80203         via chmod a-x) during a traversal.
80204         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80205         before returning.  Reproduce this failure by
80206         mkdir -p a/b; cd a; chmod a-x . b
80207         Reported by Stavros Passas.
80208
80209 2006-01-25  Jim Meyering  <jim@meyering.net>
80210
80211         * lib/fileblocks.c: Remove more useless parentheses.
80212         * lib/readutmp.h: Likewise.
80213
80214 2006-01-25  Bruno Haible  <bruno@clisp.org>
80215
80216         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
80217         warnings.
80218         Reported by Paul Eggert.
80219
80220 2006-01-25  Bruno Haible  <bruno@clisp.org>
80221
80222         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
80223         rid of a trap command. For Solaris sh.
80224         Reported by Mark D. Baushke <mdb@gnu.org>.
80225
80226 2006-01-24  Simon Josefsson  <jas@extundo.com>
80227
80228         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
80229         Bruno.
80230
80231 2006-01-24  Karl Berry  <karl@gnu.org>
80232
80233         * config/srclist.txt (argp-namefrob.h): sync lost.
80234
80235 2006-01-24  Jim Meyering  <jim@meyering.net>
80236
80237         * modules/openat (Files): Add lib/intprops.h.
80238         From Mark D. Baushke.
80239
80240 2006-01-24  Jim Meyering  <jim@meyering.net>
80241
80242         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
80243         Reported by Mark D. Baushke.
80244
80245 2006-01-24  Jim Meyering  <jim@meyering.net>
80246
80247         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
80248
80249 2006-01-24  Bruno Haible  <bruno@clisp.org>
80250
80251         * modules/strnlen (Maintainer): Change from glibc to all.
80252
80253 2006-01-24  Bruno Haible  <bruno@clisp.org>
80254
80255         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
80256         Patch by Paul Eggert.
80257
80258 2006-01-24  Bruno Haible  <bruno@clisp.org>
80259
80260         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
80261         already has it.
80262         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
80263         2005-11-26.
80264
80265         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
80266         'signed char' to avoid problems with the built-in _Bool type.
80267         Reported by Paul Eggert on 2005-11-26.
80268
80269 2006-01-24  Bruno Haible  <bruno@clisp.org>
80270
80271         * gnulib-tool (func_import): Avoid constructing complicated sed
80272         expressions inside backquote.
80273         Report and solution by Mark D. Baushke <mdb@gnu.org>.
80274
80275 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
80276
80277         These changes imported from libc.
80278         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
80279         test and two separate function calls.
80280         * lib/strndup.c (__strndup): Add libc_hidden_def.
80281
80282 2006-01-23  Simon Josefsson  <jas@extundo.com>
80283
80284         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
80285         Remove the test_*_SOURCES variable: automake infers it by default.
80286         * modules/tls-tests: Likewise.
80287
80288 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80289
80290         Work around porting bugs reported by Dieter in
80291         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
80292         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
80293         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
80294         Include "getopt.h" first, to check interface.
80295         (getenv): Declare only if defined HAVE_DECL_GETENV &&
80296         !HAVE_DECL_GETENV.
80297         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
80298         (__strndup): Revert to K&R-style function dfns, the glibc style.
80299         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
80300         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
80301         Include strnlen.h first, to get prototype properly.
80302         (strnlen): Renamed from __strnlen.
80303         Remove weak alias.
80304
80305 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80306
80307         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
80308
80309 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
80310
80311         * config/srclist.txt: Adjust to reflect glibc reorganization.
80312         This affects only comments.
80313
80314 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80315
80316          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
80317          Reported by Bruce Korb <bkorb@gnu.org>.
80318
80319 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
80320
80321         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
80322         to pacify gcc -Wswitch-default.
80323
80324 2006-01-22  Bruno Haible  <bruno@clisp.org>
80325
80326         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
80327         temporary buffer for sprintf, take into account the precision also
80328         for 'd', 'i', 'u', 'o', 'x', 'X'.
80329
80330 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80331
80332         * modules/argp-tests: New module
80333         * tests/test-argp.c: New file
80334         * tests/test-argp-2.sh: New file
80335
80336 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
80337
80338         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
80339         (__argp_base_name): Removed
80340         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
80341         typo.
80342         (__argp_base_name): Provide macro definition or extern declaration
80343         depending on the configuration
80344
80345 2006-01-20  Simon Josefsson  <jas@extundo.com>
80346
80347         * modules/inet_ntop (Depends-on): Depend on sys_socket.
80348
80349 2006-01-20  Simon Josefsson  <jas@extundo.com>
80350
80351         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
80352
80353 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
80354
80355         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
80356         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
80357         Suggested by Bruno Haible.
80358
80359 2006-01-20  Karl Berry  <karl@gnu.org>
80360
80361         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
80362         until changes propagate, I guess.
80363
80364 2006-01-19  Simon Josefsson  <jas@extundo.com>
80365
80366         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
80367
80368 2006-01-19  Simon Josefsson  <jas@extundo.com>
80369
80370         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
80371
80372 2006-01-19  Simon Josefsson  <jas@extundo.com>
80373
80374         * gnulib-tool: Set check_PROGRAMS.
80375
80376         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80377         modules/des-tests, modules/gc-arcfour-tests,
80378         modules/gc-arctwo-tests, modules/gc-des-tests,
80379         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80380         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80381         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80382         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80383         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80384         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
80385         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
80386         test_*_SOURCES.
80387
80388 2006-01-18  Simon Josefsson  <jas@extundo.com>
80389
80390         * modules/socklen (Depends-on): Depend on sys_socket.
80391
80392 2006-01-18  Simon Josefsson  <jas@extundo.com>
80393
80394         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
80395         modules/des-tests, modules/gc-arcfour-tests,
80396         modules/gc-arctwo-tests, modules/gc-des-tests,
80397         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
80398         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
80399         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
80400         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
80401         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
80402         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
80403         $(EXEEXT) to automake TESTS variable, for mingw32.
80404
80405 2006-01-17  Simon Josefsson  <jas@extundo.com>
80406
80407         * modules/socklen (Include): Need sys/socket.h.
80408
80409 2006-01-17  Bruno Haible  <bruno@clisp.org>
80410
80411         * modules/ssize_t (Include): Add <sys/types.h>.
80412
80413 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
80414
80415         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
80416         it's not portable and it doesn't work with cross-compiles.
80417         Problem reported by Bruno Haible.  Fix missing-$ typo in
80418         'test "gl_cv_ignore_unused_libraries" ...' that prevented
80419         -zignore from being used with Sun's C compiler.
80420
80421 2006-01-12  Simon Josefsson  <jas@extundo.com>
80422
80423         * lib/base64.c: Fix warning, reported by Bruno Haible
80424         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
80425
80426 2006-01-12  Bruno Haible  <bruno@clisp.org>
80427
80428         * modules/ldd: New file.
80429         * build-aux/ldd.sh.in: New file.
80430         * MODULES.html.sh (Support for building libraries and executables): Add
80431         ldd.
80432
80433 2006-01-12  Bruno Haible  <bruno@clisp.org>
80434
80435         * m4/ldd.m4: New file.
80436
80437 2006-01-12  Bruno Haible  <bruno@clisp.org>
80438
80439         * gnulib-tool (func_import, func_create_testdir): Don't go into an
80440         endless loop while replacing $auxdir with build-aux.
80441
80442 2006-01-11  Simon Josefsson  <jas@extundo.com>
80443
80444         * lib/stdint_.h (SIZE_MAX): Add missing (.
80445
80446 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
80447
80448         Sync from coreutils.
80449         * lib/md5.c: Fix commentary typos.
80450         (alignof, UNALIGNED_P): No need for a GCC-specific version.
80451         * lib/md5.h (__attribute__): Remove; unused.
80452         * lib/sha1.c: Fix commentary to match md5 better.
80453         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
80454         so that we don't need to worry about alignment.  All uses changed.
80455         This merges the 2005-10-28 md5 change into sha1.
80456
80457 2006-01-11  Jim Meyering  <jim@meyering.net>
80458
80459         Sync from coreutils.
80460         * lib/md5.c (OP): Fix spacing.
80461
80462 2006-01-11  Bruno Haible  <bruno@clisp.org>
80463
80464         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80465         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
80466         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
80467
80468 2006-01-11  Bruno Haible  <bruno@clisp.org>
80469
80470         Ensure automatic ordering between gl_LOCK and gl_ARGP.
80471         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
80472         the "early" section as well.
80473
80474 2006-01-11  Bruno Haible  <bruno@clisp.org>
80475
80476         Avoid "ar: no archive members specified" error on MacOS X.
80477         * gnulib-tool (func_modules_add_dummy): New function.
80478         (func_import, func_create_testdir): Invoke it.
80479
80480 2006-01-11  Bruno Haible  <bruno@clisp.org>
80481
80482         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
80483         with $auxdir in AC_CONFIG_FILES statements.
80484
80485 2006-01-11  Bruno Haible  <bruno@clisp.org>
80486
80487         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80488         Initialize also noinst_HEADERS to empty.
80489
80490 2006-01-11  Bruno Haible  <bruno@clisp.org>
80491
80492         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
80493         variables.
80494         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
80495         autoreconf.
80496
80497 2006-01-11  Bruno Haible  <bruno@clisp.org>
80498
80499         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
80500         overridable by the user.
80501         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80502
80503 2006-01-10  Simon Josefsson  <jas@extundo.com>
80504
80505         * modules/sys_socket: New file.
80506
80507 2006-01-10  Simon Josefsson  <jas@extundo.com>
80508
80509         * m4/sys_socket_h.m4: New file.
80510
80511 2006-01-10  Simon Josefsson  <jas@extundo.com>
80512
80513         * lib/socket_.h: New file.
80514
80515 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80516
80517         * modules/readutmp (Maintainer): Add myself.
80518
80519 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80520
80521         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
80522         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
80523         People who are still concerned with buggy memcmp implementations
80524         can invoke gl_FUNC_MEMCMP themselves.
80525
80526 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
80527
80528         * lib/regex_internal.h (BITSET_WORD_BITS):
80529         Work around a bug in 64-bit PGC (before version 6.1-2), where the
80530         preprocessor mishandles large unsigned values as if they were signed.
80531         Problem reported by Claudio Fontana in
80532         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
80533
80534 2006-01-10  Jim Meyering  <jim@meyering.net>
80535
80536         Avoid the double-free (first in fts_read, second in fts_close) that
80537         would occur when an `active' directory is made inaccessible (e.g.,
80538         via chmod a-x) during a traversal.
80539         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
80540         before returning.  Reproduce this failure by
80541         mkdir -p a/b; cd a; chmod a-x . b
80542         Reported by Stavros Passas.
80543
80544         Sync from coreutils.
80545         * lib/sha1.c: Tweak grammar in a comment.
80546
80547 2006-01-10  Jim Meyering  <jim@meyering.net>
80548
80549         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
80550         Patch by Joerg Sonnenberger.
80551
80552 2006-01-10  Bruno Haible  <bruno@clisp.org>
80553
80554         * modules/readutmp: Depend on module free.
80555         * modules/strtok_r: Depend on module restrict.
80556
80557 2006-01-10  Bruno Haible  <bruno@clisp.org>
80558
80559         * modules/gettext (configure.ac): Add an invocation of
80560         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
80561
80562 2006-01-10  Bruno Haible  <bruno@clisp.org>
80563
80564         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
80565         Reported by Werner Lemberg <wl@gnu.org>.
80566
80567 2006-01-10  Bruno Haible  <bruno@clisp.org>
80568
80569         * lib/localcharset.c: Update from GNU gettext.
80570
80571 2006-01-10  Bruno Haible  <bruno@clisp.org>
80572
80573         * lib/argp.h (__const): Remove macro. Use const instead.
80574         * lib/argp-fmtstream.h (__const): Likewise.
80575         * lib/glob_.h (__const): Remove macro.
80576         * lib/glob-libc.h: Use const instead of __const.
80577
80578 2006-01-10  Bruno Haible  <bruno@clisp.org>
80579
80580         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
80581         variable.
80582         Needed to avoid an automake error regarding the 'gettext' module.
80583
80584 2006-01-09  Simon Josefsson  <jas@extundo.com>
80585
80586         * modules/inet_ntop (Depends-on): Add restrict.
80587
80588 2006-01-09  Simon Josefsson  <jas@extundo.com>
80589
80590         * modules/gc-rijndael-tests (License): Put under LGPL.
80591
80592         * modules/gc-des-tests (License): Likewise.
80593
80594         * modules/gc-arcfour-tests (License): Likewise.
80595
80596         * modules/gc-arctwo-tests (License): Likewise.
80597
80598         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
80599
80600         * modules/gc-hmac-sha1-tests (Files): Likewise.
80601
80602         * modules/gc-hmac-md5-tests (License): Likewise.
80603
80604         * modules/gc-sha1-tests (License): Likewise.
80605
80606         * modules/gc-md5-tests (License): Likewise.
80607
80608         * modules/gc-md4-tests (License): Likewise.
80609
80610         * modules/gc-md2-tests (License): Likewise.
80611
80612         * modules/gc-tests (License): Likewise.
80613
80614         * modules/des-tests (License): Likewise.
80615
80616         * modules/md4-tests (License): Likewise.
80617
80618         * modules/md2-tests (License): Likewise.
80619
80620 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80621
80622         Sync from coreutils:
80623
80624         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
80625         * modules/lib-ignore: New file.
80626         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
80627         chdir-safer.m4, lchmod.m4.
80628         * modules/openat: Add mkdirat.c, openat-priv.h.
80629
80630 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80631
80632         Sync from coreutils.
80633         * m4/lib-ignore.m4: New file.
80634         * m4/lchmod.m4: New file.
80635
80636 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80637
80638         Sync from coreutils.
80639         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
80640         for write access: POSIX says that must fail.
80641         * lib/fts.c (diropen): Likewise.
80642         * lib/save-cwd.c (save_cwd): Likewise.
80643         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
80644         well, for minor improvements on hosts that lack O_DIRECTORY.
80645         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
80646         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
80647         Fall back on chown if open failed with EACCES.
80648
80649         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
80650         Report an error at compile-time if only a 1-second nominal clock
80651         resolution is found.
80652
80653         * lib/lchmod.h: New file.
80654         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
80655         (make_dir_parents): Use lchown rather than chown, and
80656         lchmod rather than chmod.
80657
80658         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
80659         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
80660         "proc" reported by n0dalus.
80661
80662         * lib/mountlist.c: Include <limits.h>.
80663         (dev_from_mount_options)
80664         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
80665         New function.  It no longer assumes "dev=" has the System V meaning
80666         on Linux (since it doesn't).  It also parses "dev=" more carefully.
80667         (read_file_system_list)
80668         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
80669         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
80670         dev= in that case.
80671
80672         * lib/posixtm.h (PDS_PRE_2000): New macro.
80673         * lib/posixtm.c (year): Arg is now syntax_bits rather than
80674         allow_century.  All usages changed.  Reject dates outside the range
80675         1969-1999 if PDS_PRE_2000 is used.
80676
80677 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
80678
80679         Sync from coreutils.
80680         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
80681         (Time of day items): Mention the possibility of leap seconds.
80682         Problem reported by Dr. David Alan Gilbert.
80683
80684 2006-01-09  Jim Meyering  <jim@meyering.net>
80685
80686         Sync from coreutils.
80687
80688         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
80689
80690         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
80691
80692         * lib/modechange.c (mode_compile): Reject an invalid mode string
80693         that starts with an octal digit.  From Andreas Gruenbacher.
80694
80695         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
80696         and dup to open_safer and dup_safer, respectively.
80697         (openat_permissive): Fix typo in comment.
80698
80699         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
80700         "gettext.h"; either no longer needed or are guaranteed by openat.h.
80701         (_): Remove; no longer needed.
80702         (openat): Renamed from rpl_openat; no need for rpl_openat
80703         since openat.h renames openat for us.
80704         Replace most of the body with a call to openat_permissive,
80705         to avoid duplicate code.
80706         Port to (probably hypothetical) environments were mode_t is
80707         wider than int.
80708         (openat_permissive): Require mode arg, so that we can check
80709         types better.  Put it just after flags.  Change cwd failure
80710         indicator from pointer-to-bool to pointer-to-errno-value.
80711         All callers changed.
80712         Invoke openat_save_fail and/or openat_restore_fail if
80713         cwd_errno is null, so that openat can call us.
80714         (openat_permissive, fdopendir, fstatat, unlinkat):
80715         Simplify errno handling to avoid some duplicate code,
80716         as it's OK to set errno on success.
80717         * lib/openat.h: Revamp code so that function macros depend on
80718         __OPENAT_PREFIX only, not also on AT_FDCWD.
80719         (openat_ro): Remove.  Caller changed to use openat_permissive.
80720         (openat_permissive): Now a macro, if not a function.
80721         (openat_restore_fail, openat_save_fail): Now always functions,
80722         since mkdirat needs them even if __OPENAT_PREFIX is defined.
80723
80724         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
80725         and openat.c.
80726         * lib/mkdirat.c: Include openat-priv.h.
80727         Remove definitions of macros defined therein.
80728         * lib/openat.c: Likewise.
80729
80730         * lib/mkdirat.c (mkdirat): New file and function.
80731         * lib/openat.h (mkdirat): Declare.
80732
80733         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
80734
80735         * lib/openat.h (openat_permissive): Declare.
80736         (openat_ro): Define.
80737
80738         * lib/openat.c (EXPECTED_ERRNO): New macro.
80739         (openat_permissive): New function -- used in remove.c rewrite.
80740         (all functions): Set errno just before returning, only if there
80741         was an actual failure.
80742         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
80743
80744         Emulate openat-family functions using Linux's procfs, if possible.
80745         Idea and some code based on Ulrich Drepper's glibc changes.
80746
80747         * lib/openat.c: (BUILD_PROC_NAME): New macro.
80748         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
80749         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
80750         before falling back on save_cwd and restore_cwd.
80751         (fdopendir, fstatat, unlinkat): Likewise.
80752
80753         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
80754         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
80755
80756         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
80757         as second argument to va_arg.  Otherwise, some versions of gcc
80758         warn that `if this code is reached, the program will abort'.
80759
80760 2006-01-09  Jim Meyering  <jim@meyering.net>
80761
80762         Sync from coreutils.
80763         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
80764         Require openat-priv.h.
80765
80766 2006-01-09  Bruno Haible  <bruno@clisp.org>
80767
80768         * modules/strnlen (Include): Use strnlen.h.
80769
80770 2006-01-09  Bruno Haible  <bruno@clisp.org>
80771
80772         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
80773
80774 2006-01-09  Bruno Haible  <bruno@clisp.org>
80775
80776         * lib/sysexit_.h (EX_OK): New macro.
80777         Suggested by Martin Lambers <marlam@marlam.de>.
80778
80779 2006-01-09  Bruno Haible  <bruno@clisp.org>
80780
80781         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
80782         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
80783
80784 2006-01-09  Bruno Haible  <bruno@clisp.org>
80785
80786         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
80787         numbers.
80788
80789 2006-01-09  Bruno Haible  <bruno@clisp.org>
80790
80791         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
80792         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
80793         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
80794         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
80795
80796 2006-01-09  Bruno Haible  <bruno@clisp.org>
80797
80798         * build-aux/javacomp.sh.in: New file, moved from lib/.
80799         * modules/javacomp-script (Files): Update.
80800         (configure.ac): Add AC_CONFIG_FILES invocation.
80801         (EXTRA_DIST): Remove variable.
80802
80803         * build-aux/javaexec.sh.in: New file, moved from lib/.
80804         * modules/javaexec (Files): Update.
80805         (configure.ac): Add AC_CONFIG_FILES invocation.
80806         (EXTRA_DIST): Remove javaexec.sh.in.
80807
80808         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
80809         * modules/csharpcomp-script (Files): Update.
80810         (configure.ac): Add AC_CONFIG_FILES invocation.
80811         (EXTRA_DIST): Remove variable.
80812
80813         * build-aux/csharpexec.sh.in: New file, moved from lib/.
80814         * modules/csharpexec (Files): Update.
80815         (configure.ac): Add AC_CONFIG_FILES invocation.
80816         (EXTRA_DIST): Remove csharpexec.sh.in.
80817
80818 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80819
80820         Sync from coreutils.
80821
80822         Add POSIX ACL support
80823         * lib/acl.h (copy_acl, set_acl): Add declarations.
80824         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
80825         systems other than Linux.
80826         (chmod_or_fchmod): New function: use fchmod when possible,
80827         and chmod otherwise.
80828         (file_has_acl): Add a POSIX ACL implementation, with a
80829         Linux-specific subcase.
80830         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
80831         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
80832         acls are unsupported.
80833         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
80834         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
80835         are unsupported.
80836
80837 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
80838
80839         Sync from coreutils.
80840         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
80841
80842 2006-01-07  Bruno Haible  <bruno@clisp.org>
80843
80844         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
80845         gl_EARLY.
80846
80847 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80848
80849         * lib/strftime.c (tzname): Don't declare if it is already #defined.
80850         Problem reported for Mingw by Mark Junker.
80851
80852 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
80853
80854         * README: Gnulib normally doesn't generate a tarball.
80855
80856 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
80857
80858         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
80859         long int, not int, for nanosecond counts, so that people who are
80860         used to POSIX struct timespec won't be surprised.  Reported by Jim
80861         Meyering.
80862
80863 2005-12-28  Bruno Haible  <bruno@clisp.org>
80864
80865         * build-aux/config.rpath: Update from GNU gettext.
80866
80867 2005-12-16  Jim Meyering  <jim@meyering.net>
80868
80869         * modules/fprintftime: New module.
80870         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
80871
80872 2005-12-16  Jim Meyering  <jim@meyering.net>
80873
80874         * m4/fprintftime.m4: New file.
80875
80876 2005-12-16  Jim Meyering  <jim@meyering.net>
80877
80878         * lib/fprintftime.c, lib/fprintftime.h: New files.
80879
80880 2005-12-15  Simon Josefsson  <jas@extundo.com>
80881
80882         * modules/socklen (configure.ac): Fix M4 macro name, to align with
80883         new m4/socklen.m4.
80884
80885 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80886
80887         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
80888         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
80889
80890 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
80891
80892         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
80893         * lib/argp-help.c (fill_in_uparams): Check if the constructed
80894         struct uparams is valid. Fall back to the default values if it is
80895         not.
80896
80897 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80898
80899         * modules/argp (Files): Add argp-pin.c
80900         (Depends-on): dirname
80901         (lib_SOURCES): Add argp-pin.c
80902
80903 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80904
80905         * m4/argp.m4:  Check if program_invocation_name and
80906         program_invocation_short_name are declared and define appropriate
80907         macros if they are not.
80908
80909 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80910
80911         * lib/argp-help.c (__argp_base_name): New function
80912         (__argp_short_program_name): Rewrite using __argp_base_name
80913         * lib/argp-namefrob.h: Define program_invocation_name and
80914         program_invocation_short_name if requested
80915         (__argp_base_name): Add prototype
80916         * lib/argp-parse.c (argp_def): Use gettext wrappers
80917         (argp_default_parser): Use __argp_base_name
80918         * lib/argp-pin.c: New file. Defines program_invocation_name and
80919         program_invocation_short_name on systems that lack them.
80920
80921 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80922
80923         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
80924         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80925         porting problem reported by Georg Schwarz in
80926         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80927
80928 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
80929
80930         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
80931         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
80932         porting problem reported by Georg Schwarz in
80933         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
80934
80935 2005-12-05  Bruno Haible  <bruno@clisp.org>
80936
80937         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
80938         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
80939         Reported by Mark Junker <mjscod@gmx.de>.
80940
80941 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
80942
80943         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
80944         Use implementation from Albert Chin, with some
80945         comments/corrections by Stepan Kasal and myself.
80946
80947 2005-12-02  Bruno Haible  <bruno@clisp.org>
80948
80949         * gnulib-tool (func_import): Accept GPLed build tool modules when
80950         --lgpl is given.
80951         * modules/csharpcomp-script: New file.
80952         * modules/csharpcomp: Depend on it.
80953         * modules/javacomp-script: New file.
80954         * modules/javacomp: Depend on it.
80955         Suggested by Simon Josefsson.
80956
80957 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
80958
80959         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
80960         statement, to work around an HP-UX 10.20 compiler bug reported by
80961         Peter O'Gorman.
80962
80963 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80964
80965         * modules/savedir (Depends-on): Add openat.
80966
80967 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
80968
80969         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
80970         (uintmax_t) [defined uintmax_t]: Do not declare.
80971         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
80972         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
80973         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
80974         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
80975         sake of portability to weird hosts that C allows (though we don't
80976         know of any practical examples).
80977
80978         * lib/savedir.h (fdsavedir): New decl.
80979         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
80980         contains most of the former guts of savedir.
80981         (savedir): Use savedirstream.
80982         Include "openat.h".
80983
80984 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
80985
80986         * modules/obstack (Files): Add m4/ulonglong.m4.
80987         Problem reported by Davide Angelocola.
80988
80989 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
80990
80991         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
80992         coreutils no longer futzes with rounding modes.
80993
80994 2005-11-14  Jim Meyering  <jim@meyering.net>
80995
80996         * lib/mkstemp-safer.c: Include <config.h>, required for possible
80997         replacement of mkstemp.
80998
80999 2005-11-10  Simon Josefsson  <jas@extundo.com>
81000
81001         * lib/readline.c: Remove EOL.
81002
81003 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81004
81005         * modules/gethrxtime (Depends-on): Add gettime.
81006
81007 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81008
81009         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
81010         or gettimeofday; no longer needed.
81011
81012 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
81013
81014         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
81015         time business.
81016         (gethrxtime) [! (HAVE_NANOUPTIME
81017         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
81018         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
81019         our own approximation.
81020
81021 2005-11-08  Eric Blake  <ebb9@byu.net>
81022
81023         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81024
81025 2005-11-08  Eric Blake  <ebb9@byu.net>
81026
81027         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
81028
81029 2005-11-04  Bruno Haible  <bruno@clisp.org>
81030
81031         * gnulib-tool: Implement --update mode.
81032
81033 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81034
81035         Fix porting problem reported by Theodoros V. Kalamatianos.
81036         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
81037         Don't assume that futimes failing means we must fail.
81038
81039 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
81040
81041         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
81042         variables to suggest the intended function of the PATH_MAX check.
81043
81044 2005-10-30  Kean Johnston  <jkj@sco.com>
81045
81046         Trivial changes to support SCO systems.
81047         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
81048         as PATH_MAX.
81049         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
81050         where __ptr is null when no I/O is pending.
81051
81052 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
81053
81054         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
81055         leave errno alone.  Problem reported by Dmitry V. Levin.
81056
81057 2005-10-28  Simon Josefsson  <jas@extundo.com>
81058
81059         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
81060         Test more.
81061
81062         * tests/test-gc-md2.c, tests/test-md2.c: New files.
81063
81064         * modules/md2, modules/md2-tests: New files.
81065
81066 2005-10-28  Simon Josefsson  <jas@extundo.com>
81067
81068         * m4/inet_ntop.m4: More tests.
81069
81070         * m4/gc-md2.m4, md2.m4: New file.
81071
81072 2005-10-28  Simon Josefsson  <jas@extundo.com>
81073
81074         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
81075         "restrict" keywords, as per POSIX.  Protect the function
81076         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
81077         Don't use K&R prototypes.  Check the sprintf return values.
81078         Re-define EAFNOSUPPORT if not present.  Indent.
81079
81080         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
81081         suggested by Bruno Haible <bruno@clisp.org>.
81082
81083         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
81084
81085         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
81086
81087         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
81088         libgcrypt).
81089
81090         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
81091
81092         * lib/md2.h, lib/md2.c: New files.
81093
81094 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
81095
81096         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
81097         errno alone.  Problem reported by Frederic Jolliton.
81098
81099 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
81100
81101         * modules/verify (License): Change from GPL to LGPL.  This is a
81102         tiny module and there are apparently near-equivalents that are
81103         under the BSD license.
81104
81105 2005-10-24  Simon Josefsson  <jas@extundo.com>
81106
81107         * modules/sha1: Relicense to LGPL.
81108
81109 2005-10-24  Simon Josefsson  <jas@extundo.com>
81110
81111         * lib/md4.h: Shrink buffer size, now that we changed the type.
81112
81113 2005-10-23  Simon Josefsson  <jas@extundo.com>
81114
81115         * gnulib-tool (func_import): Fix --tests-base.
81116
81117 2005-10-22  Simon Josefsson  <jas@extundo.com>
81118
81119         * modules/arcfour (Depends-on): Need stdint.
81120
81121 2005-10-22  Simon Josefsson  <jas@extundo.com>
81122
81123         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
81124         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
81125
81126 2005-10-22  Simon Josefsson  <jas@extundo.com>
81127
81128         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
81129         suggested by Bruno Haible <bruno@clisp.org>.
81130
81131 2005-10-22  Simon Josefsson  <jas@extundo.com>
81132
81133         * lib/crc.h: Include stddef.h, for size_t.
81134
81135 2005-10-22  Simon Josefsson  <jas@extundo.com>
81136
81137         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
81138         arcfour_context struct (simplify test vector testing in GNU
81139         Shishi).
81140
81141 2005-10-21  Simon Josefsson  <jas@extundo.com>
81142
81143         * modules/des, modules/des-tests: New files.
81144
81145         * modules/gc-des, modules/gc-des-tests: New files.
81146
81147         * tests/test-des.c, tests/test-gc-des.c: New file.
81148
81149 2005-10-21  Simon Josefsson  <jas@extundo.com>
81150
81151         * modules/arctwo, modules/arctwo-tests: New files.
81152
81153         * tests/test-arctwo.c: New file.
81154
81155         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
81156
81157         * tests/test-gc-arctwo.c: New file.
81158
81159 2005-10-21  Simon Josefsson  <jas@extundo.com>
81160
81161         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
81162         Bruno Haible <bruno@clisp.org>.
81163
81164         * m4/gc-des.m4: New file.
81165
81166 2005-10-21  Simon Josefsson  <jas@extundo.com>
81167
81168         * m4/arctwo.m4: New file.
81169
81170         * m4/gc-arctwo.m4: New file.
81171
81172 2005-10-21  Simon Josefsson  <jas@extundo.com>
81173
81174         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
81175         block.
81176
81177 2005-10-21  Simon Josefsson  <jas@extundo.com>
81178
81179         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
81180         <bruno@clisp.org>.
81181
81182         * lib/hmac-sha1.c (hmac_sha1): Likewise.
81183
81184         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
81185         Bruno Haible <bruno@clisp.org>.
81186
81187         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
81188         <bruno@clisp.org>.
81189
81190 2005-10-21  Simon Josefsson  <jas@extundo.com>
81191
81192         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
81193
81194 2005-10-21  Simon Josefsson  <jas@extundo.com>
81195
81196         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
81197
81198 2005-10-21  Simon Josefsson  <jas@extundo.com>
81199
81200         * lib/des.h, lib/des.c: New files.
81201
81202         * lib/gc-gnulib.c: Support DES.c
81203
81204 2005-10-21  Simon Josefsson  <jas@extundo.com>
81205
81206         * lib/arctwo.h, lib/arctwo.c: New files.
81207
81208         * lib/gc-gnulib.c: Support ARCTWO.
81209
81210 2005-10-21  Simon Josefsson  <jas@extundo.com>
81211
81212         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
81213         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81214
81215 2005-10-21  Simon Josefsson  <jas@extundo.com>
81216
81217         * gnulib-tool (func_import, func_create_testdir): Define automake
81218         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
81219         Makefile.am snippet),
81220         suggested by Bruno Haible <bruno@clisp.org>.
81221
81222         * modules/gc (Makefile.am): Use it.
81223
81224 2005-10-21  Bruno Haible  <bruno@clisp.org>
81225
81226         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
81227         patch.
81228
81229 2005-10-19  Simon Josefsson  <jas@extundo.com>
81230
81231         * tests/test-gc-rijndael.c: New file.
81232
81233         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
81234
81235 2005-10-19  Simon Josefsson  <jas@extundo.com>
81236
81237         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
81238         interface too.
81239
81240 2005-10-19  Simon Josefsson  <jas@extundo.com>
81241
81242         * tests/test-gc-arcfour.c: New file.
81243
81244         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
81245
81246 2005-10-19  Simon Josefsson  <jas@extundo.com>
81247
81248         * modules/gc-md4, modules/gc-md4-tests: New file.
81249
81250         * tests/test-gc-md4.c: New file.
81251
81252 2005-10-19  Simon Josefsson  <jas@extundo.com>
81253
81254         * m4/gc-md4.m4: New file.
81255
81256 2005-10-19  Simon Josefsson  <jas@extundo.com>
81257
81258         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
81259         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
81260         <kasal@ucw.cz>.
81261
81262 2005-10-19  Simon Josefsson  <jas@extundo.com>
81263
81264         * m4/gc-arcfour.m4: New file.
81265
81266         * m4/gc-rijndael.m4: New file.
81267
81268 2005-10-19  Simon Josefsson  <jas@extundo.com>
81269
81270         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
81271
81272 2005-10-19  Simon Josefsson  <jas@extundo.com>
81273
81274         * lib/gc-gnulib.c: Support ARCFOUR.
81275
81276 2005-10-19  Simon Josefsson  <jas@extundo.com>
81277
81278         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
81279         support.
81280
81281         * lib/gc.h: Add ECB enum type.
81282
81283         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
81284
81285 2005-10-18  Simon Josefsson  <jas@extundo.com>
81286
81287         * tests/test-md5.c: New file.
81288
81289         * modules/md5-tests: New file.
81290
81291 2005-10-18  Simon Josefsson  <jas@extundo.com>
81292
81293         * tests/test-md4.c: New file.
81294
81295         * modules/md4, modules/md4-tests: New files.
81296
81297 2005-10-18  Simon Josefsson  <jas@extundo.com>
81298
81299         * m4/md4.m4: New file.
81300
81301 2005-10-18  Simon Josefsson  <jas@extundo.com>
81302
81303         * lib/md4.h, lib/md4.c: New files, based on md5.?.
81304
81305 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
81306
81307         * gnulib-tool (func_create_testdir): Omit the second check whether
81308         BUILT_SOURCES in nonempty.
81309
81310 2005-10-17  Simon Josefsson  <jas@extundo.com>
81311
81312         * tests/test-rijndael.c: New file.
81313
81314 2005-10-17  Simon Josefsson  <jas@extundo.com>
81315
81316         * modules/sha1: Depend on stdint instead of md5.
81317
81318         * modules/md5: Depend on stdint, remove uint32_t.
81319
81320 2005-10-17  Simon Josefsson  <jas@extundo.com>
81321
81322         * modules/gc-sha1-tests: New file.
81323
81324         * tests/test-gc-sha1.c: New file.
81325
81326 2005-10-17  Simon Josefsson  <jas@extundo.com>
81327
81328         * m4/md5.m4: Remove call to uint32_t.m4.
81329
81330 2005-10-17  Simon Josefsson  <jas@extundo.com>
81331
81332         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
81333
81334         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
81335         md5.h.
81336
81337         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
81338
81339         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
81340
81341 2005-10-17  Simon Josefsson  <jas@extundo.com>
81342
81343         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
81344
81345 2005-10-17  Simon Josefsson  <jas@extundo.com>
81346
81347         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
81348
81349 2005-10-17  Simon Josefsson  <jas@extundo.com>
81350
81351         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
81352
81353         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
81354
81355 2005-10-17  Bruno Haible  <bruno@clisp.org>
81356
81357         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
81358         that it can also be used in a test.
81359
81360 2005-10-16  Bruno Haible  <bruno@clisp.org>
81361
81362         * gnulib-tool (func_emit_tests_Makefile_am): Also define
81363         TESTS_ENVIRONMENT, so that individual tests can augment it.
81364
81365         * gnulib-tool (func_create_testdir): Use an intermediate target for
81366         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
81367         macros, like $(ALLOCA_H), which cannot be passed through the command
81368         line.
81369
81370 2005-10-15  Simon Josefsson  <jas@extundo.com>
81371
81372         * modules/rijndael-tests: New file.
81373
81374         * modules/rijndael: New file.
81375
81376 2005-10-15  Simon Josefsson  <jas@extundo.com>
81377
81378         * m4/rijndael.m4: New file.
81379
81380 2005-10-15  Simon Josefsson  <jas@extundo.com>
81381
81382         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
81383
81384         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
81385
81386 2005-10-14  Simon Josefsson  <jas@extundo.com>
81387
81388         * tests/test-arcfour.c: New file.
81389
81390         * modules/arcfour, modules/arcfour-tests: New files.
81391
81392 2005-10-14  Simon Josefsson  <jas@extundo.com>
81393
81394         * m4/arcfour.m4: New file.
81395
81396 2005-10-14  Simon Josefsson  <jas@extundo.com>
81397
81398         * lib/arcfour.h, lib/arcfour.c: New files.
81399
81400 2005-10-14  Roland McGrath  <roland@redhat.com>
81401
81402         Import from libc.  [BZ #1331]
81403         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
81404         macro argument.
81405         Reported by Matej Vela <vela@debian.org>.
81406
81407 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81408
81409         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
81410         include <wchar.h>; no longer needed.
81411
81412 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
81413
81414         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
81415
81416 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
81417         and  Ulrich Drepper  <drepper@redhat.com>
81418
81419         Import from libc.
81420         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
81421         instead of inline stream orientation test and two separate
81422         function calls.  Pay no attention to USE_IN_LIBIO.
81423
81424 2005-10-13  Simon Josefsson  <jas@extundo.com>
81425
81426         * modules/gc-hmac-md5-tests: New file.
81427
81428         * tests/test-gc-hmac-sha1.c: New file.
81429
81430         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
81431
81432         * modules/gc-hmac-md5-tests: New file.
81433
81434         * tests/test-gc-md5.c: New file.
81435
81436         * modules/gc-md5-tests: New file.
81437
81438 2005-10-13  Simon Josefsson  <jas@extundo.com>
81439
81440         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
81441         Move memory allocation outside of loop.
81442
81443 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
81444
81445         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
81446         intermediate directory is in a read-only file system.  Problem
81447         reported by Eric Blake.
81448
81449 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
81450
81451         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
81452
81453 2005-10-12  Simon Josefsson  <jas@extundo.com>
81454
81455         * tests/test-hmac-sha1.c: New file.
81456
81457         * modules/hmac-sha1-tests: New file.
81458
81459         * modules/hmac-sha1: New file.
81460
81461 2005-10-12  Simon Josefsson  <jas@extundo.com>
81462
81463         * modules/gc-sha1: New file.
81464
81465 2005-10-12  Simon Josefsson  <jas@extundo.com>
81466
81467         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
81468
81469         * tests/test-gc-pbkdf2-sha1.c: New file.
81470
81471 2005-10-12  Simon Josefsson  <jas@extundo.com>
81472
81473         * modules/gc-md5, modules/gc-hmac-md5: New files.
81474
81475         * modules/gc (Files): Remove md5, memxor and hmac files.
81476
81477 2005-10-12  Simon Josefsson  <jas@extundo.com>
81478
81479         * m4/gc-pbkdf2-sha1.m4: New file.
81480
81481         * m4/gc-hmac-sha1.m4: New file.
81482
81483         * m4/gc-sha1: New file.
81484
81485         * m4/hmac-sha1.m4: New file.
81486
81487 2005-10-12  Simon Josefsson  <jas@extundo.com>
81488
81489         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
81490
81491         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
81492
81493 2005-10-12  Simon Josefsson  <jas@extundo.com>
81494
81495         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
81496         suggested by Bruno Haible <bruno@clisp.org>.
81497
81498 2005-10-12  Simon Josefsson  <jas@extundo.com>
81499
81500         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
81501
81502 2005-10-12  Simon Josefsson  <jas@extundo.com>
81503
81504         * lib/gc-pbkdf2-sha1.c: New file.
81505
81506         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
81507
81508 2005-10-12  Simon Josefsson  <jas@extundo.com>
81509
81510         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
81511
81512         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
81513
81514 2005-10-12  Simon Josefsson  <jas@extundo.com>
81515
81516         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
81517         GC_USE_HMAC_MD5, respectively.
81518
81519         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
81520         (gc_md5): Fix typo.
81521
81522         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
81523
81524         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
81525
81526         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
81527
81528 2005-10-12  Bruno Haible  <bruno@clisp.org>
81529
81530         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
81531         Reported by Stepan Kasal <kasal@ucw.cz>.
81532
81533 2005-10-11  Simon Josefsson  <jas@extundo.com>
81534
81535         * tests/test-crc.c: New file.
81536
81537         * modules/crc, modules/crc-tests: New files.
81538
81539 2005-10-11  Simon Josefsson  <jas@extundo.com>
81540
81541         * m4/crc.m4: New file.
81542
81543 2005-10-11  Simon Josefsson  <jas@extundo.com>
81544
81545         * lib/gc.h: Add gc_hash and gc_hash_buffer.
81546
81547         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
81548
81549         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
81550
81551 2005-10-11  Simon Josefsson  <jas@extundo.com>
81552
81553         * lib/crc.h, lib/crc.c: New files.
81554
81555         * lib/gc.h (gc_hash_buffer): Add doc.
81556
81557 2005-10-11  Bruno Haible  <bruno@clisp.org>
81558
81559         * modules/c-strcasestr: New file.
81560         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
81561
81562 2005-10-11  Bruno Haible  <bruno@clisp.org>
81563
81564         * modules/c-strcase: New file.
81565         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
81566
81567 2005-10-11  Bruno Haible  <bruno@clisp.org>
81568
81569         * lib/strcasecmp.c: Include limits.h.
81570         (strcasecmp): Avoid integer overflow on exotic platforms.
81571         * lib/strncasecmp.c: Include limits.h.
81572         (strncasecmp): Avoid integer overflow on exotic platforms.
81573         Reported by Paul Eggert.
81574
81575 2005-10-11  Bruno Haible  <bruno@clisp.org>
81576
81577         * lib/c-strcasestr.h: New file, from GNU gettext.
81578         * lib/c-strcasestr.c: New file, from GNU gettext.
81579
81580 2005-10-11  Bruno Haible  <bruno@clisp.org>
81581
81582         * lib/c-strcase.h: New file, from GNU gettext.
81583         * lib/c-strcasecmp.c: New file, from GNU gettext.
81584         * lib/c-strncasecmp.c: New file, from GNU gettext.
81585
81586 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
81587
81588         * modules/mempcpy (License): GPL -> LGPL.
81589         * modules/strchrnul (License): Likewise.
81590         * modules/sysexits (License): Likewise.
81591
81592 2005-10-08  Simon Josefsson  <jas@extundo.com>
81593
81594         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
81595
81596 2005-10-07  Simon Josefsson  <jas@extundo.com>
81597
81598         * m4/memxor.m4: Remove gl_C_RESTRICT call.
81599
81600 2005-10-06  Simon Josefsson  <jas@extundo.com>
81601
81602         * tests/test-hmac-md5.c: New file.
81603
81604         * modules/hmac-md5-tests: New file.
81605
81606         * modules/hmac-md5: New file.
81607
81608 2005-10-06  Simon Josefsson  <jas@extundo.com>
81609
81610         * m4/hmac-md5.m4: New file.
81611
81612         * m4/memxor.m4: Require gl_C_RESTRICT.
81613
81614 2005-10-06  Simon Josefsson  <jas@extundo.com>
81615
81616         * lib/memxor.c (memxor): Avoid casts and warnings.
81617
81618 2005-10-06  Simon Josefsson  <jas@extundo.com>
81619
81620         * lib/hmac-md5.c: New file.
81621
81622         * lib/hmac.h: New file.
81623
81624 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
81627         promotes to int, not unsigned int, to catch the AIX 5.3
81628         compiler bug.
81629
81630 2005-10-05  Simon Josefsson  <jas@extundo.com>
81631
81632         * modules/memxor: New file.
81633
81634         * modules/iconv (Files): Move config.rpath to havelib, it is used
81635         there.
81636
81637         * modules/havelib (Files): Add config.rpath.
81638
81639 2005-10-05  Simon Josefsson  <jas@extundo.com>
81640
81641         * m4/memxor.m4: New file.
81642
81643 2005-10-05  Simon Josefsson  <jas@extundo.com>
81644
81645         * lib/memxor.c (memxor): Fix compiler error.
81646
81647         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
81648         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
81649
81650         * lib/memxor.h, lib/memxor.c: New files.
81651
81652         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
81653         we assume all systems have it, suggested by Jim Meyering
81654         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
81655         any systems lack sys/socket.h; mingw32 is known to lack it, but we
81656         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
81657         same reasons.
81658
81659 2005-10-05  Simon Josefsson  <jas@extundo.com>
81660
81661         * config/srclist.txt: Add glibc bug 1423 for md5.h.
81662
81663 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
81664
81665         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
81666         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
81667         needed, since the source code now assumes these .h files.
81668
81669 2005-10-05  Derek Price  <derek@ximbiot.com>
81670
81671         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
81672
81673 2005-10-05  Bruno Haible  <bruno@clisp.org>
81674
81675         * modules/stdint (License): Change to LGPL.
81676
81677 2005-10-04  Simon Josefsson  <jas@extundo.com>
81678
81679         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
81680         D. Baushke" <mdb@gnu.org>.
81681
81682 2005-10-04  Bruno Haible  <bruno@clisp.org>
81683
81684         * lib/verify.h (verify_true): Provide alternative definition for C++.
81685
81686 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
81687
81688         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
81689         (SSIZE_MAX): New macro, if not already defined.
81690         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
81691         than 2 GiB.
81692
81693 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81694
81695         Sync from coreutils.
81696         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
81697         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
81698         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
81699         ULLONG_MAX doesn't work with 2.7.2.1.
81700
81701 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81702
81703         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
81704         From Ben Pfaff.
81705
81706         * modules/exclude (Depends-on): Depend on verify.
81707         * modules/strtoimax (Depends-on): Likewise.
81708         * modules/utimecmp (Depends-on): Likewise.
81709
81710 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
81711
81712         * lib/exclude.c: Include verify.h.
81713         (verify): Remove.  All callers changed to use verify.h's version.
81714         * lib/strtoimax.c: Likewise.
81715         * lib/utimecmp.c: Likewis.e
81716
81717         Sync from coreutils.
81718         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
81719         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
81720         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
81721         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
81722         bother returning ENOSYS if settimeofday or stime fails; just let
81723         them return whatever errno they want to return.
81724         * lib/utimens.c: Include unistd.h, for dup2.
81725         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
81726         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
81727
81728 2005-10-02  Jim Meyering  <jim@meyering.net>
81729
81730         Sync from coreutils.
81731         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
81732         from glibc-2.2.5 that fails for read-only files.
81733
81734 2005-10-02  Jim Meyering  <jim@meyering.net>
81735
81736         Sync from coreutils.
81737         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
81738         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
81739         `#if HAVE_CONFIG_H'.
81740         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
81741         Remove AT_FDCWD test.
81742         Do not consume the fd unless successful.
81743         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
81744         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
81745         block, so that we don't even try to compile it if settimeofday is
81746         available.  This works around a compilation failure on OSF1 V5.1,
81747         due to stime requiring a `long int*' while tv_sec is `int'.
81748
81749 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
81750
81751         Sync from coreutils.
81752         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
81753         against `yes', rather than just testing for nonempty.
81754
81755 2005-10-01  Simon Josefsson  <jas@extundo.com>
81756
81757         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
81758         and Darwin.
81759
81760         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
81761         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
81762         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
81763         freeaddrinfo and gai_strerror are declared by the POSIX headers.
81764         Check if struct addrinfo is declared.
81765
81766 2005-10-01  Simon Josefsson  <jas@extundo.com>
81767
81768         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
81769         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
81770         AI_* and EAI_* definitions.  Protect function declarations.
81771
81772 2005-10-01  Jim Meyering  <jim@meyering.net>
81773
81774         Sync from coreutils.
81775
81776         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
81777         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
81778         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
81779         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81780         in the inet and nsl libraries.  Required on Solaris 5.7.
81781
81782 2005-10-01  Jim Meyering  <jim@meyering.net>
81783
81784         Sync from coreutils.
81785         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
81786         in the inet and nsl libraries.  Required on Solaris 5.7.
81787
81788 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
81789
81790         * lib/getdelim.c (getdelim): Remove unused variables.
81791
81792 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
81793
81794         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
81795         so that the code works even with ancient cpp.  Portability problem
81796         with GCC 2.7.2.1 reported by Thomas M.Ott.
81797
81798 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
81799
81800         * modules/regex (Depends-on): Add strcase.
81801
81802         * modules/gethostname (Licence): Change from GPL to LGPL, since
81803         gethostname.c is a trivial implementation of a standard library
81804         function.
81805         * modules/poll (License): Change from GPL to LGPL, since it's
81806         derived from LGPL code.
81807
81808 2005-09-27  Jim Meyering  <jim@meyering.net>
81809
81810         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
81811         HAVE_CONFIG_H.
81812
81813         * lib/intprops.h (signed_type_or_expr__): Define.
81814         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
81815         for unsigned types.
81816
81817 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
81818
81819         * lib/verify.h (verify_expr): Remove, replacing with:
81820         (verify_true): New macro that returns true instead of void.
81821         (verify_type__): Remove.
81822         (verify): Use verify_true rather than verify_type__.
81823
81824 2005-09-26  Bruno Haible  <bruno@clisp.org>
81825
81826         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
81827         is necessary.
81828         (lib_SOURCES): Remove mbchar.c.
81829         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
81830         (Files): Add m4/mbrtowc.m4.
81831         * modules/mbiter: Likewise.
81832         * modules/mbuiter: Likewise.
81833
81834 2005-09-26  Bruno Haible  <bruno@clisp.org>
81835
81836         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
81837         compile mbchar.c if they are not both present.
81838         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
81839         * m4/mbiter.m4 (gl_MBITER): Likewise.
81840         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
81841         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
81842         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
81843
81844 2005-09-25  Jim Meyering  <jim@meyering.net>
81845
81846         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
81847         also uses socklen_t.
81848
81849 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
81850
81851         * lib/utimens.c (ENOSYS): Define if not already defined.
81852         (futimens): Support having a null PATH if the file descriptor
81853         is nonnegative.
81854
81855         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
81856         Remove.
81857         (__attribute): Define to empty unless GCC 3.1 or later.
81858         This works around a core dump on OpenBSD 3.4, which has GCC
81859         2.95.3, which dumps core when given __attribute__(()).  It also
81860         simplifies other tests, since we really don't want to bother with
81861         worrying about which ancient version of GCC supported what.
81862         Original problem reported by Yoann Vandoorselaere, with part of
81863         the fix suggested by Derek Price.
81864
81865 2005-09-24  Jim Meyering  <jim@meyering.net>
81866
81867         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
81868         so we can once again use a positive bitfield width of 1 -- now we
81869         don't have to explain why we were using a bitfield width of 2.
81870
81871 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81872
81873         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
81874         and similarly for the other external symbols.  Problem reported
81875         by James Gallager.
81876
81877         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
81878         bug reported by Jim Meyering.
81879
81880         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
81881         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
81882         not needed, since socklen is a prerequisite module.
81883
81884 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
81885
81886         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
81887         Problem reported by Eric Blake.
81888         (getaddrinfo): Initialize se so that it's not garbage.
81889         Redo internal storage allocation so that it doesn't make unportable
81890         assumptions about alignment.
81891         Fix a memory leak.
81892
81893         * lib/utimens.c (futimens): Use futimesat if available.
81894         Prefer it to futimes since it doesn't have the futimes bug.
81895
81896         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
81897         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
81898         Instead, declare a function that returns a pointer to an array,
81899         and use verify_type__ to declare the size of the array.
81900         Problem and germ of a solution reported by Bruno Haible.
81901         (verify_type__): Use 2, not 1, for bitfield size, to avoid
81902         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
81903
81904 2005-09-23  Jim Meyering  <jim@meyering.net>
81905
81906         Sync from coreutils.
81907         Correct build failure (socklen_t not defined) on at least
81908         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
81909         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
81910
81911 2005-09-23  Jim Meyering  <jim@meyering.net>
81912
81913         * modules/getaddrinfo (Depends-on): Add socklen.
81914
81915 2005-09-23  Bruno Haible  <bruno@clisp.org>
81916
81917         * tests/test-verify.c: New file.
81918
81919 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81920
81921         Sync from coreutils.
81922
81923         * modules/argmatch (Depends-on): Add verify.
81924         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
81925         unistd-safer.
81926         * modules/save-cwd (Depends-on): Likewise.
81927
81928         * modules/openat (Files): Add lib/openat-die.c.
81929         (Depends-on): Remove error, exitfail.
81930         Add dirname.
81931
81932         * modules/verify: New file.
81933         * MODULES.html.sh (Diagnostics <assert.h>): New section,
81934         with "verify" module.
81935
81936 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81937
81938         Sync from coreutils.
81939
81940         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
81941         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
81942         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
81943         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
81944         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
81945         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
81946         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
81947         Don't bother checking for string.h, stdlib.h, unistd.h.
81948         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
81949         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
81950         module's job.
81951         * m4/jm-macros.m4 (gl_MACROS): Likewise.
81952         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
81953
81954         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
81955         (gl_GETDATE): Use it.
81956
81957         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
81958
81959 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
81960
81961         Sync from coreutils.
81962
81963         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
81964         stat-time.h.
81965         * lib/argmatch.h: Include verify.h
81966         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
81967         (ARGMATCH_ASSERT): Remove; unused.
81968         * lib/canonicalize.c: Assume STDC_HEADERS.
81969         * lib/exclude.c: Include "strcase.h".
81970         * lib/regex_internal.h [!defined _LIBC]: Likewise.
81971         * lib/getusershell.c: Include stdio--.h rather than stdio.h
81972         and stdio-safer.h.
81973         (getusershell): Call fopen, not fopen_safer.
81974         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
81975         Do not include unistd-safer.h.
81976         (save_cwd): Don't call fd_safer; no longer needed
81977         now that we include fcntl--.h.
81978
81979         * lib/getdate.y (relative_time): New type.
81980         (RELATIVE_TIME_0): New constant.
81981         (parser_control): Use relative_time instead of doing it ourselves.
81982         (%union): Add new relative_time rel member.
81983         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
81984         Now typeless.
81985         (relunit, relunit_snumber): Now of type rel.
81986         (zone, rel, relunit, get_date): Adjust to above changes.
81987
81988         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
81989         Do not include unistd-safer.h.
81990         (getloadavg): Don't call fd_safer; no longer needed
81991         now that we include fcntl--.h.
81992
81993         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
81994         (make_dir_parents): Treat ENOSYS like EEXIST.
81995
81996         Improve quality of diagnostics on restore_cwd failure.
81997         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
81998         (make_dir_parents): Last arg is now int * (for errno), not bool *.
81999         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
82000         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
82001         each time through the loop.  Do not diagnose restore_cwd failure;
82002         that is the caller's job (and perhaps the caller does not care).
82003
82004         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
82005         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
82006         If the file already exists but is not a directory, don't bother
82007         to try to make its parents.
82008         Close potential file descriptor leak if we can't chdir("/") (!).
82009         Don't always return true if chdir($PWD) fails; return true only
82010         if the requested action was done successfully (except for the
82011         chdir($PWD)).
82012         Don't log final directory unless we actually made it.
82013         Refactor to avoid duplicate code to fix up permissions.
82014         Don't attempt to fix up parent permissions if chdir($PWD) fails.
82015
82016         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
82017         to make it a bit faster and (I hope) clearer.
82018         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
82019         Fix bug in formats like %2N.
82020
82021         * lib/verify.h: New file.
82022
82023 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
82024
82025         Sync from coreutils.
82026         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
82027
82028 2005-09-22  Jim Meyering  <jim@meyering.net>
82029
82030         Sync from coreutils.
82031
82032         * m4/lstat.m4 (gl_FUNC_LSTAT):
82033         Use AC_LIBSOURCES to require lstat.c and lstat.h.
82034         Remove obsolete comment.
82035         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
82036         * m4/xstrtod.m4: Likewise.
82037
82038         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
82039
82040 2005-09-22  Jim Meyering  <jim@meyering.net>
82041
82042         Sync from coreutils.
82043
82044         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
82045
82046         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
82047         the .tm_year member, since otherwise gcc-4.0 would now warn about
82048         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
82049
82050         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
82051         order to avoid an unsuppressible warning from gcc on 64-bit systems.
82052
82053         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
82054         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
82055         when run in a time zone for which daylight savings time is in effect
82056         for the starting date.
82057
82058         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
82059         stop us from restricting permissions of just-created absolute-named
82060         directories.
82061         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
82062         to restore initial working directory.
82063         * lib/mkdir-p.c (make_dir_parents): New parameter:
82064         different_working_dir, to tell caller if/when we change the working
82065         directory and are unable to return to the initial one.
82066         * lib/mkdir-p.h (make_dir_parents): Update prototype.
82067         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
82068         `return false'.  This fixes a bug introduced on 2004-07-30.
82069
82070         * lib/openat.c (fdopendir): Be sure to close the supplied
82071         file descriptor before returning.  This makes our replacement
82072         implementation a little closer to Solaris's, where fdopendir
82073         ties the file descriptor to the returned DIR* pointer.
82074         * lib/openat.c (unlinkat): New function.
82075         * lib/openat.h (unlinkat): Add prototype.
82076         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
82077         (openat_restore_fail): Rename from openat_restore_die.
82078         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
82079
82080         Provide an alternative to exiting immediately upon save_cwd or
82081         restore_cwd failure.  Now, an application can arrange e.g.,
82082         to perform a longjump in that case.
82083         * lib/openat.c: Include dirname.h.
82084         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
82085         (rpl_openat, fdopendir, fstatat): Call openat_save_die
82086         and openat_restore_die rather than calling error directly.
82087         Don't include "error.h" or "exitfail.h"; they're no longer needed.
82088
82089         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
82090         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
82091         define.
82092
82093         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
82094         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
82095                             int utc, int nanoseconds);
82096         Background:
82097         date should not have to allocate a megabyte of virtual memory to
82098         handle a format argument like +%1048575T.  When implemented with
82099         strftime, it must allocate such a buffer, use strftime to fill it
82100         in, print it, then free it.
82101         With fprintftime, it simply prints everything and exits.
82102         With no need for memory allocation, that's one fewer way to fail.
82103         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
82104         optional field width, not before, so we accept %9:z, not %:9z.
82105         (my_strftime): Be sure to use L_('x') for literals.
82106
82107         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
82108         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
82109         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
82110         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
82111         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
82112         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
82113         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
82114         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
82115         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
82116         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
82117         * lib/xgethostname.c, lib/xreadlink.c:
82118         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
82119
82120         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
82121         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
82122         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
82123         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
82124         and don't include <sys/file.h>).
82125
82126 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
82127
82128         Sync from coreutils.
82129
82130         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
82131         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
82132         [!LDAV_DONE]: Avoid unused variable warning.
82133
82134 2005-09-21  Bruno Haible  <bruno@clisp.org>
82135
82136         * lib/unicodeio.h (unicode_to_mb): New declaration.
82137
82138 2005-09-20  Derek Price  <derek@ximbiot.com>
82139
82140         * lib/getaddrinfo.c: Don't include <netdb.h> included from
82141         getaddrinfo.h.
82142
82143 2005-09-20  Bruno Haible  <bruno@clisp.org>
82144
82145         * gnulib-tool: Remove trailing slashes from the values specified for
82146         --source-base, --m4-base, --tests-base, --aux-dir.
82147         Suggested by Simon Josefsson <jas@extundo.com>.
82148
82149 2005-09-20  Bruno Haible  <bruno@clisp.org>
82150
82151         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
82152         func_modules_to_filelist, func_import, func_create_testdir): Make all
82153         sorting results locale-independent, so that gnulib-cache.m4 doesn't
82154         change when gnulib-tool is invoked in a different locale.
82155
82156 2005-09-19  Simon Josefsson  <jas@extundo.com>
82157
82158         * m4/socklen.m4: Fix typo.
82159
82160 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82161
82162         Use a consistent style for including <config.h>.
82163         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
82164         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
82165         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
82166         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
82167         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
82168         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
82169         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
82170         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
82171         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
82172         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
82173         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
82174         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
82175         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
82176         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
82177         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
82178         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
82179         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
82180         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
82181         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
82182         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
82183         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
82184         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
82185         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
82186         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
82187         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
82188         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
82189         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
82190         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
82191         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
82192         lib/xstrtoumax.c, lib/yesno.c:
82193         Standardize inclusion of config.h.
82194         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
82195         lib/inttostr.h:  Removed inclusion of config.h from header files.
82196         * lib/inttostr.c:  Adjusted in-tree users.
82197         * lib/timespec.h: Remove superfluous warning to include config.h.
82198         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
82199         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
82200         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
82201         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
82202         config.h with HAVE_CONFIG_H.
82203
82204 2005-09-19  Jim Meyering  <jim@meyering.net>
82205
82206         * modules/pathmax (License): Change to LGPL.
82207
82208 2005-09-19  Derek Price  <derek@ximbiot.com>
82209
82210         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
82211
82212 2005-09-19  Bruno Haible  <bruno@clisp.org>
82213
82214         * gnulib-tool (import): Provide default for --tests-base.
82215
82216 2005-09-19  Bruno Haible  <bruno@clisp.org>
82217
82218         * doc/quote.texi: New file, extracted from gnulib.texi.
82219         * doc/ctime.texi: New file, extracted from gnulib.texi.
82220         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
82221         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
82222         * doc/gnulib.texi: Include them.
82223
82224 2005-09-18  Bruno Haible  <bruno@clisp.org>
82225
82226         Portability fix.
82227         * gnulib-tool (func_readlink): New function.
82228         (func_ln_if_changed): Use it.
82229
82230 2005-09-18  Bruno Haible  <bruno@clisp.org>
82231
82232         * gnulib-tool: Support --with-tests also with --import.
82233         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
82234         (func_import): Use variables $testsbase and $inctests. Emit a
82235         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
82236         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
82237         SUBDIRS += $testsdir.
82238         (func_create_testdir): Update.
82239
82240 2005-09-18  Bruno Haible  <bruno@clisp.org>
82241
82242         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
82243         instead of $dry_run.
82244         (func_cp_if_changed, func_mv_if_changed): Remove functions.
82245         (func_ln_if_changed): Don't handle dry-run here.
82246         (func_import): In dry-run mode, detect more precisely which actions
82247         would be performed, and don't use "...ing" verbs.
82248
82249 2005-09-18  Bruno Haible  <bruno@clisp.org>
82250
82251         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
82252         (func_import): Use join on two temporary files instead of three nested
82253         loops, in order to determine which files are new or old.
82254
82255 2005-09-18  Bruno Haible  <bruno@clisp.org>
82256
82257         * gnulib-tool (func_import): Comment out code that spits out the
82258         new files with --dry-run.
82259
82260 2005-09-18  Bruno Haible  <bruno@clisp.org>
82261
82262         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
82263
82264 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82265
82266         * lib/stat-time.h: New file.
82267         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
82268         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
82269         in a different way.
82270         (timespec_cmp): New function.
82271         * lib/utimecmp.c: Include stat-time.h.
82272         (SYSCALL_RESOLUTION): Depend on whether various struct stat
82273         members exist, not on the obsolescent ST_MTIM_NSEC.
82274         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
82275
82276 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82277
82278         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
82279
82280 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
82281
82282         * MODULES.html.sh (File system functions): Add stat-time.
82283         * modules/stat-time: New file.
82284         * modules/timespec (Files): Remove m4/st_mtim.m4; this
82285         is now done in a different way, by the stat-time module.
82286         * modules/utimecmp (Depends-on): Add stat-time.
82287
82288 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
82289
82290         * m4/st_mtim.m4: Remove.  Superseded by...
82291         * m4/stat-time.m4: New file.
82292         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
82293         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
82294
82295 2005-09-15  Derek Price  <derek@ximbiot.com>
82296
82297         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
82298
82299 2005-09-15  Derek Price  <derek@ximbiot.com>
82300
82301         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
82302         * lib/regex_internal.c: Ditto, using this...
82303         (__GNUC_PREREQ): ...new macro.
82304         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
82305         using...
82306         (__GNUC_PREREQ): ...this new macro.
82307
82308         * lib/strstr.h: Include string.h. Define strstr as a macro here.
82309
82310 2005-09-15  Derek Price  <derek@ximbiot.com>
82311             Paul Eggert  <eggert@cs.ucla.edu>
82312
82313         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
82314         changes, consolidating in...
82315         * lib/regex_internal.h: ...this file.
82316
82317 2005-09-13  Jim Meyering  <jim@meyering.net>
82318
82319         * lib/canon-host.c: Filter through gnu indent and reword comments
82320         slightly.
82321         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
82322
82323 2005-09-13  Derek Price  <derek@ximbiot.com>
82324
82325         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
82326         failure.
82327         Reported by Jim Meyering  <jim@meyering.net>.
82328
82329 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82330
82331         * lib/base64.c: Typo.
82332         (base64_encode): Put b64str in initialized data section.
82333
82334 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
82335
82336         Merge glibc and coreutils changes into gnulib, plus a few
82337         extra fixes.
82338         * lib/md5.c: Use #error rather than a string.
82339         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
82340         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
82341         (__attribute__): Define to empty for non recent-GCC.
82342         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
82343         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
82344         Renamed from their non-__ counterparts, with new macros replacing
82345         them if not _LIBC.  Add __THROW attribute.
82346         (rol): Remove.
82347         (struct md5_ctx): Align buffer if using GCC.
82348         * lib/sha1.h (struct sha1_ctx): Likewise.
82349         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
82350         The old name was backwards.
82351         (NOTSWAP): Remove; not used.
82352         (rol): New macro, moved here from md5.h.
82353         (sha1_process_block): Remove a FIXME that doesn't make sense.
82354
82355 2005-09-12  Derek Price  <derek@ximbiot.com>
82356
82357         Return usable errors from canon-host.
82358         * lib/canon-host.h: New file.
82359         * lib/canon-host.c (canon_host): Wrap...
82360         (canon_host_r): ...this new function, which now relies exclusively on
82361         getaddrinfo.
82362         (ch_strerror): New function.
82363         (last_cherror): New global.
82364         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
82365         interface.
82366         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
82367         void *.
82368         (freeaddrinfo): Free ai->ai_canonname when set.
82369
82370 2005-09-12  Derek Price  <derek@ximbiot.com>
82371
82372         Make canon-host require getaddrinfo.
82373         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
82374         AC_LIBSOURCE canon-host.h.  Call...
82375         (gl_PREREQ_CANON_HOST): ...this new function, which requires
82376         gl_GETADDRINFO.
82377         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
82378
82379 2005-09-12  Derek Price  <derek@ximbiot.com>
82380
82381         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
82382         LGPL.
82383         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
82384
82385 2005-09-12  Derek Price  <derek@ximbiot.com>
82386
82387         * lib/gai_strerror.c: Include config.h when available.  Include
82388         getaddrinfo.h before other headers to test interface.
82389         Reported by Larry Jones <lawrence.jones@ugs.com>.
82390
82391 2005-09-12  Derek Price  <derek@ximbiot.com>
82392             Paul Eggert  <eggert@cs.ucla.edu>
82393
82394         * modules/glob (Files): Add glob-libc.h.
82395
82396 2005-09-12  Derek Price  <derek@ximbiot.com>
82397             Paul Eggert  <eggert@cs.ucla.edu>
82398
82399         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
82400         glob_.h, glob-libc.h.
82401         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
82402
82403 2005-09-12  Derek Price  <derek@ximbiot.com>
82404             Paul Eggert  <eggert@cs.ucla.edu>
82405
82406         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
82407         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
82408         protecting things that should be done only in gnulib contexts.
82409         * lib/glob_.h: New file, containing only the glob things needed for
82410         gnulib.
82411         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
82412         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
82413         (glob, globfree, glob_pattern_p): Now defined simply in terms of
82414         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
82415         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
82416         and to respect the namespace rules better.
82417
82418 2005-09-08  Simon Josefsson  <jas@extundo.com>
82419
82420         * modules/socklen: New file.
82421
82422 2005-09-08  Simon Josefsson  <jas@extundo.com>
82423
82424         * m4/socklen.m4: New file.
82425
82426 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82427
82428         * modules/utimens (Files): Add m4/utimbuf.m4, since
82429         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
82430         Reported by Sergey Poznyakoff.
82431
82432 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82433
82434         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
82435         definitions, since that's the preferred style in glibc.
82436         Fix a minor spacing issue, and update copyright notice to match
82437         glibc's.
82438
82439 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
82440
82441         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
82442
82443 2005-09-06  Simon Josefsson  <jas@extundo.com>
82444
82445         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
82446         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
82447
82448 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82449
82450         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
82451         warning.
82452
82453 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82454
82455         * config/srclist.txt: Add glibc bug 1302.
82456
82457 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
82458
82459         Change bitset word type from unsigned int to unsigned long int,
82460         as this has better performance on typical 64-bit hosts.
82461         Port bitset code to hosts with unusual word sizes.
82462         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
82463         (build_collating_symbol):
82464         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
82465         argument is a bitset.  This is merely a style issue, but it makes
82466         it clearer that an entire array is expected.
82467         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
82468         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
82469         Port to the case where bitset_word is not the same as unsigned int.
82470         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82471         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
82472         Likewise.
82473         * lib/regexec.c (check_dst_limits_calc_pos_1,
82474         check_subexp_matching_top):
82475         (build_trtable, group_nodes_into_DFAstates):
82476         Likewise.
82477         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
82478         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
82479         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
82480         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
82481         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
82482         * lib/regcomp.c (optimize_subexps, lower_subexp):
82483         Work even if bitset_word has holes in its bitwise representation.
82484         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
82485         * lib/regexec.c (check_dst_limits_calc_pos_1,
82486         check_subexp_matching_top):
82487         Likewise.
82488         * lib/regex_internal.c (re_string_reconstruct):
82489         Don't assume UCHAR_MAX == 255.
82490         * lib/regex_internal.h (bitset_set_all): Likewise.
82491         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
82492         All uses changed.
82493         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
82494         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
82495         All uses changed.
82496         (BITSET_WORD_MAX): New macro.
82497         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
82498         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
82499         (bitset_empty, bitset_copy):
82500         Prefer sizeof (bitset) to multiplying it out ourselves.
82501         (bitset_not_merge): Remove; unused.
82502         (bitset_contain): Return bool, not unsigned int with one bit on.
82503         All callers changed.
82504         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
82505         alignment than re_node_set; do this by defining a new internal
82506         type struct dests_alloc and using it to allocate memory.
82507
82508 2005-09-05  Bruno Haible  <bruno@clisp.org>
82509
82510         * gnulib-tool (func_import): Fix comparison in handling of symbolic
82511         links.
82512
82513 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
82514
82515         * modules/size_max (Makefile.am): Add size_max.h
82516
82517 2005-09-04  Derek Price  <derek@ximbiot.com>
82518
82519         * gnulib-tool (func_import): Fix reversed $symbolic logic.
82520
82521 2005-09-03  Simon Josefsson  <jas@extundo.com>
82522
82523         * gnulib-tool: Fix typo.
82524
82525 2005-09-03  Simon Josefsson  <jas@extundo.com>
82526
82527         * config/srclist.txt: Add glibc bug 1293.
82528
82529 2005-09-03  Derek Price  <derek@ximbiot.com>
82530
82531         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
82532         From Larry Jones <lawrence.jones@ugs.com>.
82533
82534 2005-09-02  Simon Josefsson  <jas@extundo.com>
82535
82536         * modules/socklen: New file.
82537
82538 2005-09-02  Simon Josefsson  <jas@extundo.com>
82539
82540         * modules/havelib: New module.
82541
82542         * modules/gettext, modules/iconv, modules/lock, modules/readline:
82543         Use havelib.
82544
82545 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82546
82547         Check for arithmetic overflow when calculating sizes, to prevent
82548         some buffer-overflow issues.  These patches are conservative, in the
82549         sense that when I couldn't determine whether an overflow was possible,
82550         I inserted a run-time check.
82551         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
82552         macros.
82553         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
82554         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
82555         (re_xnrealloc, re_x2nrealloc): New inline functions.
82556         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
82557         parse_bracket_exp):
82558         (build_equiv_class, build_charclass): Check for arithmetic overflow
82559         in size expression calculations.
82560         * lib/regex_internal.c (re_string_realloc_buffers):
82561         (build_wcs_upper_buffer, re_node_set_add_intersect):
82562         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
82563         (re_dfa_add_node, register_state): Likewise.
82564         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
82565         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
82566         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
82567         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
82568
82569 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
82570
82571         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
82572         m4/ulonglong.m4.  Problem reported by Martin Lambers.
82573
82574 2005-09-02  Bruno Haible  <bruno@clisp.org>
82575
82576         Support for lib vs. lib64 distinction on biarch platforms.
82577         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
82578         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
82579         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
82580
82581 2005-09-02  Bruno Haible  <bruno@clisp.org>
82582
82583         * gnulib-tool (import): In the other first-use case, provide defaults
82584         as well.
82585
82586 2005-09-02  Bruno Haible  <bruno@clisp.org>
82587
82588         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
82589         patches not yet found in the latest gettext release.
82590
82591 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82592
82593         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
82594         to avoid a collision with bits/local_lim.h in glibc.
82595         All uses changed.  Problem reported by Dmitry V. Levin in
82596         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
82597
82598         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
82599         bugs in int versus size_t comparisons.
82600         (re_string_context_at): Fix bug where the code assumed that
82601         Idx is signed.
82602
82603         Use bool where appropriate.
82604         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
82605         All callers changed.
82606         (calc_eclosure_iter): Likewise, for ROOT arg.
82607         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
82608         (build_charclass_op): Likewise, for NON_MATCH arg.
82609         * lib/regex_internal.c (re_string_allocate, re_string_construct):
82610         (re_string_construct_common): Likewise, for ICASE arg.
82611         * lib/regexec.c (re_search_2_stub, re_search_stub):
82612         Likewise, for RET_LEN arg.
82613         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
82614         (set_regs): Likewise, for FL_BACKTRACK arg.
82615         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
82616         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
82617         (calc_eclosure_iter, parse_bracket_exp):
82618         Use bool for internal variables that are booleans.
82619         * lib/regexec.c (re_search_internal, check_matching,
82620         proceed_next_node):
82621         (set_regs, build_sifted_states, sift_states_bkref):
82622         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
82623         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
82624         (find_collation_sequence_value):
82625         Likewise.
82626         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
82627         (re_node_set_compare):
82628         Return bool, not int. All callers changed.
82629         * lib/regexec.c (check_halt_node_context, check_dst_limits):
82630         (build_trtable, check_node_accept): Likewise.
82631         * lib/regex_internal.h: Include stdbool.h.
82632
82633         Fix bugs uncovered when converting to bool.
82634         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
82635         failure instead of charging ahead blindly.
82636         * lib/regex_internal.c (register_state): Likewise.
82637         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
82638         for freeing internal storage.
82639         (group_nodes_into_DFA_states): Use unsigned int, not int, for
82640         bitset pieces used as boolean, to avoid undefined behavior
82641         on hosts that do int overflow checking.
82642
82643 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
82644
82645         * config/srclist.txt: Add glibc bugs 1285-1287.
82646
82647 2005-09-01  Jim Meyering  <jim@meyering.net>
82648
82649         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
82650         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
82651         Require gl_STAT_MACROS, too.
82652
82653 2005-09-01  Bruno Haible  <bruno@clisp.org>
82654
82655         * gnulib-tool (import): In the first-use case, provide defaults.
82656
82657 2005-09-01  Bruno Haible  <bruno@clisp.org>
82658
82659         * gnulib-tool (func_import): Remove the .tmp files.
82660
82661 2005-09-01  Bruno Haible  <bruno@clisp.org>
82662
82663         * gnulib-tool (func_import): Fix handling of symbolic links.
82664
82665 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82666
82667         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
82668         old glibc regex code mishandles strings longer than 2**31 bytes.
82669         This patch fixes this when the regex code is used in gnulib
82670         (i.e., outside glibc).
82671
82672         This patch should not affect the use of the regex code inside
82673         glibc.  No doubt this problem also needs to be handled for glibc
82674         as well, but the result will be an incompatible change to the
82675         glibc ABI, and the old ABI will have to be supported too.  That
82676         can be the the subject for another patch.
82677
82678         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
82679         governing whether the rest of this patch is active.  By default,
82680         the macro is disabled and the patch has no effect.
82681         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
82682         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
82683         (struct re_pattern_buffer, re_search, re_search_2, re_match):
82684         (re_match_2, re_set_registers): Use the new types.
82685         * lib/regex_internal.h (Idx, re_hashval_t): New types.
82686         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
82687         New macros.
82688         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
82689         (re_string_context_at, bin_tree_t, re_dfastate_t):
82690         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
82691         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
82692         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
82693         (re_string_char_size_at, re_string_wchar_at):
82694         (re_string_elem_size_at):
82695         Use the new types and macros to port to 64-bit hosts.
82696         Use unsigned types for internal values, so that the code
82697         mostly works even for arrays larger than SSIZE_MAX.
82698         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
82699         (search_duplicated_node, calc_eclosure_iter, fetch_number):
82700         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
82701         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
82702         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
82703         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
82704         (calc_inveclosure, parse_dup_op, build_range_exp):
82705         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
82706         (fetch_number, create_token_tree, mark_opt_subexp):
82707         Likewise.
82708         * lib/regex_internal.c (re_string_construct_common,
82709         create_ci_newstate):
82710         (create_cd_newstate, re_string_allocate, re_string_construct):
82711         (re_string_realloc_buffers, build_wcs_upper_buffer):
82712         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
82713         (re_string_reconstruct, re_string_peek_byte_case):
82714         (re_string_fetch_byte_case, re_string_context_at):
82715         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
82716         (re_node_set_init_copy, re_node_set_add_intersect):
82717         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82718         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82719         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
82720         (re_acquire_state, re_acquire_state_context, register_state):
82721         Likewise.
82722         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
82723         search_cur_bkref_entry):
82724         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
82725         (re_search_internal, re_search_2_stub, re_search_stub)
82726         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
82727         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
82728         (update_cur_sifted_state, check_dst_limits):
82729         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82730         (check_subexp_limits, sift_states_bkref, merge_state_array):
82731         (check_subexp_matching_top, get_subexp, get_subexp_sub):
82732         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
82733         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
82734         (expand_bkref_cache, check_node_accept_bytes):
82735         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
82736         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
82737         (acquire_init_state_context, check_halt_node_context):
82738         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
82739         (sift_states_backward, clean_state_log_if_needed):
82740         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
82741         (find_recover_state, transit_state_sb, transit_state_mb):
82742         (transit_state_bkref, build_trtable, match_ctx_clean):
82743         Likewise.
82744         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
82745         to work around an assumption that REG_MISSING is negative.
82746
82747         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
82748         (seek_collating_symbol_entry) [defined _LIBC]:
82749         (lookup_collation_sequence_value) [defined _LIBC]:
82750         (build_range_exp, build_collating_symbol) [defined _LIBC]:
82751         Use prototypes rather than old-style function definitions.
82752         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
82753         (transit_state_sb) [0]:
82754         (find_collation_sequence_value) [defined _LIBC]: Likewise.
82755
82756         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
82757         rm_eo.
82758
82759         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
82760         (optimize_subexps, lower_subexp):
82761         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
82762         since the signed shift might overflow.  Use 1u<<31 instead.
82763         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
82764         Likewise.
82765         * lib/regexec.c (check_dst_limits_calc_pos_1,
82766         check_subexp_matching_top): Likewise.
82767
82768         * lib/regcomp.c (optimize_subexps, lower_subexp):
82769         Use CHAR_BIT rather than 8, for clarity.
82770         * lib/regexec.c (check_dst_limits_calc_pos_1):
82771         (check_subexp_matching_top): Likewise.
82772         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
82773         have to worry about portability issues when shifting it left.
82774         Remove no-longer-needed test for table_size > 0.
82775         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
82776         in a word, as the resulting behavior is undefined.
82777         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
82778         in one case, a <= should have been an <, and in another case the
82779         whole test was missing.
82780         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
82781         the standard name CHAR_BIT.
82782         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
82783         this is not true on one's complement and signed-magnitude hosts.
82784
82785         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
82786         next_last_offset.
82787         (struct re_dfa_t): Remove unused member states_alloc.
82788         * lib/regcomp.c (init_dfa): Don't initialize unused members.
82789
82790 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82791
82792         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
82793         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
82794         and large-file glibc and in 32-bit large-file Solaris.
82795
82796 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82797
82798         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
82799         lengths fit in regoff_t; this isn't true if regoff_t is the same
82800         width as size_t.
82801         * lib/regex.c (re_search_internal): 5th arg is LAST_START
82802         (= START + RANGE) instead of RANGE.  This avoids overflow
82803         problems when regoff_t is the same width as size_t.
82804         All callers changed.
82805         (re_search_2_stub): Check for overflow when adding the
82806         sizes of the two strings.
82807         (re_search_stub): Check for overflow when adding START
82808         to RANGE; if it occurs, substitute the extreme value.
82809
82810 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
82811
82812         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
82813
82814 2005-08-31  Jim Meyering  <jim@meyering.net>
82815
82816         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
82817         a pointer-to-const.
82818         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
82819         (register_state): Likewise.
82820         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
82821         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
82822         (group_nodes_into_DFAstates): Likewise.
82823
82824 2005-08-31  Jim Meyering  <jim@meyering.net>
82825
82826         * check-module: Add a FIXME comment.
82827
82828 2005-08-31  Eric Blake  <ebb9@byu.net>
82829
82830         * modules/unistd-safer (Files): Add unistd--.h.
82831         * modules/stdio-safer (Files): Add stdio--.h.
82832
82833 2005-08-31  Derek Price  <derek@ximbiot.com>
82834
82835         * lib/getdelim.c (getdelim): Return EOF on EOF.
82836         Reported by Larry Jones <lawrence.jones@ugs.com>.
82837
82838 2005-08-31  Bruno Haible  <bruno@clisp.org>
82839
82840         Avoid unnecessary diffs in the generated lib/Makefile.am.
82841         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
82842         the generated files.
82843         (func_import): Don't set cmd.
82844
82845 2005-08-31  Bruno Haible  <bruno@clisp.org>
82846
82847         * lib/strstr.c: Include <stddef.h>, for NULL.
82848         * lib/strcasestr.c: Likewise.
82849         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
82850
82851 2005-08-31  Bruno Haible  <bruno@clisp.org>
82852
82853         * gnulib-tool: New option --macro-prefix.
82854         (func_import): Use macro_prefix.
82855         (import): Handle option --macro-prefix.
82856
82857 2005-08-31  Bruno Haible  <bruno@clisp.org>
82858
82859         * gnulib-tool (import): Rename most ac_* variables to cached_*.
82860         Also use new variables cached_lgpl, cached_libtool.
82861
82862 2005-08-31  Bruno Haible  <bruno@clisp.org>
82863
82864         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
82865         always instantiating them.
82866
82867 2005-08-31  Bruno Haible  <bruno@clisp.org>
82868
82869         * gnulib-tool (func_import): Read the previous cached settings
82870         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
82871         earlier added by gnulib but are now dropped. Warn when a gnulib file
82872         overwrites a non-gnulib file.
82873
82874 2005-08-31  Bruno Haible  <bruno@clisp.org>
82875
82876         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
82877         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
82878         projects that don't keep autogenerated files in CVS. Put into
82879         actioncmd only the specified modules, not the transitive closure.
82880
82881 2005-08-31  Bruno Haible  <bruno@clisp.org>
82882
82883         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
82884         Create directories that shall be filled.
82885         (import): Don't look for gl_* macros in configure.ac. Recurse across
82886         all directories containing a gnulib-cache.m4 files, if meaningful.
82887
82888 2005-08-31  Bruno Haible  <bruno@clisp.org>
82889
82890         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
82891         (import): Set seen_libtool when we see gl_LIBTOOL.
82892
82893 2005-08-31  Bruno Haible  <bruno@clisp.org>
82894
82895         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
82896         declaration macro definitions from generated gnulib.m4.
82897
82898 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
82899
82900         * lib/iconvme.h: Add prototype for iconv_alloc.
82901
82902 2005-08-29  Simon Josefsson  <jas@extundo.com>
82903
82904         * lib/iconvme.c: Fix errno.
82905
82906 2005-08-29  Bruno Haible  <bruno@clisp.org>
82907
82908         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
82909         that it works when the directory contains spaces.
82910
82911 2005-08-29  Bruno Haible  <bruno@clisp.org>
82912
82913         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
82914
82915 2005-08-29  Bruno Haible  <bruno@clisp.org>
82916
82917         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
82918         Emit more advice.
82919
82920 2005-08-29  Bruno Haible  <bruno@clisp.org>
82921         and Stepan Kasal  <kasal@ucw.cz>
82922
82923         * check-module: If more parameters are given, check each of them
82924         separately; add more exceptions, as noted by Jim Meyering.
82925         (check_module): New procedure.
82926         (%exempt_header): Now contains all exceptions.
82927
82928 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
82929
82930         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
82931
82932 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
82933
82934         * lib/iconvme.c: Split iconv_string into iconv_alloc.
82935
82936 2005-08-28  Bruno Haible  <bruno@clisp.org>
82937
82938         * m4/gnulib-tool.m4: New file.
82939
82940 2005-08-27  Jim Meyering  <jim@meyering.net>
82941
82942         * modules/unistd-safer (Files): Add pipe-safer.c.
82943         * modules/fcntl-safer (Files): Add creat-safer.c.
82944
82945 2005-08-27  Jim Meyering  <jim@meyering.net>
82946
82947         * m4/stdlib-safer.m4: New file.  From coreutils.
82948         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
82949         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
82950         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
82951         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
82952         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
82953
82954 2005-08-27  Jim Meyering  <jim@meyering.net>
82955
82956         * lib/fopen-safer.c: Merge minor changes from coreutils.
82957         * lib/dup-safer.c: Likewise.
82958         * lib/fd-safer.c: Likewise.
82959
82960         Merge from coreutils.
82961         * lib/stdio--.h: New file.
82962         * lib/stdlib--.h: New file.
82963         * lib/mkstemp-safer.c: New file.
82964
82965         GNU tar needs these.
82966         * lib/pipe-safer.c: New file.
82967         * lib/creat-safer.c: New file.
82968         * lib/fcntl--.h (creat): Define to creat_safer.
82969         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
82970         * lib/unistd--.h (pipe): Define to pipe_safer.
82971         * lib/unistd-safer.h: Declare pipe_safer.
82972
82973 2005-08-26  Simon Josefsson  <jas@extundo.com>
82974
82975         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
82976         Haible <bruno@clisp.org>.
82977
82978 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
82979
82980         * lib/regex_internal.h: Remove all references to
82981         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
82982         or better.
82983         (bitset_not, bitset_merge, bitset_not_merge):
82984         (bitset_mask, re_string_allocate, re_string_construct):
82985         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
82986         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
82987         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
82988         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
82989         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
82990         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
82991         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
82992         (re_acquire_state_context):
82993         Remove unnecessary forward decls.
82994         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
82995         Put __attribute at function definition,
82996         now that the function decl has been removed.
82997         * lib/regex_internal.c (re_string_peek_byte_case):
82998         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
82999         Likewise.
83000
83001 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
83002
83003         * m4/regex.m4: Add AC_PREREQ(2.50).
83004         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
83005
83006 2005-08-25  Simon Josefsson  <jas@extundo.com>
83007
83008         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
83009         __fsetlocking.
83010
83011 2005-08-25  Simon Josefsson  <jas@extundo.com>
83012
83013         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
83014         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
83015         GLIBC specific code.
83016
83017 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83018
83019         Make regex safe for g++.  This fixes one real bug (an "err"
83020         that should have been "*err").  g++ problem reported by
83021         Sam Steingold.
83022         * lib/regex_internal.h (re_calloc): New macro, consistent with
83023         re_malloc etc.  All callers of calloc changed to use re_calloc.
83024         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
83025         not int.  All callers changed.
83026         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
83027         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
83028         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
83029         (find_recover_state): Change "err" to "*err"; this fixes what
83030         appears to be a real bug.
83031         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
83032         versus int.
83033
83034 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83035
83036         * modules/regex (Depends-on): Add malloc, since the code
83037         assumes that !malloc(0) means failure.
83038
83039 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83040
83041         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
83042
83043         alloca modernization/simplification for regex.
83044         * lib/regex.c: Remove portability cruft for alloca.  This no longer
83045         needs to be at the start of the file, and can be moved into
83046         regex_internal.h and simplified.
83047         * lib/regex_internal.h: Include <alloca.h>.
83048         (__libc_use_alloca) [!defined _LIBC]: New macro.
83049         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
83050         now works outside glibc.
83051
83052 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
83053
83054         * config/srclist.txt: Add glibc bugs 1241, 1245.
83055
83056 2005-08-25  Jim Meyering  <jim@meyering.net>
83057
83058         * lib/open-safer.c: Include <config.h>.
83059         Otherwise, we'd lose LARGEFILE support in any file using
83060         e.g. "fcntl--.h"
83061
83062 2005-08-25  Bruno Haible  <bruno@clisp.org>
83063
83064         * m4/minmax.m4: Require autoconf 2.52.
83065         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
83066         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
83067         alternatives of translit over the alphabet.
83068         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
83069
83070 2005-08-24  Simon Josefsson  <jas@extundo.com>
83071
83072         * tests/test-getpass.c: New file.
83073
83074 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83075
83076         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
83077         for GNU regex features.
83078
83079 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83080
83081         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
83082         * lib/regex.h (regerror): Likewise.
83083
83084         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
83085         requires this.  (The code never needed it.)
83086
83087         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
83088         All uses of recently-renamed identifiers changed to use the new,
83089         POSIX-compliant names.  The code will build and run just fine
83090         without these changes, but it's better to eat our own dog food
83091         and use the standard-conforming names.
83092
83093         * lib/regex.h: Fix a multitude of POSIX name space violations.
83094         These changes have an effect only for programs that define
83095         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
83096         do not change anything for programs compiled in the normal way.
83097         Also, there is no effect on the ABI.
83098
83099         (_REGEX_SOURCE): New macro.
83100         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
83101         defined and _GNU_SOURCE is not; this fixes a name space violation.
83102
83103         Rename the following macros to obey POSIX requirements.
83104         The old names are still visible as macros if _REGEX_SOURCE is defined.
83105         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
83106         RE_BACKSLASH_ESCAPE_IN_LISTS.
83107         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
83108         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
83109         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
83110         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
83111         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
83112         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
83113         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
83114         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
83115         (REG_INTERVALS): renamed from RE_INTERVALS.
83116         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
83117         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
83118         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
83119         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
83120         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
83121         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
83122         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
83123         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
83124         RE_UNMATCHED_RIGHT_PAREN_ORD.
83125         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
83126         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
83127         (REG_DEBUG): renamed from RE_DEBUG.
83128         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
83129         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
83130         unusual, since we can't clash with the POSIX REG_ICASE.
83131         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
83132         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
83133         (REG_NO_SUB): renamed from RE_NO_SUB.
83134         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
83135         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
83136         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
83137         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
83138         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
83139         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
83140         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
83141         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
83142         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
83143         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
83144         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
83145         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
83146         RE_SYNTAX_POSIX_MINIMAL_BASIC.
83147         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
83148         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
83149         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
83150         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
83151         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
83152         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
83153         (REG_FIXED): Renamed from REGS_FIXED.
83154         (REG_NREGS): Renamed from RE_NREGS.
83155
83156         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
83157         of other REG_* macros, since POSIX says the user is allowed to
83158         #undef these macros selectively.
83159
83160         (reg_errcode_t): Update comment stating what other tables need
83161         to be consistent.
83162
83163         Rename the following enum values to obey POSIX requirements.
83164         The old names are still visible as macros.
83165         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
83166         is not defined, since GNU is supposed to be a superset of POSIX as
83167         much as possible, and since we want reg_errcode_t to be a signed
83168         type for implementation consistency.
83169         (_REG_NOERROR): Renamed from REG_NOERROR.
83170         (_REG_NOMATCH): Renamed from REG_NOMATCH.
83171         (_REG_BADPAT): Renamed from REG_BADPAT.
83172         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
83173         (_REG_ECTYPE): Renamed from REG_ECTYPE.
83174         (_REG_EESCAPE): Renamed from REG_EESCAPE.
83175         (_REG_ESUBREG): Renamed from REG_ESUBREG.
83176         (_REG_EBRACK): Renamed from REG_EBRACK.
83177         (_REG_EPAREN): Renamed from REG_EPAREN.
83178         (_REG_EBRACE): Renamed from REG_EBRACE.
83179         (_REG_BADBR): Renamed from REG_BADBR.
83180         (_REG_ERANGE): Renamed from REG_ERANGE.
83181         (_REG_ESPACE): Renamed from REG_ESPACE.
83182         (_REG_BADRPT): Renamed from REG_BADRPT.
83183         (_REG_EEND): Renamed from REG_EEND.
83184         (_REG_ESIZE): Renamed from REG_ESIZE.
83185         (_REG_ERPAREN): Renamed from REG_ERPAREN.
83186         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
83187         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
83188         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
83189         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
83190
83191         (_REG_RE_NAME, _REG_RM_NAME): New macros.
83192         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
83193         changed.  But support the old name if the new one is not defined
83194         and if _REGEX_SOURCE.
83195
83196         Change the following member names in struct re_pattern_buffer.
83197         The old names are still supported if !_REGEX_SOURCE.
83198         The new names are always supported, regardless of _REGEX_SOURCE.
83199         (re_buffer): Renamed from buffer.
83200         (re_allocated): Renamed from allocated.
83201         (re_used): Renamed from used.
83202         (re_syntax): Renamed from syntax.
83203         (re_fastmap): Renamed from fastmap.
83204         (re_translate): Renamed from translate.
83205         (re_can_be_null): Renamed from can_be_null.
83206         (re_regs_allocated): Renamed from regs_allocated.
83207         (re_fastmap_accurate): Renamed from fastmap_accurate.
83208         (re_no_sub): Renamed from no_sub.
83209         (re_not_bol): Renamed from not_bol.
83210         (re_not_eol): Renamed from not_eol.
83211         (re_newline_anchor): Renamed from newline_anchor.
83212
83213         Change the following member names in struct re_registers.
83214         The old names are still supported if !_REGEX_SOURCE.
83215         The new names are always supported, regardless of _REGEX_SOURCE.
83216         (rm_num_regs): Renamed from num_regs.
83217         (rm_start): Renamed from start.
83218         (rm_end): Renamed from end.
83219
83220         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
83221         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
83222         Prepend __ to parameter names.
83223
83224         Undo yesterday's changes.
83225
83226 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
83227
83228         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
83229         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
83230         lib/regex.c.
83231
83232 2005-08-24  Jim Meyering  <jim@meyering.net>
83233
83234         Sync from coreutils.
83235         * m4/fcntl-safer.m4: New file.
83236
83237         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
83238         and object files for this module.
83239
83240 2005-08-24  Jim Meyering  <jim@meyering.net>
83241
83242         Sync from coreutils.
83243         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
83244
83245 2005-08-24  Jim Meyering  <jim@meyering.net>
83246
83247         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
83248         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
83249
83250 2005-08-24  Jim Meyering  <jim@meyering.net>
83251
83252         * modules/fcntl-safer: New module.
83253         * modules/fts (Depends-on): Add fcntl-safer.
83254         * MODULES.html.sh (File descriptor based Input/Output):
83255         Add fcntl-safer.
83256
83257 2005-08-24  Bruno Haible  <bruno@clisp.org>
83258
83259         Support for unit test modules.
83260         * modules/README: Mention tests modules.
83261         * modules/TEMPLATE-TESTS: New file.
83262         * gnulib-tool: New options --extract-tests-module, --with-tests and
83263         --tests-base (unused for the moment).
83264         (testsbase, inctests): New variables.
83265         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
83266         (func_verify_module): Exclude TEMPLATE-TESTS.
83267         (func_verify_nontests_module, func_verify_tests_module): New functions.
83268         (func_get_dependencies): Add implicit dependency for tests modules.
83269         (func_get_tests_module): New function.
83270         (func_modules_transitive_closure): When --with-tests was specified,
83271         include the unit tests as well, unless explicitly avoided.
83272         (func_emit_lib_Makefile_am): Ignore the tests modules here.
83273         (func_emit_tests_Makefile_am): New function.
83274         (func_create_testdir): When --with-tests was specified, emit a
83275         tests/ directory.
83276         * MODULES.html.sh (Future developments): Update.
83277
83278 2005-08-24  Bruno Haible  <bruno@clisp.org>
83279
83280         * modules/tls-tests: New file.
83281         * tests/test-tls.c: New file, from GNU gettext.
83282
83283 2005-08-24  Bruno Haible  <bruno@clisp.org>
83284
83285         * modules/lock-tests: New file.
83286         * tests/test-lock.c: New file, from GNU gettext.
83287
83288 2005-08-24  Bruno Haible  <bruno@clisp.org>
83289
83290         * lib/lock.h: Add multiple inclusion guard.
83291         * lib/tls.h: Add multiple inclusion guard.
83292
83293 2005-08-24  Bruno Haible  <bruno@clisp.org>
83294
83295         * gnulib-tool: Add support for the --aux-dir option to
83296         --create-testdir, --create-megatestdir, --test, --megatest.
83297         (func_create_testdir, func_create_megatestdir): Optionally emit a
83298         AC_CONFIG_AUX_DIR directive.
83299         (create-testdir, create-megatestdir, test, megatest): Provide a
83300         default value for $auxdir.
83301
83302 2005-08-24  Bruno Haible  <bruno@clisp.org>
83303
83304         * gnulib-tool (import): Use compound statement instead of subshell
83305         where possible.
83306
83307 2005-08-24  Bruno Haible  <bruno@clisp.org>
83308
83309         * gnulib-tool (import): Change --aux-dir default to "build-aux".
83310
83311 2005-08-24  Bruno Haible  <bruno@clisp.org>
83312
83313         * gnulib-tool (func_version): Update.
83314
83315 2005-08-24  Bruno Haible  <bruno@clisp.org>
83316
83317         * gnulib-tool (func_import, func_create_testdir,
83318         func_create_megatestdir): Quote all autoconf macro arguments.
83319
83320 2005-08-24  Bruno Haible  <bruno@clisp.org>
83321
83322         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
83323         option --force, because --force causes the aclocal.m4 of each
83324         subdirectory to be newer than the corresponding config.h.in.
83325
83326 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83327
83328         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
83329         All contents moved to gl_REGEX.
83330         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
83331         assume that it does.
83332
83333 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83334
83335         * lib/regex.h (REG_NOSYS)
83336         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
83337         Define, since POSIX requires it as of 2001.
83338         (_REG_ENOSYS)
83339         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
83340         New private symbol, used to keep the enum signed in all cases.
83341         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
83342         Youngman in
83343         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
83344
83345         * lib/regex_internal.c (re_string_skip_chars, register_state):
83346         (calc_state_hash):
83347         Remove forward decls; no longer needed now that we use prototypes.
83348         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
83349         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
83350         (clean_state_log_if_needed): Likewise.
83351
83352 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
83353
83354         * config/srclist.txt: Add glibc bugs 1231-1233.
83355
83356 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83357
83358         Fix problems reported by Sam Steingold in
83359         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
83360         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
83361         assumed that reg_errcode_t is a signed type, which is not
83362         necessarily true if _XOPEN_SOURCE is not defined.
83363         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
83364         since some compilers warn about it otherwise.
83365
83366 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83367
83368         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
83369         (init_word_char, create_initial_state, duplicate_node_closure):
83370         (fetch_token, peek_token_bracket, build_range_exp):
83371         (build_collating_symbol): Remove forward decls; no longer needed
83372         now that we use prototypes.
83373
83374         * lib/regcomp.c:
83375         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
83376         (re_compile_fastmap_iter, regcomp, regerror, regfree):
83377         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
83378         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
83379         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
83380         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
83381         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
83382         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
83383         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
83384         (build_range_exp, build_collating_symbol, parse_bracket_exp):
83385         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
83386         (build_charclass, build_charclass_op, fetch_number, create_tree):
83387         (create_token_tree, mark_opt_subexp, duplicate_tree):
83388         Use prototypes rather than old-style definitions.
83389
83390         * lib/regex_internal.c:
83391         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
83392         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
83393         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83394         (re_string_reconstruct, re_string_peek_byte_case):
83395         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
83396         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83397         (re_node_set_init_copy, re_node_set_add_intersect):
83398         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83399         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83400         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83401         (re_acquire_state, re_acquire_state_context, register_state):
83402         (create_ci_newstate, create_cd_newstate, free_state):
83403         Likewise.
83404         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
83405         re_search_2):
83406         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
83407         (re_search_internal, prune_impossible_nodes):
83408         (acquire_init_state_context, check_matching, static):
83409         (check_halt_node_context, check_halt_state_context, proceed_next_node):
83410         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
83411         (update_regs, sift_states_backward, build_sifted_states):
83412         (clean_state_log_if_needed, merge_state_array):
83413         (update_cur_sifted_state, add_epsilon_src_nodes):
83414         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
83415         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
83416         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
83417         (find_recover_state, check_subexp_matching_top, transit_state_mb):
83418         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
83419         (check_arrival, check_arrival_add_next_nodes):
83420         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83421         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83422         (check_node_accept_bytes, check_node_accept, extend_buffers):
83423         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
83424         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
83425         (sift_ctx_init):
83426         Likewise.
83427
83428         * lib/regex_internal.h:
83429         (re_string_allocate, re_string_construct, re_string_reconstruct):
83430         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
83431         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
83432         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
83433         (re_string_context_at, re_string_peek_byte_case):
83434         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
83435         is defined, since we now use prototypes always.
83436
83437         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
83438         C89 or better.  All uses removed.
83439
83440 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
83441
83442         * config/srclist.txt: Add glibc bugs 1220-1227.
83443
83444 2005-08-20  Jim Meyering  <jim@meyering.net>
83445
83446         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
83447         of unused local, dfa.
83448
83449 2005-08-20  Bruno Haible  <bruno@clisp.org>
83450
83451         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
83452
83453 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83454
83455         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
83456         (re_node_set_insert_last, re_dfa_add_node):
83457         Rename local variables to avoid GCC shadowing warnings.
83458
83459 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83460
83461         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
83462         [defined lint]: Suppress bogus uninitialized-variable warnings.
83463
83464         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
83465         and let the caller return REG_ESPACE if out of space.  This
83466         removes an uninitialied-variable warning with GCC 4.0.1, and also
83467         avoids taking the address of a local variable.  All callers
83468         changed.
83469
83470 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83471
83472         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
83473         $LIBCSRC/posix/regexec.c.
83474         Add glibc bug 1217 for regcomp.c.
83475
83476 2005-08-19  Jim Meyering  <jim@meyering.net>
83477
83478         * lib/regexec.c (proceed_next_node): Redo local variables to
83479         avoid GCC shadowing warnings.
83480
83481 2005-08-18  Bruno Haible  <bruno@clisp.org>
83482
83483         * lib/strstr.c (strstr): Fix return value in multibyte case.
83484         * lib/strcasestr.c (strcasestr): Likewise.
83485
83486 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83487
83488         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
83489
83490 2005-08-17  Jim Meyering  <jim@meyering.net>
83491
83492         Make the %s format (seconds since the epoch) work for a negative
83493         number and when used with a zero-padded field width, e.g. %015s.
83494
83495         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
83496         label so that it precedes the code to set `digits'.  Otherwise,
83497         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
83498         print `00-22'.  Now, it prints `-0022', as it should.
83499
83500 2005-08-17  Bruno Haible  <bruno@clisp.org>
83501
83502         * modules/strstr (Files): Add m4/mbrtowc.m4.
83503         (Depends-on): Add mbuiter.
83504
83505 2005-08-17  Bruno Haible  <bruno@clisp.org>
83506
83507         * modules/strcasestr: New file.
83508         * MODULES.html.sh (String handling, based on ANSI C 89): Add
83509         strcasestr.
83510
83511 2005-08-17  Bruno Haible  <bruno@clisp.org>
83512
83513         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
83514
83515 2005-08-17  Bruno Haible  <bruno@clisp.org>
83516
83517         * modules/mbuiter: New file.
83518         * MODULES.html.sh (Extended multibyte and wide character utilities):
83519         Add mbuiter.
83520
83521 2005-08-17  Bruno Haible  <bruno@clisp.org>
83522
83523         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
83524         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
83525
83526 2005-08-17  Bruno Haible  <bruno@clisp.org>
83527
83528         * m4/strcasestr.m4: New file.
83529
83530 2005-08-17  Bruno Haible  <bruno@clisp.org>
83531
83532         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
83533         * lib/strstr.c: Completely rewritten, with multibyte locale support.
83534
83535 2005-08-17  Bruno Haible  <bruno@clisp.org>
83536
83537         * lib/strcasestr.h: New file.
83538         * lib/strcasestr.c: New file.
83539
83540 2005-08-17  Bruno Haible  <bruno@clisp.org>
83541
83542         * lib/strcasecmp.c: Use mbuiter.h.
83543
83544 2005-08-17  Bruno Haible  <bruno@clisp.org>
83545
83546         * lib/mbuiter.h: New file.
83547
83548 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
83549
83550         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
83551         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
83552         and gl_GETOPT are both invoked via different paths (as happens
83553         with GNU tar CVS because it uses both argp and getopt), the former
83554         wins.
83555
83556 2005-08-16  Bruno Haible  <bruno@clisp.org>
83557
83558         * modules/tls: New file.
83559         * MODULES.html.sh (Multithreading): Add tls.
83560
83561 2005-08-16  Bruno Haible  <bruno@clisp.org>
83562
83563         * modules/strnlen1: New file.
83564         * MODULES.html.sh (String handling): Add strnlen1.
83565
83566 2005-08-16  Bruno Haible  <bruno@clisp.org>
83567
83568         * modules/strcase (Files): Add m4/mbrtowc.m4.
83569         (Depends-on): Add strnlen1, mbchar.
83570
83571 2005-08-16  Bruno Haible  <bruno@clisp.org>
83572
83573         * modules/mbiter: New file.
83574         * MODULES.html.sh (Extended multibyte and wide character utilities):
83575         Add mbiter.
83576
83577 2005-08-16  Bruno Haible  <bruno@clisp.org>
83578
83579         * modules/mbfile: New file.
83580         * MODULES.html.sh (Extended multibyte and wide character utilities):
83581         Add mbfile.
83582
83583 2005-08-16  Bruno Haible  <bruno@clisp.org>
83584
83585         * modules/mbchar: New file.
83586         * MODULES.html.sh (Extended multibyte and wide character utilities):
83587         New section.
83588
83589 2005-08-16  Bruno Haible  <bruno@clisp.org>
83590
83591         * m4/tls.m4: New file, from GNU gettext.
83592
83593 2005-08-16  Bruno Haible  <bruno@clisp.org>
83594
83595         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
83596         always.
83597         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
83598
83599 2005-08-16  Bruno Haible  <bruno@clisp.org>
83600
83601         * m4/mbiter.m4: New file.
83602
83603 2005-08-16  Bruno Haible  <bruno@clisp.org>
83604
83605         * m4/mbfile.m4: New file.
83606
83607 2005-08-16  Bruno Haible  <bruno@clisp.org>
83608
83609         * m4/mbchar.m4: New file.
83610
83611 2005-08-16  Bruno Haible  <bruno@clisp.org>
83612
83613         * lib/tls.h: New file, from GNU gettext.
83614         * lib/tls.c: New file, from GNU gettext.
83615
83616 2005-08-16  Bruno Haible  <bruno@clisp.org>
83617
83618         * lib/strnlen1.h: New file.
83619         * lib/strnlen1.c: New file.
83620
83621 2005-08-16  Bruno Haible  <bruno@clisp.org>
83622
83623         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
83624         (mbi_init): Update.
83625         (mbi_avail, mbi_advance): Let the iteration end before the terminating
83626         NUL byte, not after it.
83627
83628 2005-08-16  Bruno Haible  <bruno@clisp.org>
83629
83630         * lib/strcase.h (strcasecmp): Add note in comments.
83631         * lib/strncasecmp.c: Use code from strcasecmp.c.
83632         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
83633         (strcasecmp): Work correctly in multibyte locales.
83634
83635 2005-08-16  Bruno Haible  <bruno@clisp.org>
83636
83637         * lib/mbiter.h: New file.
83638
83639 2005-08-16  Bruno Haible  <bruno@clisp.org>
83640
83641         * lib/mbfile.h: New file.
83642
83643 2005-08-16  Bruno Haible  <bruno@clisp.org>
83644
83645         * lib/mbchar.h: New file.
83646         * lib/mbchar.c: New file.
83647
83648 2005-08-16  Bruno Haible  <bruno@clisp.org>
83649
83650         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
83651         the valid ones. Makes the comparison operations transitive:
83652         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
83653         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
83654
83655 2005-08-15  Simon Josefsson  <jas@extundo.com>
83656
83657         * modules/ssize_t (License): Change to 'unlimited'.
83658
83659         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
83660
83661 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
83662
83663         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
83664         Add comments for each pending glibc patch.
83665
83666 2005-08-15  Bruno Haible  <bruno@clisp.org>
83667
83668         * lib/regex.h (__restrict_arr): Don't define to __restrict if
83669         __cplusplus is defined.
83670
83671 2005-08-14  Jim Meyering  <jim@meyering.net>
83672
83673         Sync from coreutils.
83674
83675         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
83676         Use the hash-table-based cycle-detection code not just when
83677         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
83678         Reported by James Youngman in
83679         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
83680         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
83681         FTS_TIGHT_CYCLE_CHECK.
83682         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
83683         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
83684         once again.
83685         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
83686         * lib/fts.c (fd_safer): Remove decl.
83687         Include fcntl--.h rather than unistd-safer.h
83688         (fts_safe_changedir): Don't call fd_safer; no longer needed
83689         now that we include fcntl--.h.
83690
83691 2005-08-12  Simon Josefsson  <jas@extundo.com>
83692
83693         * modules/getndelim2: Use ssize_t module.
83694         * modules/getnline: Likewise.
83695         * modules/safe-read: Likewise.
83696         * modules/xreadlink: Likewise.
83697
83698         * modules/ssize_t: New file.
83699
83700 2005-08-12  Simon Josefsson  <jas@extundo.com>
83701
83702         * m4/readline.m4: Look for termcap, curses or ncurses if required.
83703
83704 2005-08-12  Simon Josefsson  <jas@extundo.com>
83705
83706         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83707         ssize_t.
83708
83709 2005-08-12  Simon Josefsson  <jas@extundo.com>
83710
83711         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
83712         readline, getdelim and check_version.
83713         (Support for systems lacking ISO C 99: Sizes of integer types):
83714         Add size_max.
83715
83716 2005-08-12  Bruno Haible  <bruno@clisp.org>
83717
83718         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
83719
83720 2005-08-11  Simon Josefsson  <jas@extundo.com>
83721
83722         * modules/readline: New file.
83723
83724         * modules/strnlen (Files): Add strnlen.h.
83725
83726 2005-08-11  Simon Josefsson  <jas@extundo.com>
83727
83728         * m4/readline.m4: New file.
83729
83730 2005-08-11  Simon Josefsson  <jas@extundo.com>
83731
83732         * lib/readline.h, readline.c: New file.
83733
83734 2005-08-11  Simon Josefsson  <jas@extundo.com>
83735
83736         * doc/gnulib.texi (Initial import, Finishing touches): Mention
83737         gl_AVOID.
83738
83739 2005-08-11  Bruno Haible  <bruno@clisp.org>
83740
83741         * lib/strnlen.h (strnlen): Change parameter name to match comment.
83742
83743 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
83744
83745         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
83746
83747 2005-08-10  Simon Josefsson  <jas@extundo.com>
83748
83749         * tests/test-iconvme.c: New file.
83750
83751 2005-08-10  Simon Josefsson  <jas@extundo.com>
83752
83753         * m4/strnlen.m4: New file.
83754
83755         * m4/strndup.m4: Don't check for strnlen declaration, done in
83756         strnlen.m4.
83757
83758 2005-08-10  Simon Josefsson  <jas@extundo.com>
83759
83760         * lib/strndup.c: Use strnlen.h.
83761
83762         * lib/strnlen.h: New file.
83763
83764 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83765
83766         * README: Typos.
83767
83768 2005-08-02  Simon Josefsson  <jas@extundo.com>
83769
83770         * modules/readline: New file.
83771
83772 2005-08-02  Simon Josefsson  <jas@extundo.com>
83773
83774         * modules/getdelim: New file.
83775
83776         * modules/getline: Rewrite, don't use getndelim2.
83777
83778 2005-08-02  Simon Josefsson  <jas@extundo.com>
83779
83780         * m4/getline.m4: Separate out getdelim stuff into separate module.
83781
83782         * m4/getdelim.m4: New file.
83783
83784 2005-08-02  Simon Josefsson  <jas@extundo.com>
83785
83786         * lib/getline.h, getline.c: Rewrite.
83787
83788         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
83789
83790 2005-07-31  Bruno Haible  <bruno@clisp.org>
83791
83792         * lib/lock.h (gl_lock_initializer): New macro.
83793         (gl_lock_define_initialized): Use it.
83794         (gl_rwlock_initializer): New macro.
83795         (gl_rwlock_define_initialized): Use it.
83796         (gl_recursive_lock_initializer): New macro.
83797         (gl_recursive_lock_define_initialized): Use it.
83798
83799 2005-07-30  Karl Berry  <karl@gnu.org>
83800
83801         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
83802         Report from Ben Pfaff, regarding getopt.
83803
83804 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
83805
83806         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
83807         normal way.
83808         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
83809         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
83810         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
83811         (gl_GETOPT): Use the new macros.  Most of the implementation
83812         is moved to the new macros.  This is for programs like Emacs
83813         that don't want all the functionality of gl_GETOPT.
83814
83815 2005-07-26  Bruno Haible  <bruno@clisp.org>
83816
83817         * m4/lock.m4: Update from GNU gettext.
83818
83819 2005-07-26  Bruno Haible  <bruno@clisp.org>
83820
83821         * lib/lock.h: Update from GNU gettext.
83822         * lib/lock.c: Update from GNU gettext.
83823
83824 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
83825
83826         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
83827         obsolescent AC_TRY_RUN.  Include the default includes files, for
83828         'exit'.
83829
83830 2005-07-24  Bruno Haible  <bruno@clisp.org>
83831
83832         * modules/visibility: New file.
83833         * MODULES.html.sh (Misc): Add visibility.
83834
83835 2005-07-24  Bruno Haible  <bruno@clisp.org>
83836
83837         * m4/visibility.m4: New file.
83838
83839 2005-07-24  Bruno Haible  <bruno@clisp.org>
83840
83841         * doc/visibility.texi: New file.
83842
83843 2005-07-22  Bruno Haible  <bruno@clisp.org>
83844
83845         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
83846         $(ALLOCA_H), redundant through BUILT_SOURCES.
83847         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
83848         redundant through BUILT_SOURCES.
83849         * modules/byteswap (Makefile.am): Remove explicit dependency on
83850         $(BYTESWAP_H), redundant through BUILT_SOURCES.
83851         * modules/fnmatch (Makefile.am): Remove explicit dependency on
83852         $(FNMATCH_H), redundant through BUILT_SOURCES.
83853         * modules/getopt (Makefile.am): Remove explicit dependency on
83854         $(GETOPT_H), redundant through BUILT_SOURCES.
83855         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
83856         redundant through BUILT_SOURCES.
83857         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
83858         redundant through BUILT_SOURCES.
83859         * modules/stdbool (Makefile.am): Remove explicit dependency on
83860         $(STDBOOL_H), redundant through BUILT_SOURCES.
83861         * modules/stdint (Makefile.am): Remove explicit dependency on
83862         $(STDINT_H), redundant through BUILT_SOURCES.
83863         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
83864         Remove explicit dependency on $(SYSEXITS_H).
83865         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
83866
83867 2005-07-18  Simon Josefsson  <jas@extundo.com>
83868
83869         * lib/check-version.c (check_version): Accept identical versions too.
83870
83871 2005-07-18  Bruno Haible  <bruno@clisp.org>
83872
83873         * modules/lock: New file.
83874         * MODULES.html.sh (Multithreading): New section.
83875
83876 2005-07-18  Bruno Haible  <bruno@clisp.org>
83877
83878         * m4/lock.m4: New file, from GNU gettext.
83879
83880 2005-07-18  Bruno Haible  <bruno@clisp.org>
83881
83882         * lib/lock.h: New file, from GNU gettext.
83883         * lib/lock.c: New file, from GNU gettext.
83884
83885 2005-07-18  Bruno Haible  <bruno@clisp.org>
83886
83887         * lib/lock.h (gl_once_t): New type.
83888         (gl_once_define, gl_once): New macros.
83889         * lib/lock.c (fresh_once): New variable.
83890         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
83891         functions.
83892
83893 2005-07-16  Simon Josefsson  <jas@extundo.com>
83894
83895         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
83896         workaround, suggested by Bruno.
83897
83898 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83899
83900         * modules/xalloc (Depends-on): Add xalloc-die.
83901         * modules/xvasprintf (Depends-on): Add xalloc-die.
83902
83903 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
83904
83905         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
83906         with a minor change.
83907
83908 2005-07-15  Bruno Haible  <bruno@clisp.org>
83909
83910         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
83911         When using lib/poll.c, define poll as rpl_poll.
83912
83913 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
83914
83915         * modules/argp (Depends-on): Remove unlocked-io.
83916
83917 2005-07-14  Derek Price  <derek@ximbiot.com>
83918
83919         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
83920         for glob symlink bug.
83921
83922 2005-07-14  Bruno Haible  <bruno@clisp.org>
83923
83924         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
83925         Instead, test for *_unlocked function declarations directly.
83926
83927 2005-07-11  Simon Josefsson  <jas@extundo.com>
83928
83929         * modules/size_max: New file.
83930
83931         * modules/xsize: Depend on size_max module for size_max.m4.
83932
83933 2005-07-11  Simon Josefsson  <jas@extundo.com>
83934
83935         * lib/size_max.h: New file.
83936
83937 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
83938
83939         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
83940         copyright symbol and the year.
83941         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
83942         (version_etc_va): Use parameterized copyright notice.
83943         Reword to conform to the current GNU coding standards.
83944
83945 2005-07-11  Karl Berry  <karl@gnu.org>
83946
83947         * doc/gnulib.texi (Quoting): new node.
83948         (Initial import): more info, from Patrice.
83949
83950 2005-07-11  Bruno Haible  <bruno@clisp.org>
83951
83952         * gnulib-tool (func_usage): Document option --avoid.
83953         (Command line options): Handle --avoid.
83954         (func_acceptable): New function.
83955         (func_modules_transitive_closure): Use it.
83956
83957 2005-07-11  Bruno Haible  <bruno@clisp.org>
83958
83959         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
83960         Reported by Jim Meyering.
83961
83962 2005-07-10  Bruno Haible  <bruno@clisp.org>
83963
83964         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
83965         Needed when size_t is smaller than 'unsigned int'.
83966         Reported by Paul Eggert.
83967
83968 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83969
83970         * modules/argp (Depends-on): Add unlocked-io
83971
83972 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83973
83974         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
83975         block of defines.
83976
83977 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
83978
83979         * config/srclist.txt: Comment out regcomp.c, since we have a porting
83980         fix now.
83981
83982 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
83983         and Paul Eggert  <eggert@cs.ucla.edu>
83984
83985         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
83986         in wint_t, not wchar_t.  Remove now-unnecessary cast.
83987
83988 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83989
83990         * modules/regex (Files): Add lib/regex_internal.c,
83991         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
83992         (Depends-on): Add extensions.
83993         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
83994
83995 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
83996
83997         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
83998         pathconf.
83999         * m4/same.m4 (gl_SAME): Likewise.
84000         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
84001
84002         * m4/regex.m4: Adjust to new libc regex implementation.
84003         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
84004         all the .c and .h parts of (the new) regex.
84005         Quote the m4 stuff better.
84006         Check for RE_ICASE bug of old gnulib.
84007         Check for REG_STARTEND of recent libc.
84008         Rename local variables from jm_* to gl_*.
84009         Quote operand of "test -f".
84010         Say "recent enough" version of libc, not "version 2".
84011         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
84012         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
84013         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
84014         Remove check for btowc, isascii.
84015         Require AM_LANGINFO_CODESET.
84016
84017 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84018
84019         * lib/regex.c, regex.h: Sync from libc.
84020         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
84021         * lib/regexec.c:
84022         New files, synced from libc, except that regex_internal.h
84023         currently has a small porting fix.
84024
84025 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
84026
84027         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
84028         regex_internal.c, regexec.c.
84029         Add regex_internal.h too, but as a comment, since the libc version
84030         is currently broken in gnulib mode.
84031
84032 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
84033
84034         Support programs like Emacs that use gnulib but not gettext.
84035         * MODULES.html.sh (Internationalization functions): Add gettext-h.
84036         * modules/gettext-h: New file.
84037         * modules/gettext (Files): Remove lib/gettext.h.
84038         (Depends-on): Add gettext-h.
84039         (Makefile.am): Remove lib_SOURCES.
84040         * modules/argmatch, modules/c-stack, modules/closeout:
84041         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
84042         * modules/execute, modules/file-type, modules/getaddrinfo:
84043         * modules/getopt, modules/human, modules/javacomp:
84044         * modules/javaexec, modules/mkdir-p, modules/obstack:
84045         * modules/openat, modules/pagealign_alloc, modules/pipe:
84046         * modules/quotearg, modules/regex, modules/rpmatch:
84047         * modules/unicodeio, modules/userspec, modules/version-etc:
84048         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
84049         * modules/xsetenv:
84050         Depend on gettext-h, not gettext.
84051
84052 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
84053
84054         * gnulib-tool (func_import): Add support for 'public domain' license.
84055         * modules/alloca, modules/atexit, modules/memmove:
84056         Now public domain, not GPL.
84057         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
84058         * modules/realloc, modules/strerror, modules/strtod:
84059         Now LGPL, not GPL.
84060
84061 2005-07-05  Bruno Haible  <bruno@clisp.org>
84062
84063         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
84064         autoconf CVS. Needed for mingw.
84065
84066 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84067
84068         Remove the dependency of the strftime module on the tzset module.
84069         * modules/strftime (Depends-on): Remove dependency on tzset.
84070
84071 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84072
84073         Remove the dependency of the strftime module on the tzset module.
84074         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
84075         gl_FUNC_TZSET_CLOBBER.
84076
84077 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
84078
84079         Remove the dependency of the strftime module on the tzset module.
84080         * lib/strftime.c (my_strftime)
84081         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
84082         Copy the input structure, to work around some of the bug with
84083         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
84084         Solaris releases, you should also use the tzset module, but we won't
84085         require it as a dependency any more since we don't want LGPLed code
84086         to depend on GPLed code.
84087
84088 2005-07-02  Jim Meyering  <jim@meyering.net>
84089
84090         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
84091         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
84092         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
84093         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
84094
84095 2005-07-02  Jim Meyering  <jim@meyering.net>
84096
84097         * lib/backupfile.c (backup_args): Change a `0' to NULL.
84098
84099 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
84100
84101         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
84102         declares only 'struct timespec;' (!).
84103
84104 2005-07-01  Jim Meyering  <jim@meyering.net>
84105
84106         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
84107         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
84108         * lib/save-cwd.c, tempname.c:
84109         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84110         and don't include <sys/file.h>).
84111
84112 2005-06-29  Jim Meyering  <jim@meyering.net>
84113
84114         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
84115         type name.  Use the variable name instead.
84116         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
84117         Likewise.
84118
84119 2005-06-28  Simon Josefsson  <jas@extundo.com>
84120
84121         * modules/check-version (Files): Add check-version.m4.
84122
84123 2005-06-28  Simon Josefsson  <jas@extundo.com>
84124
84125         * m4/check-version.m4: New file, suggested by Jim Meyering
84126         <jim@meyering.net>.
84127
84128 2005-06-28  Simon Josefsson  <jas@extundo.com>
84129
84130         * lib/check-version.h, lib/check-version.c: New files.
84131
84132 2005-06-28  Simon Josefsson  <jas@extundo.com>
84133
84134         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
84135         collision with global variable.  Better indentation.  Don't
84136         increment buffer pointer beyond buffer end.  Based on comments
84137         from Paul Eggert <eggert@cs.ucla.edu>.
84138
84139         * lib/base64.h: Indent.
84140
84141 2005-06-28  Simon Josefsson  <jas@extundo.com>
84142
84143         * doc/gnulib.texi (Library version handling): New section.
84144
84145 2005-06-28  Jim Meyering  <jim@meyering.net>
84146
84147         * check-module (find_included_lib_files): Hard-code another
84148         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
84149         but modules/fts-lgpl (correctly) does not list those files.
84150
84151         * modules/canonicalize (Files): Add lib/pathmax.h.
84152
84153 2005-06-25  Simon Josefsson  <jas@extundo.com>
84154
84155         * modules/check-version: New file.
84156
84157 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
84158
84159         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
84160         initializer of struct addrinfo, as an indication that we don't
84161         care how many members the structure has.
84162
84163 2005-06-24  Derek Price  <derek@ximbiot.com>
84164         and Bruno Haible  <bruno@clisp.org>
84165
84166         Remove stat module & update lstat.
84167         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
84168         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
84169         * m4/stat.m4: Remove this file.
84170
84171 2005-06-24  Derek Price  <derek@ximbiot.com>
84172         and Bruno Haible  <bruno@clisp.org>
84173
84174         Remove stat module & update lstat.
84175         * lib/stat.c: Remove this file...
84176         (slash_aware_lstat): ...moving this content and its support...
84177         * lib/lstat.c (rpl_lstat): ...into here.
84178         * lib/lstat.h: New file.
84179
84180 2005-06-24  Derek Price  <derek@ximbiot.com>
84181         and Bruno Haible  <bruno@clisp.org>
84182
84183         Remove stat module & update lstat.
84184         * config/srclist.txt (libc sources): Remove stat.
84185
84186 2005-06-24  Derek Price  <derek@ximbiot.com>
84187         and Bruno Haible  <bruno@clisp.org>
84188
84189         Remove stat module & update lstat.
84190         * MODULES.html.sh (stat): Remove.
84191         * MODULES.html: Regenerated.
84192         * modules/lstat (Description): Correct function name.
84193         (Files): Add "lstat.h".
84194         (Depends-on): Remove stat, add xalloc, stat-macros.
84195         * modules/stat: Remove this file.
84196         (Include): Add "lstat.h", remove <sys/stat.h>.
84197
84198 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
84199
84200         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
84201         (ranged_convert): Don't save conversion in a temporary struct.
84202         This causes a warning with GCC 4.0.0, and anyway in the typical
84203         case it's not worth the extra 100 bytes or so of code.
84204         (ranged_convert, __mktime_internal): When calling a function via a
84205         pointer P, use P () rather than (*P) (), as we now assume C89 or
84206         better.
84207
84208 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84209
84210         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
84211         "who -r" failed to give output.  Problem reported by Tim Waugh.
84212
84213         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
84214         (xcalloc): Use it to avoid needless tests.
84215         Problem reported by Jim Meyering.
84216
84217 2005-06-20  Derek Price  <derek@ximbiot.com>
84218
84219         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
84220         unnecessary for Autoconfs > 2.59c.
84221
84222 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84223
84224         * lib/argp.h (__option_is_short): Check upper limit of
84225         __key. Isprint() requires its argument to have the value
84226         of an unsigned char or EOF.
84227
84228 2005-06-16  Jim Meyering  <jim@meyering.net>
84229
84230         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
84231         when either N or S is zero.
84232
84233 2005-06-16  Derek Price  <derek@ximbiot.com>
84234
84235         * m4/bison.m4: Declare YACC & YFLAGS precious.
84236
84237 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
84238
84239         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
84240         multibyte string or pattern, fall back on unibyte matching.
84241         Problem reported by James Youngman.
84242
84243 2005-06-08  Bruno Haible  <bruno@clisp.org>
84244
84245         * modules/csharpcomp: New file.
84246         * MODULES.html.sh (C#): Add csharpcomp.
84247
84248 2005-06-08  Bruno Haible  <bruno@clisp.org>
84249
84250         * m4/csharpcomp.m4: New file, from GNU gettext.
84251
84252 2005-06-08  Bruno Haible  <bruno@clisp.org>
84253
84254         * lib/csharpcomp.h: New file, from GNU gettext.
84255         * lib/csharpcomp.c: New file, from GNU gettext.
84256         * lib/csharpcomp.sh.in: New file, from GNU gettext.
84257
84258 2005-06-08  Bruno Haible  <bruno@clisp.org>
84259
84260         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
84261         warning on mingw.
84262
84263 2005-06-07  Derek Price  <derek@ximbiot.com>
84264
84265         Sync from CVS.
84266         * lib/glob_.h: Indent nested #ifdef.
84267
84268 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84269
84270         Sync from coreutils.
84271         Use "file name" when talking about file names, instead of "filename"
84272         or "path", as per the GNU coding standards.
84273         * lib/mkdir-p.c: Renamed from makepath.c.
84274         (make_dir_parents): Renamed from make_path.  All callers changed.
84275         * lib/mkdir-p.h: Likewise.  All includers changed.
84276         * lib/filenamecat.c: Renamed from path-concat.c.
84277         (file_name_concat): Renamed from path_concat.  All callers changed.
84278         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
84279         * lib/filenamecat.h: Likewise.  All includers changed.
84280         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
84281         in comments or local variable names.
84282         * lib/basename.c: Likewise.
84283         * lib/canonicalize.c, canonicalize.h: Likewise.
84284         * lib/dirname.c, dirname.h: Likewise.
84285         * lib/euidaccess.c: Likewise.
84286         * lib/exclude.c: Likewise
84287         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
84288         * lib/fsusage.c, fsuage.h: Likewise.
84289         * lib/fts.c, fts_.h: Likewise.
84290         * lib/getcwd.c: Likewise.
84291         * lib/getloadavg.c: Likewise.
84292         * lib/mkstemp.c: Likewise.
84293         * lib/mountlist.c, mountlist.h: Likewise.
84294         * lib/openat.c, openat.h: Likewise.
84295         * lib/readlink-stub.c: Likewise.
84296         * lib/readutmp.c, readutmp.h: Likewise.
84297         * lib/rename.c: Likewise.
84298         * lib/rmdir.c: Likewise.
84299         * lib/same.c: Likewise.
84300         * lib/savedir.c: Likewise.
84301         * lib/stripslash.c: Likewise.
84302         * lib/tempname.c: Likewise.
84303         * lib/xreadlink.c: Likewise.
84304         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
84305         All uses changed.
84306         * lib/exclude.h: Likewise.
84307
84308         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
84309         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84310         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
84311         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84312         * lib/pathmax.h: Include <limits.h> unconditionally, since other
84313         files have been getting away with it for years (MORE/BSD 4.3
84314         is extinct now).
84315         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
84316         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
84317
84318         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
84319         Define to 256, not 255, as per modern POSIX.
84320
84321 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84322
84323         Sync from coreutils.
84324         Use "file name" when talking about file names, instead of "filename"
84325         or "path", as per the GNU coding standards.
84326         * MODULES.html.sh: mkdir-p renamed from makepath.
84327         filenamecat renamed from path-concat.
84328         * modules/filenamecat: Renamed from modules/path-concat.
84329         (Files): filenamecat.h and filenamecat.c renamed from
84330         path-concat.h and path-concat.c.
84331         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
84332         (Include): filenamecat.h, not path-concat.h.
84333         * modules/mkdir-p: Renamed from modules/makepath.
84334         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
84335         makepath.c.
84336         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
84337         (Include): mkdir-p.h, not makepath.h.
84338
84339 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
84340
84341         Sync from coreutils.
84342         * m4/mkdir-p.m4: Renamed from makepath.m4.
84343         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
84344         Rename files from makepath.c to mkdir-p.c, and from
84345         makepath.h to mkdir-p.h.
84346         * m4/filenamecat.m4: Renamed from path-concat.m4.
84347         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
84348         Rename files from path-concat.c to filenamecat.c,
84349         and from path-concat.h to filenamecat.h.
84350         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
84351         "file name" in local variables or comments.
84352         * m4/rename.m4: Likewise.
84353
84354 2005-06-01  Bruno Haible  <bruno@clisp.org>
84355
84356         * modules/csharpexec: New file.
84357         * MODULES.html.sh (C#): New section.
84358
84359 2005-06-01  Bruno Haible  <bruno@clisp.org>
84360
84361         * m4/csharp.m4: New file, from GNU gettext.
84362         * m4/csharpexec.m4: New file, from GNU gettext.
84363
84364 2005-06-01  Bruno Haible  <bruno@clisp.org>
84365
84366         * lib/csharpexec.h: New file, from GNU gettext.
84367         * lib/csharpexec.c: New file, from GNU gettext.
84368         * lib/csharpexec.sh.in: New file, from GNU gettext.
84369
84370 2005-05-31  Derek Price  <derek@ximbiot.com>
84371             Paul Eggert  <eggert@cs.ucla.edu>
84372
84373         Sync from cvs.
84374         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84375
84376 2005-05-31  Derek Price  <derek@ximbiot.com>
84377             Paul Eggert  <eggert@cs.ucla.edu>
84378
84379         Sync from cvs.
84380         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
84381
84382 2005-05-29  Derek Price  <derek@ximbiot.com>
84383
84384         * config/srclist.txt (glob_.h, glob.c): Add these files.
84385
84386 2005-05-29  Derek Price  <derek@ximbiot.com>
84387
84388         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
84389         * modules/glob: New file.
84390         * modules/getlogin_r: Add link to POSIX spec in description.
84391
84392 2005-05-29  Derek Price  <derek@ximbiot.com>
84393             Paul Eggert  <eggert@cs.ucla.edu>
84394
84395         * m4/glob.m4: New file.
84396
84397 2005-05-29  Derek Price  <derek@ximbiot.com>
84398             Paul Eggert  <eggert@cs.ucla.edu>
84399
84400         * lib/glob_.h, lib/glob.c: New files.
84401
84402 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84403
84404         * modules/fts (Files): Remove m4/inttypes-pri.m4.
84405         * modules/fts-lgpl (Depends-on): Remove gettext.
84406
84407 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84408
84409         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
84410         and don't require gt_INTTYPES_PRI.
84411
84412 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
84413
84414         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
84415
84416         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
84417         the configuration hassle isn't worth it.
84418         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
84419         (LONGEST_MODIFIER, PRIuMAX): Remove.
84420
84421 2005-05-27  Bruno Haible  <bruno@clisp.org>
84422
84423         * lib/getlogin_r.h: Remove second include of <stddef.h>.
84424
84425 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
84426
84427         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
84428         _POSIX_PTHREAD_SEMANTICS for Solaris.
84429
84430 2005-05-25  Derek Price  <derek@ximbiot.com>
84431
84432         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
84433
84434 2005-05-25  Derek Price  <derek@ximbiot.com>
84435             Paul Eggert  <eggert@cs.ucla.edu>
84436
84437         * modules/getlogin_r, m4/getlogin_r.m4: New files.
84438         * lib/getlogin_r.c, getlogin_r.h: New files.
84439
84440 2005-05-25  Bruno Haible  <bruno@clisp.org>
84441             Derek Price  <derek@ximbiot.com>
84442
84443         * lib/getlogin_r.h: Simplify API documentation.
84444
84445 2005-05-23  Derek Price  <derek@ximbiot.com>
84446
84447         * modules/minmax (Files): Add m4/minmax.m4.
84448         (configure.ac): Add gl_MINMAX.
84449
84450 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
84451
84452         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
84453         so that unistd-safer.h (GPL'ed code) need not be included.
84454
84455 2005-05-22  Bruno Haible  <bruno@clisp.org>
84456
84457         * m4/minmax.m4: New file.
84458         Based on a patch by Derek Price <derek@ximbiot.com>.
84459
84460 2005-05-22  Bruno Haible  <bruno@clisp.org>
84461
84462         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
84463         (INT64_MIN): Fix definition.
84464         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
84465
84466         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
84467         NEED_SIGNED_INT_TYPES.
84468
84469         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
84470         HAVE_SYSTEM_INTTYPES.
84471
84472 2005-05-22  Bruno Haible  <bruno@clisp.org>
84473
84474         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
84475         Also include <sys/param.h> if it defines MIN, MAX.
84476         Based on a patch by Derek Price <derek@ximbiot.com>.
84477
84478 2005-05-21  Jim Meyering  <jim@meyering.net>
84479
84480         * modules/fts (Files): Add m4/inttypes-pri.m4.
84481         (Depends-on): Add lstat and remove gettext.  Alphabetize.
84482
84483 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84484
84485         New fts module.
84486         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
84487         (setup_dir, free_dir): New functions.
84488         (enter_dir, leave_dir): Define trivial
84489         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
84490         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
84491         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
84492         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
84493         Move to fts-cycle.c.
84494         (fts_open): Use setup_dir.
84495         (fts_close): Use free_dir.
84496         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
84497         This adds a label and some gotos, but the alternatives were messier.
84498         Check for memory allocation failure when entering a dir.
84499         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
84500         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
84501         (FTS): New member fts_cycle, that is a union that contains the
84502         old active_dir_ht and cycle_state.  All uses changed to mention
84503         fts_cycle.ht and fts_cycle.state.
84504         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
84505         fts.c, with the following changes:
84506         (setup_dir, free_dir): New functions.
84507         (enter_dir): Now returns bool.  Return true if successful, false
84508         if memory exhausted.  All callers changed.
84509         Do not bother partly cleaning up on
84510         memory allocation failure; that is free_dir's job.
84511         However, free ad if hash_insert fails, to avoid memory leak.
84512         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
84513         fts->fts_options to see which union member to use.
84514
84515 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84516
84517         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
84518         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
84519
84520 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84521
84522         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
84523
84524 2005-05-20  Jim Meyering  <jim@meyering.net>
84525
84526         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
84527         Now a macro, to pacify GCC.
84528
84529 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84530
84531         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
84532         of -1.
84533
84534 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
84535
84536         * lib/chown.c (rpl_chown): Return -1 on failure.
84537
84538 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84539
84540         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
84541         Don't check for stddef.h.
84542         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
84543         don't use its results.
84544         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
84545         since we include them unconditionally.  Don't require
84546         AM_STDBOOL_H, since stdbool is a prerequisite.
84547         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
84548         since we assume C89 or better.
84549         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
84550         as we don't use their results.
84551         Don't check for fchdir, memmove, memset, strrchr, as we use
84552         them unconditionally.
84553         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
84554         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
84555
84556 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
84557
84558         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
84559         Include <stddef.h> unconditionally, since we assume C89 now.
84560         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
84561         * lib/fts.c: Include fts_.h first, to check interface.
84562         Do not include intprops.h; no longer needed.
84563         Include cycle-check.h and hash.h, since fts_.h no longer does.
84564         Remove unnecessary casts of closedir to void.
84565         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
84566         decide whether to decrement nlinks.
84567         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
84568         (FTS): Use struct hash_table * instead of Hash_table, so that
84569         we no longer need to include hash.h here.
84570
84571 2005-05-18  Jim Meyering  <jim@meyering.net>
84572
84573         * modules/dirfd (License): Change to LGPL.  Most of the code
84574         is already in the public domain.
84575
84576 2005-05-18  Jim Meyering  <jim@meyering.net>
84577
84578         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
84579         Reported by Yoann Vandoorselaere.
84580
84581 2005-05-17  Jim Meyering  <jim@meyering.net>
84582
84583         * m4/fts.m4: New file, from coreutils.
84584
84585 2005-05-17  Jim Meyering  <jim@meyering.net>
84586
84587         * lib/fts.c, lib/fts_.h: New files, from coreutils.
84588
84589 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84590
84591         Sync from coreutils.
84592         * m4/unlinkdir.m4: New file.
84593
84594 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84595
84596         Sync from coreutils.
84597         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
84598         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
84599         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
84600         White space changes only.
84601         * lib/makepath.c (make_path): Port to hosts where leading "//" is
84602         special.
84603         * lib/yesno.c: Include getline.h, not ctype.h.
84604         (yesno): Don't remove leading white space; POSIX doesn't allow it.
84605         Use getline to remove arbitrary restriction on response length.
84606
84607 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
84608
84609         * config/srclist-update: Spell out "Street" in FSF postal
84610         mail address; this is the style the FSF seems to prefer.
84611
84612         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
84613         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
84614         this updates FSF postal mail address.
84615
84616         Sync from coreutils.
84617         * modules/unlinkdir: New file.
84618         * modules/yesno (Depends-on): Add getline.
84619         * MODULES.html.sh (File system functions): Add unlinkdir.
84620
84621 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84622
84623         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
84624         lib/strsep.h:
84625         Change the initial comment to refer to GPL, not LGPL.
84626         gnulib-tool will change it to LGPL as needed.
84627
84628         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
84629         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
84630         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
84631         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
84632         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
84633         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
84634         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
84635         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
84636         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
84637         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
84638         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
84639         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
84640         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
84641         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
84642         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
84643         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
84644         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
84645         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
84646         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
84647         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
84648         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
84649         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
84650         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
84651         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
84652         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
84653         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
84654         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
84655         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
84656         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
84657         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
84658         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
84659         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
84660         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
84661         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
84662         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
84663         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
84664         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
84665         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
84666         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
84667         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
84668         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
84669         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
84670         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
84671         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
84672         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
84673         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
84674         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
84675         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
84676         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
84677         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
84678         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
84679         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
84680         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
84681         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
84682         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
84683         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
84684         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
84685         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
84686         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
84687         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
84688         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
84689         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
84690         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
84691         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
84692         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
84693         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
84694         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
84695         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
84696         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
84697         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
84698         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
84699         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
84700         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
84701         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
84702         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
84703         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
84704         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
84705         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
84706         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
84707         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
84708         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
84709         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
84710         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
84711         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
84712         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
84713         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
84714         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
84715         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
84716         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
84717         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
84718         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
84719         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
84720         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
84721         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
84722         lib/yesno.c, lib/yesno.h:
84723         Update FSF postal mail address.
84724
84725 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84726
84727         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
84728         tests/test-memmem.c, tests/test-stpncpy.c:
84729         Update FSF postal mail address.
84730
84731 2005-05-13  Bruno Haible  <bruno@clisp.org>
84732
84733         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
84734         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
84735         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
84736         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
84737         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
84738         Add support for 64-bit integers in the MSVC compiler.
84739
84740 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
84741
84742         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
84743
84744 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
84745
84746         * gnulib-tool (func_import): Sort and uniquify recommended includes.
84747
84748 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
84749
84750         * doc/getdate.texi (General date syntax): Don't say that date
84751         date --iso-8601=ns generates acceptable dates; it doesn't yet.
84752         Problem reported by Nic Ferrier.
84753
84754 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84755
84756         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
84757         specified in ai_socktype. Fix invalid ai_protocol
84758         check. ai_protocol is usually set to 0 or depending on
84759         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
84760         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
84761         ai_socktype / ai_protocol in the returned addrinfo structure.
84762
84763 2005-05-10  Simon Josefsson  <jas@extundo.com>
84764
84765         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
84766         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84767
84768 2005-05-10  Karl Berry  <karl@gnu.org>
84769
84770         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
84771         (from http://www.gnu.org/licenses).
84772         * doc/COPYING.LIB: also rename to COPYING.LESSER.
84773         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
84774         fdl.texi suffices.
84775
84776 2005-05-10  Karl Berry  <karl@gnu.org>
84777
84778         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
84779         (COPYING.DOC): remove.
84780
84781         * config/srclist-update: new FSF address.
84782
84783 2005-05-10  Derek Price  <derek@ximbiot.com>
84784
84785         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
84786         possible.
84787
84788 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84789             Bruno Haible  <bruno@clisp.org>
84790
84791         * modules/inet_ntop: New file.
84792         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84793         inet_ntop.
84794
84795 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84796             Bruno Haible  <bruno@clisp.org>
84797
84798         * m4/inet_ntop.m4: New file.
84799
84800 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
84801             Bruno Haible  <bruno@clisp.org>
84802
84803         * lib/inet_ntop.h: New file.
84804         * lib/inet_ntop.c: New file, from glibc with modifications.
84805
84806 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
84807
84808         * modules/time_r (License): Change to LGPL.
84809         * modules/extensions (License): Change to LGPL.  Actually,
84810         the license is more permissive than that, but currently gnulib-tool
84811         doesn't know how to handle more-permissive licenses.
84812
84813         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
84814         Problem reported by Dave Love.
84815
84816 2005-05-08  Jim Meyering  <jim@meyering.net>
84817
84818         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
84819         blank.
84820
84821 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84822
84823         * modules/argmatch (Depends-on): Add stdbool.
84824         * modules/backupfile (Depends-on): Likewise.
84825         * modules/chdir-long (Depends-on): Likewise.
84826         * modules/closeout (Depends-on): Likewise.
84827         * modules/cycle-check (Depends-on): Likewise.
84828         * modules/dirname (Depends-on): Likewise.
84829         * modules/fnmatch (Depends-on): Likewise.
84830         * modules/fsusage (Depends-on): Likewise.
84831         * modules/fwriteerror (Depends-on): Likewise.
84832         * modules/getcwd (Depends-on): Likewise.
84833         * modules/getloadavg (Depends-on): Likewise.
84834         * modules/hard-locale (Depends-on): Likewise.
84835         * modules/makepath (Depends-on): Likewise.
84836         * modules/mountlist (Depends-on): Likewise.
84837         * modules/nanosleep (Depends-on): Likewise.
84838         * modules/posixtm (Depends-on): Likewise.
84839         * modules/quotearg (Depends-on): Likewise.
84840         * modules/readtokens (Depends-on): Likewise.
84841         * modules/readtokens0 (Depends-on): Likewise.
84842         * modules/readutmp (Depends-on): Likewise.
84843         * modules/save-cwd (Depends-on): Likewise.
84844         * modules/strftime (Depends-on): Likewise.
84845         * modules/userspec (Depends-on): Likewise.
84846         * modules/utimecmp (Depends-on): Likewise.
84847         * modules/xgetcwd (Depends-on): Likewise.
84848         * modules/xnanosleep (Depends-on): Likewise.
84849         * modules/xstrtod (Depends-on): Likewise.
84850         * modules/yesno (Depends-on): Likewise.
84851
84852 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
84853
84854         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
84855         needless checks.
84856
84857 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84858
84859         Merge from coreutils.  Among other things,
84860         add bulletproofing for cases where stdin, stdout, or stderr are closed.
84861         * lib/fd-safer.c: New file.
84862         * lib/fcntl-safer.h, open-safer.c: Remove.
84863         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
84864         * lib/dup-safer.c: Include unistd-safer.h first.
84865         Don't include errno.h.
84866         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
84867         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
84868         * lib/file-type.c: Rely on file-type.h change.
84869         * lib/getloadavg.c: Include unistd-safer.h.
84870         (getloadavg): Use safer open.
84871         * lib/getusershell.c: Include "stdio-safer.h".
84872         (getusershell): Use safer fopen.
84873         * lib/long-options.c (long_options): Use NULL rather than 0.
84874         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
84875         'free'.
84876         * lib/modechange.c: Likewise.
84877         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
84878         (MODE_DONE): New constant.
84879         (struct mode_change): Remove 'next' member.
84880         (make_node_op_equals): New function; like the old one of the
84881         same name, except it allocates an array.
84882         (mode_compile, mode_create_from_ref): Use it.
84883         (mode_compile): Allocate result as an array, not a linked list.
84884         Parse octal string ourself, so that we catch mistakes like "+0".
84885         (mode_adjust): Arg is an array, not a linked list.
84886         * lib/modechange.c: Include stat-macros.h, xalloc.h.
84887         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
84888         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
84889         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
84890         Remove.  This is now stat-macros.h's job.
84891         (talloc): Remove.  All callers replaced by xalloc, so that
84892         our invokers don't have to worry about reporting memory failures.
84893         (make_node_op_equals): Remove.
84894         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84895         New constants.
84896         (struct mode_change): Moved here from modechange.h.
84897         (mode_append_entry): Remove.
84898         (mode_compile): Remove MASKED_OPS arg, since it encouraged
84899         apps to have incorrect behavior.  Use simpler algorithm for head
84900         and tail.  Don't futz with umask; that's now the job of mode_adjust.
84901         Detect more invalid usages rather than having somewhat-random behavior.
84902         Don't insert an "a=" action, as that leads to incorrect behavior.
84903         (mode_compile, mode_create_from_ref): Return NULL on error instead
84904         of an enum, since now there's only one way to have an error.  All
84905         callers changed.
84906         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
84907         at the correct time.  Simplify calculation of "+u" and its ilk.
84908         Don't mishandle "+X".
84909         (mode_free): Remove "register" and localize decls.
84910         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
84911         (struct mode_change): Move to modechange.c; callers don't
84912         need to see this stuff.
84913         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
84914         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
84915         (mode_change, mode_adjust): Reflect the new signatures noted above.
84916         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
84917         that might redefine system include files.
84918         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
84919         (my_usleep): Use NULL rather than (void *) 0.
84920         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
84921         Use siginterrupt to specify that system calls should be interrupted.
84922         (rpl_nanosleep): Move initialization of suspended closer to call of
84923         my_usleep.
84924         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
84925         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
84926         (desirable_utmp_entry): New function.
84927         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
84928         using x2nrealloc, to simplify logic.
84929         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
84930         size calculation.  Do not assume utmp file is a regular file.
84931         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
84932         (READ_UTMP_CHECK_PIDS): New constant.
84933         * lib/save-cwd.c: Include unistd-safer.h.
84934         (save_cwd): Use fd_safer.
84935         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
84936         [!_LIBC] Include "stat-macros.h" instead.
84937         * lib/unistd-safer.h (fd_safer): New decl.
84938
84939 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84940
84941         * modules/getloadavg (Depends-on): Add unistd-safer.
84942         * modules/getusershell (Depends-on): Add stdio-safer.
84943         * modules/lstat (Depends-on): Remove xalloc.
84944         * modules/mkstemp (Depends-on): Add stat-macros.
84945         * modules/modechange (Depends-on): Remove xstrtol.
84946         Add stat-macros, xalloc.
84947         * modules/save-cwd (Depends-on): Add unistd-safer.
84948         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
84949         * modules/unistd-safer (Files): Add lib/fd-safer.c
84950         (Makefile.am): Remove lib_SOURCES.
84951
84952         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
84953         Remove fcntl-safer; unistd-safer supersedes it.
84954
84955 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84956
84957         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
84958         AC_HEADER_STAT.
84959         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
84960         (gl_PREREQ_CHOWN): Remove.
84961         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
84962         it.  Don't require AC_HEADER_STAT.
84963         (gl_PREREQ_LSTAT): Remove.
84964         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
84965         Don't require AC_HEADER_STAT.
84966         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
84967         (gl_PREREQ_RMDIR): Remove.
84968         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
84969         mention stat-macros.h or AC_HEADER_STAT, since we'll make
84970         the stat-macros module a prerequisite.
84971         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
84972         * m4/filemode.m4 (gl_FILEMODE): Likewise.
84973         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
84974         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
84975         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
84976         variable names.
84977         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
84978         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
84979         variable prefixes.
84980         * m4/fcntl-safer.m4: Remove.
84981         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
84982         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
84983         Invoke gl_PREREQ_FD_SAFER.
84984         (gl_PREREQ_FD_SAFER): New macro.
84985         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
84986         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
84987         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
84988         Remove duplicate call to AC_LIBOBJ(readutmp).
84989         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
84990
84991         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
84992         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
84993
84994 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
84995
84996         * MODULES.html.sh (Misc): Add byteswap.
84997
84998 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
84999
85000         * modules/getcwd (Depends-on): Add extensions.
85001         * modules/openat (Depends-on): Likewise.
85002
85003 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85004
85005         * modules/byteswap: New file.
85006
85007 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85008
85009         * m4/byteswap.m4: New file.
85010
85011 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
85012
85013         * lib/byteswap_.h: New file.
85014
85015 2005-04-25  Karl Berry  <karl@gnu.org>
85016
85017         * m4/gettext.m4: Update from GNU gettext 0.14.4.
85018
85019 2005-04-25  Albert Chin  <china@thewrittenword.com>
85020
85021         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
85022         Toolkit C bug.
85023
85024 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
85025
85026         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
85027         (func_ln_if_changed): Remove forcibly for no error message
85028         in case file does not exist.
85029
85030 2005-04-19  Simon Josefsson  <jas@extundo.com>
85031
85032         * gnulib-tool (Options): Make --symlink mean --symbolic.
85033
85034 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
85035
85036         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
85037
85038 2005-04-16  Simon Josefsson  <jas@extundo.com>
85039
85040         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
85041
85042 2005-04-15  Simon Josefsson  <jas@extundo.com>
85043
85044         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
85045
85046 2005-04-15  Simon Josefsson  <jas@extundo.com>
85047
85048         * gnulib-tool: Rename --symlink to --symbolic.
85049
85050 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
85051
85052         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
85053         symbolic links to files instead of copying/moving.  Add --aux-dir,
85054         specifying directory relative --dir where auxiliary build tools
85055         are placed.
85056
85057 2005-04-14  Bruno Haible  <bruno@clisp.org>
85058
85059         * modules/allocsa (License): Change to LGPL.
85060         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
85061
85062 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
85063
85064         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
85065         that "UTC +1 second" continues to work.  Problem reported
85066         by Dmitry V. Levin.
85067         (relunit_snumber): New rule.
85068         (relunit): Use it.
85069
85070 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
85071
85072         * lib/getdate.y (universal_time_zone_table): New constant.
85073         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
85074         universal_time_zone_table.
85075         (lookup_zone): Prefer universal_time_zone_table to
85076         local_time_zone_table, so that "GMT" time stamps are allowed in
85077         London during the summer.  Problem reported by Ian Abbott.
85078
85079 2005-04-12  Jim Meyering  <jim@meyering.net>
85080
85081         * lib/human.c (humblock): Set *options even when returning due to
85082         xstrtoumax conversion failure.  Thanks to a used-uninitialized
85083         warning from gcc-4.
85084
85085 2005-04-09  Jim Meyering  <jim@meyering.net>
85086
85087         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
85088         -Wuninitialized: initialize tm0.tm_year.
85089
85090 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
85091
85092         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
85093         count, since there's no maximum.  All uses changed.
85094         Add member dsts_seen.
85095         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
85096         not being INT_MAX.
85097         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
85098         Use pc_rels_seen to decide whether a date is absolute.
85099
85100         * lib/getdate.y (number): Don't overwrite year.
85101         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
85102         check.
85103
85104 2005-04-02  Simon Josefsson  <jas@extundo.com>
85105
85106         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
85107         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
85108
85109 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
85110
85111         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
85112         where no absolute path name can be longer than PATH_MAX.
85113
85114 2005-03-27  Jim Meyering  <jim@meyering.net>
85115
85116         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
85117
85118 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
85119
85120         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
85121         "one's complement" -> "ones' complement" in comment, as per Knuth.
85122         "value of type" -> "type or expression" in comment.
85123         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
85124
85125 2005-03-26  Jim Meyering  <jim@meyering.net>
85126
85127         Comment nits.
85128         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
85129         Correct typos: s/or/of/.
85130
85131 2005-03-26  Jim Meyering  <jim@meyering.net>
85132
85133         * modules/check-include-files: Move to ../ and rename to...
85134         * check-module: ...this.
85135
85136 2005-03-25  Jim Meyering  <jim@meyering.net>
85137
85138         * modules/xvasprintf (Files): Add xalloc.h.
85139
85140 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
85141
85142         * modules/gettext (Files): config/config.rpath ->
85143         build-aux/config.rpath
85144         * modules/iconv (Files): Likewise.
85145         Problem reported by Oskar Liljeblad.
85146
85147 2005-03-23  Jim Meyering  <jim@meyering.net>
85148
85149         * modules/check-include-files: New script to check for
85150         missing dependencies, multiple includes, etc.
85151
85152         * modules/c-strtold (Depends-on): Add xalloc.
85153         * modules/c-strtod (Depends-on): Add xalloc.
85154         * modules/hash (Depends-on): Add xalloc.
85155         (Files): Remove lib/xalloc.h.
85156
85157         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
85158         * modules/userspec (Files): Add lib/inttostr.h.
85159
85160 2005-03-23  Jim Meyering  <jim@meyering.net>
85161
85162         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
85163
85164 2005-03-22  Jim Meyering  <jim@meyering.net>
85165
85166         * modules/stat-macros: New module.
85167         * modules/canonicalize, modules/euidaccess, modules/file-type,
85168         * modules/filemode, modules/lchown, modules/makepath,
85169         * modules/rmdir, modules/stat: Depend on new stat-macros module
85170         rather than listing lib/stat-macros.h manually.
85171         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
85172
85173 2005-03-22  Jim Meyering  <jim@meyering.net>
85174
85175         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
85176
85177 2005-03-22  Bruno Haible  <bruno@clisp.org>
85178
85179         * config/srclist.txt: Replace target directory 'config' with
85180         'build-aux'.
85181         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
85182         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
85183         ../build-aux/.
85184
85185 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
85186
85187         * modules/chdir-long (Depends-on): Add mempcpy.
85188
85189         * modules/acl, modules/backupfile, modules/c-strtod,
85190         modules/c-strtold, modules/canon-host, modules/canonicalize,
85191         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
85192         modules/exclude, modules/exitfail, modules/file-type,
85193         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
85194         modules/getdate, modules/getline, modules/getpagesize,
85195         modules/getpass, modules/getugroups, modules/group-member,
85196         modules/hard-locale, modules/hash, modules/human, modules/idcache,
85197         modules/inttostr, modules/long-options, modules/makepath,
85198         modules/md5, modules/memcasecmp, modules/memcoll,
85199         modules/modechange, modules/mountlist, modules/path-concat,
85200         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
85201         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
85202         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
85203         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
85204         modules/strftime, modules/strndup, modules/strverscmp,
85205         modules/timespec, modules/unlocked-io, modules/userspec,
85206         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
85207         modules/yesno:
85208         Remove lib_SOURCES line from Makefile.am section, as this is now
85209         done automatically by the corresponding Autoconf macro.
85210
85211 2005-03-21  Jim Meyering  <jim@meyering.net>
85212
85213         Changes imported from coreutils.
85214
85215         * lib/cycle-check.c: Don't include xalloc.h.
85216
85217         * lib/path-concat.c: Don't include assert.h.
85218         (path_concat): Remove assertion that would have triggered
85219         for ABASE starting with more than one slash.
85220         Reported by Andreas Schwab.
85221
85222         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
85223         properly when ABASE is an absolute file name.
85224         Correct the description of this function.
85225         Include <assert.h>.
85226         Add an assertion and a test driver.
85227         This fixes a bug introduced on 2004-07-02.
85228         Andreas Schwab reported the resulting failure of cp --parents:
85229         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
85230
85231 2005-03-21  Jim Meyering  <jim@meyering.net>
85232
85233         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
85234         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
85235
85236 2005-03-21  Jim Meyering  <jim@meyering.net>
85237         and  Paul Eggert  <eggert@cs.ucla.edu>
85238
85239         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
85240         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
85241         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
85242         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
85243         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
85244         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
85245         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
85246         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
85247         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
85248         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
85249         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
85250         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
85251         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
85252         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
85253         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
85254         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
85255         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
85256         for these modules.
85257
85258 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
85259
85260         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
85261         (which shouldn't happen), generate nothing instead of returning 0
85262         immediately, so that nstrftime (NULL, ...) doesn't return 0.
85263
85264 2005-03-16  Bruno Haible  <bruno@clisp.org>
85265
85266         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
85267         HAVE_LONGLONG_64BIT.
85268
85269 2005-03-16  Bruno Haible  <bruno@clisp.org>
85270
85271         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
85272         HAVE_LONGLONG_64BIT.
85273
85274 2005-03-16  Bruno Haible  <bruno@clisp.org>
85275
85276         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
85277         HAVE_LONGLONG_64BIT.
85278
85279 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85280
85281         * lib/strftime.c (my_strftime): Prepend space to format so that we can
85282         reliably distinguish strftime failure from empty output on POSIX
85283         hosts.
85284
85285 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
85286
85287         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
85288         (iconv_string): Don't guess a size-zero buffer, as that might cause
85289         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
85290         result would be 'too large', where 'too large' is (heuristically)
85291         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
85292         overflow concerns.  This will prevent some unwanted malloc failures
85293         when the inputs are very large.
85294
85295 2005-03-15  Karl Berry  <karl@gnu.org>
85296
85297         * config/srclist.txt (config.rpath): from gettext.
85298         * config/config.rpath: update.
85299
85300 2005-03-15  Bruno Haible  <bruno@clisp.org>
85301
85302         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
85303         to 'negate'.
85304
85305         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
85306         variable.
85307
85308         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
85309         results.
85310
85311 2005-03-14  Simon Josefsson  <jas@extundo.com>
85312
85313         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
85314         <fx@gnu.org>.
85315
85316 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
85317
85318         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
85319         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
85320         intprops.h.
85321         * lib/strtol.c: Likewise.
85322
85323 2005-03-14  Jim Meyering  <jim@meyering.net>
85324
85325         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
85326         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
85327         to be nonzero so that we (and caller) can detect the difference
85328         between a valid zero-length expansion and an error return, even
85329         when the underlying strftime fails before writing anything into
85330         that location.
85331
85332 2005-03-14  Bruno Haible  <bruno@clisp.org>
85333
85334         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
85335         Update from GNU gettext 0.14.3.
85336
85337 2005-03-10  Jim Meyering  <jim@meyering.net>
85338
85339         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
85340
85341 2005-03-10  Jim Meyering  <jim@meyering.net>
85342
85343         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
85344         so that this module works on systems without fchdir.
85345
85346 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
85347
85348         Factor int-properties macros into a single file, except for
85349         glibc-related files.
85350         * lib/intprops.h: New file.
85351         * lib/getloadavg.c: Include it instead of limits.h.
85352         (INT_STRLEN_BOUND): Remove.
85353         * lib/human.c: Include intprops.h.
85354         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
85355         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
85356         302/1000.
85357         * lib/inttostr.h: Include intprops.h instead of limits.h.
85358         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
85359         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
85360         for consistency with intprops.h.
85361         (time_t_is_integer, twos_complement_arithmetic): Use them.
85362         * lib/sig2str.h: Include <signal.h>, intprops.h.
85363         (INT_STRLEN_BOUND): Remove.
85364         * lib/strftime.c (TYPE_SIGNED): Remove.
85365         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
85366         * lib/strtol.c: Adjust comments to match intprops.h.
85367         * lib/userspec.c: Include intprops.h.
85368         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
85369         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
85370         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
85371         instead of rolling our own expressions.
85372         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
85373
85374         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
85375         instead of int.
85376         (my_strftime): Do not mishandle years close to INT_MAX, by doing
85377         the right thing even if adding 1900 would overflow.  Similarly
85378         for tm_mon + 1 and tm_yday + 1.
85379         Make %Y always equivalent to %C%y, and similarly for %G and %g.
85380         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
85381         (DO_SIGNED_NUMBER): New macro.
85382         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
85383
85384 2005-03-07  Bruno Haible  <bruno@clisp.org>
85385
85386         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
85387
85388 2005-03-07  Bruno Haible  <bruno@clisp.org>
85389
85390         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
85391
85392 2005-03-04  Derek R. Price  <derek@ximbiot.com>
85393
85394         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
85395         (func_import): Only replace files via --import when they have actually
85396         changed.
85397
85398 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85399
85400         * m4/mmap-anon.m4: New file.
85401         * m4/pagealign_alloc.m4: New file.
85402
85403 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85404             Bruno Haible  <bruno@clisp.org>
85405
85406         * modules/pagealign_alloc: New file.
85407         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
85408
85409 2005-03-03  Derek R. Price  <derek@ximbiot.com>
85410             Bruno Haible  <bruno@clisp.org>
85411
85412         * lib/pagealign_alloc.h: New file.
85413         * lib/pagealign_alloc.c: New file.
85414
85415 2005-03-03  Bruno Haible  <bruno@clisp.org>
85416
85417         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
85418         Use an all-permissive copyright notice, recommended by RMS.
85419
85420 2005-03-02  Bruno Haible  <bruno@clisp.org>
85421
85422         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
85423         of AIX, the replacement has to be done only after <string.h> is
85424         included, therefore not in config.h. stpncpy.h does the replacement,
85425         and stpncpy.c uses it.
85426
85427 2005-03-02  Bruno Haible  <bruno@clisp.org>
85428
85429         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
85430         stpncpy.c uses it.
85431
85432 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85433
85434         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
85435         The workaround isn't strictly needed for POSIX conformance, and
85436         it's too much of a pain to configure and maintain.  We'll ask
85437         people to fix their kernels instead.
85438         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
85439         (NANOSLEEP_BUG_WORKAROUND): Remove.
85440         (xnanosleep): Remove the workaround.
85441
85442 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85443
85444         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
85445         Reported by Derek Price.
85446         (Include): Add "timespec.h".
85447
85448         * modules/xnanosleep (Depends-on): Remove gethrxtime.
85449
85450 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
85451
85452         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
85453         to detect nanosleep bug.
85454
85455 2005-03-01  Bruno Haible  <bruno@clisp.org>
85456
85457         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
85458
85459 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
85460
85461         * modules/gethrxtime: New file.
85462         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
85463         (Depends-on): Add gethrxtime.
85464         (configure.ac): Add gl_XNANOSLEEP.
85465         (Makefile.am): Remove lib_SOURCES line.
85466
85467 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85468
85469         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
85470         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
85471
85472 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
85473
85474         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
85475         * lib/timespec.h (gettime): Return void, since it always
85476         succeeds now.  All uses changed.
85477         * lib/gettime.c (gettime): Likewise.
85478         [HAVE_NANOTIME]: Prefer nanotime.
85479         Assume gettimeofday succeeds, as POSIX requires.
85480         Assime time () succeeds, since other code already does.
85481         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
85482         (timespec_subtract): Remove.
85483         (NANOSLEEP_BUG_WORKAROUND): New constant.
85484         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
85485         things considerably.  Use it only on GNU/Linux hosts, since the
85486         workaround shouldn't be needed elsewhere.
85487
85488 2005-02-24  Bruno Haible  <bruno@clisp.org>
85489
85490         * modules/gettext (Files): Add m4/glibc2.m4.
85491
85492 2005-02-24  Bruno Haible  <bruno@clisp.org>
85493
85494         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
85495         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
85496         * m4/progtest.m4:
85497         Update from GNU gettext 0.14.2.
85498         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
85499
85500 2005-02-24  Bruno Haible  <bruno@clisp.org>
85501
85502         * lib/localcharset.c: Update from GNU gettext 0.14.2.
85503         * lib/config.charset: Update from GNU gettext 0.14.2.
85504
85505 2005-02-24  Bruno Haible  <bruno@clisp.org>
85506
85507         * lib/gettext.h: Update from GNU gettext 0.14.2.
85508
85509 2005-02-23  Simon Josefsson  <jas@extundo.com>
85510
85511         * m4/iconvme.m4: New file.
85512
85513 2005-02-23  Jim Meyering  <jim@meyering.net>
85514
85515         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
85516         change.
85517         Thanks to Bruno Haible for catching it.
85518
85519 2005-02-22  Simon Josefsson  <jas@extundo.com>
85520
85521         * modules/iconvme: New file.
85522
85523         * MODULES.html.sh: Add iconvme.
85524
85525 2005-02-22  Simon Josefsson  <jas@extundo.com>
85526
85527         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
85528
85529 2005-02-22  Simon Josefsson  <jas@extundo.com>
85530
85531         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
85532
85533 2005-02-22  Jim Meyering  <jim@meyering.net>
85534
85535         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
85536         s/ifndef/ifdef/.
85537
85538 2005-02-20  Neil Conway  <neilc@samurai.com>
85539
85540         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
85541         returned by OSX/Darwin if the specified buffer is not large
85542         enough for the hostname.
85543
85544 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85545
85546         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
85547         pass it to _help, otherwise the latter coredumps trying to
85548         dereference state.root_argp.
85549
85550 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85551
85552         * modules/chdir-long (Depends-on): Add memrchr.
85553         * modules/memrchr (Files): Add lib/memrchr.h.
85554         (Include): "memrchr.h".
85555
85556 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85557
85558         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
85559
85560 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
85561
85562         * lib/memrchr.h: New file.
85563         * lib/chdir-long.c: Include it.
85564         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
85565         Don't bother including stddef.h.
85566
85567 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
85568
85569         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
85570         inclusion.
85571         Include <sys/types.h>, for dev_t.
85572         (ME_DUMMY, ME_REMOTE): Move from here....
85573         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
85574         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
85575         Dmitry V. Levin.
85576         Include mountlist.h first, to test the interface.
85577
85578 2005-01-29  Bruno Haible  <bruno@clisp.org>
85579
85580         * lib/progname.c (program_name): Initialize.
85581         Needed when linking statically on MacOS X.
85582
85583 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85584
85585         Sync from coreutils.
85586         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
85587         (Depends-on): Add c-strtod.
85588         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
85589
85590 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
85591
85592         Sync from coreutils.
85593         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
85594
85595         Remove files that are specific to coreutils.
85596         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
85597
85598 2005-01-28  Bruno Haible  <bruno@clisp.org>
85599
85600         * modules/javacomp: New file.
85601         * MODULES.html.sh (Java): Add javacomp.
85602
85603 2005-01-28  Bruno Haible  <bruno@clisp.org>
85604
85605         * m4/javacomp.m4: New file, from GNU gettext.
85606
85607 2005-01-28  Bruno Haible  <bruno@clisp.org>
85608
85609         * lib/javacomp.sh.in: New file, from GNU gettext.
85610         * lib/javacomp.h: New file, from GNU gettext.
85611         * lib/javacomp.c: New file, from GNU gettext.
85612
85613 2005-01-26  Simon Josefsson  <jas@extundo.com>
85614
85615         * lib/gai_strerror.c: Use GPL in header.
85616
85617 2005-01-26  Bruno Haible  <bruno@clisp.org>
85618
85619         * modules/javaexec: New file.
85620         * MODULES.html.sh (Java): Add javaexec.
85621
85622 2005-01-26  Bruno Haible  <bruno@clisp.org>
85623
85624         * m4/javaexec.m4: New file, from GNU gettext.
85625
85626 2005-01-26  Bruno Haible  <bruno@clisp.org>
85627
85628         * lib/javaexec.sh.in: New file, from GNU gettext.
85629         * lib/javaexec.h: New file, from GNU gettext.
85630         * lib/javaexec.c: New file, from GNU gettext.
85631
85632 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85633
85634         * modules/lchown (Depends-on): Remove lchown.h
85635
85636 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85637
85638         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
85639         must be defined if the header file was not found, in order
85640         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
85641
85642 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85643
85644         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
85645         initializers for struct pentry_state.
85646         (__argp_error): Check return value of __asprintf
85647         (__argp_failure): Translate error message
85648
85649         * lib/argp-parse.c: Removed braces around the expansion of N_()
85650
85651 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
85652
85653         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
85654         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
85655         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
85656         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
85657         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
85658         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
85659         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
85660         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
85661         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
85662         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
85663         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
85664         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
85665         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
85666         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
85667         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
85668         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
85669         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
85670         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
85671         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
85672         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
85673         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
85674         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
85675         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
85676         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
85677         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
85678         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
85679         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
85680         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
85681         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
85682         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
85683         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
85684         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
85685         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
85686         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
85687         xstrtol.m4, xstrtoumax.m4, yesno.m4:
85688         Use an all-permissive copyright notice, recommended by RMS.
85689
85690 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
85691
85692         * modules/chdir-long (Depends-on): Remove mempcpy.
85693
85694 2005-01-21  Jim Meyering  <jim@meyering.net>
85695
85696         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
85697         same value as for Solaris 9.
85698
85699         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
85700         component length.  This included changing the parameter to be
85701         of type `char *' rather than `char const *'.
85702         * lib/chdir-long.h (chdir_long): Update prototype.
85703
85704         * lib/openat.c (fdopendir, fstatat): New functions.
85705         * lib/openat.h: Include headers required for use of DIR and struct
85706         stat.
85707         [AT_SYMLINK_NOFOLLOW]: Define.
85708         (fdopendir, fstatat): Add prototypes.
85709
85710 2005-01-21  Bruno Haible  <bruno@clisp.org>
85711
85712         * modules/classpath: New file.
85713         * MODULES.html.sh (Java): Add classpath.
85714
85715 2005-01-21  Bruno Haible  <bruno@clisp.org>
85716
85717         * lib/classpath.h: New file, from GNU gettext.
85718         * lib/classpath.c: New file, from GNU gettext.
85719
85720 2005-01-20  Simon Josefsson  <jas@extundo.com>
85721
85722         * modules/version-etc-fsf: New file.
85723
85724 2005-01-20  Simon Josefsson  <jas@extundo.com>
85725
85726         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
85727         * lib/version-etc.c: Remove version_etc_copyright.
85728         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
85729         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
85730
85731 2005-01-20  Simon Josefsson  <jas@extundo.com>
85732
85733         * lib/base64.h (isbase64): Add.
85734
85735         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
85736         using a unsigned prototype, don't inline.
85737         (base64_decode): Use it.
85738
85739 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85740
85741         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
85742         it.
85743
85744 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85745
85746         * lib/save-cwd.c (save_cwd): Remove code to support the case
85747         where fchdir is missing or flaky.
85748
85749 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
85750
85751         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
85752
85753 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
85754
85755         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
85756         AC_LIBSOURCES now does this.
85757         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
85758         with new ullong_max module.
85759
85760 2005-01-19  Bruno Haible  <bruno@clisp.org>
85761
85762         * modules/sh-quote: New file.
85763         * MODULES.html.sh (Executing programs): Add sh-quote.
85764
85765 2005-01-19  Bruno Haible  <bruno@clisp.org>
85766
85767         * lib/sh-quote.h: New file, from GNU gettext.
85768         * lib/sh-quote.c: New file, from GNU gettext.
85769
85770 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85771
85772         Merge from coreutils.
85773         * m4/ullong_max.m4: New file.
85774         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
85775         (gl_MACROS): Assume localeconv exists.
85776
85777 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85778
85779         Merge changes from coreutils, as described below in several
85780         changelogs dated today.
85781
85782         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
85783         (O_DIRECTORY): Remove; not needed here, since "." must be
85784         a directory.  All uses removed.
85785         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
85786         universal on Suns, and we also need to test for IRIX.
85787         Revamp code to use 'if' rather than '#if'.
85788         Avoid unnecessary comparison of cwd->desc to 0.
85789
85790         * lib/utimens.c (futimens): Robustify the previous patch, by checking
85791         for known valid error numbers rather than observed invalid ones.
85792
85793 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
85794
85795         * modules/ullong_max: New file.
85796
85797         * modules/chdir-long, modules/openat: New files.
85798         * modules/save-cwd (Depends-on): Depend on chdir-long.
85799         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
85800
85801 2005-01-18  Jim Meyering  <jim@meyering.net>
85802
85803         Merge from coreutils.
85804         * m4/chdir-long.m4, m4/openat.m4: New files.
85805         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
85806         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
85807         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
85808         is sane and DOES follow symlinks.  Besides, testing 20 different
85809         systems found no broken chown implementations.
85810         Prompted by a change in rsync's copy of this macro.
85811         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
85812
85813         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
85814
85815         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
85816         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
85817         NULL-means-set-to-current-time semantics.
85818         Remove temporary file immediately, rather than waiting
85819         for configure's at-exit trap code to do it.
85820
85821 2005-01-18  Jim Meyering  <jim@meyering.net>
85822
85823         * lib/version-etc.c (version_etc_copyright): Update copyright date.
85824
85825         * lib/utimens.c (futimens): Account for the fact that futimes
85826         can also fail with errno == ENOSYS or errno == ENOENT.
85827         Patch from Dmitry V. Levin.
85828
85829         Change the name of the robust chdir function from chdir to chdir_long.
85830         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
85831         (restore_cwd): Use chdir_long, not chdir.
85832         * lib/chdir-long.c: Renamed from chdir.c.
85833         * lib/chdir-long.h: Renamed from chdir.h.
85834         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
85835         Hurd.
85836
85837 2005-01-18  Bruno Haible  <bruno@clisp.org>
85838
85839         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
85840         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
85841         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
85842         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
85843         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
85844         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
85845         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
85846         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
85847         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
85848         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
85849         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
85850         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
85851         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
85852         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
85853         Use an all-permissive copyright notice, recommended by RMS.
85854
85855 2005-01-18  Bob Proulx  <bob@proulx.com>
85856
85857         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
85858         simplify offsetof() macro construct to avoid compile failure with
85859         native HP-UX 11.0 ANSI C compiler.
85860
85861 2005-01-17  Bruno Haible  <bruno@clisp.org>
85862
85863         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
85864         redundant because stpncpy.m4 takes care of it.
85865
85866 2005-01-17  Bruno Haible  <bruno@clisp.org>
85867
85868         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
85869
85870 2005-01-17  Bruno Haible  <bruno@clisp.org>
85871
85872         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
85873         used.
85874
85875 2005-01-17  Bruno Haible  <bruno@clisp.org>
85876
85877         * lib/fwriteerror.h (fwriteerror): Change specification to include
85878         fclose.
85879         * lib/fwriteerror.c: Include <stdbool.h>.
85880         (fwriteerror): At the end, close the file stream. Record whether
85881         stdout was already closed.
85882
85883 2005-01-17  Bruno Haible  <bruno@clisp.org>
85884
85885         * lib/execute.c (environ): Declare if needed.
85886         * lib/pipe.c (environ): Likewise.
85887         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
85888
85889 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85890
85891         * modules/argp: Depend on vsnprintf
85892
85893 2005-01-10  Jim Meyering  <jim@meyering.net>
85894
85895         * modules/closeout (Depends-on): Add atexit.
85896
85897 2005-01-06  Bruno Haible  <bruno@clisp.org>
85898
85899         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
85900
85901 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
85902
85903         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
85904         definitions to be after all include files, to avoid collisions.
85905         Problem reported by Bob Proulx.
85906
85907 2005-01-04  Jim Meyering  <jim@meyering.net>
85908
85909         Changes imported from coreutils.
85910         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
85911         as the mkstemp template, use a temporary directory and an
85912         8.3-friendly template to avoid trouble on systems like DJGPP.
85913         Reported by Juan M. Guerrero via Stepan Kasal.
85914         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
85915         close. Remove the temporary directory right away, rather than waiting
85916         for configure's at-exit trap code to do it.
85917         Suggestion from Stepan Kasal.
85918
85919 2005-01-01  Simon Josefsson  <jas@extundo.com>
85920
85921         * gnulib-tool: Print #include directives when --import'ing.
85922
85923 2004-12-28  Simon Josefsson  <jas@extundo.com>
85924
85925         * tests/test-base64.c: Include required header files.  Remove
85926         unused variables.
85927
85928 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85929
85930         * modules/error (Depends-on): Remove gettext.
85931
85932 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
85933
85934         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
85935         not needed.  This removes a dependency on the gettext module.
85936         [defined _LIBC]: Do not include <libintl.h>; not needed.
85937
85938 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85939
85940         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
85941         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
85942
85943 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
85944
85945         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
85946         HAVE_DECL_STRTOLD.
85947
85948 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85949
85950         * modules/getdate (Depends-on): Remove alloca-opt.
85951
85952 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85953
85954         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
85955
85956 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
85957
85958         * lib/argp-parse.c: Include <stddef.h>.
85959         (alignof, alignto): New macros.
85960         (parser_init): Don't assume that void * is aligned sufficiently
85961         for struct option.
85962
85963         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
85964         need to extend the stack.
85965         (YYINITDEPTH): New macro, so that the initial stack isn't overly
85966         large.
85967
85968 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85969
85970         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
85971
85972 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85973
85974         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
85975         (2004-10-24) change.  Apparently this was a false alarm.
85976
85977         * modules/getdate: Depend on alloca-opt, not alloca.
85978
85979 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
85980
85981         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
85982         Remove now-obsolete comment about AIX.
85983         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
85984         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
85985         (YYMAXDEPTH): New macro.
85986
85987 2004-12-18  Simon Josefsson  <jas@extundo.com>
85988
85989         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
85990
85991 2004-12-18  Bruno Haible  <bruno@clisp.org>
85992
85993         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
85994
85995 2004-12-18  Bruno Haible  <bruno@clisp.org>
85996
85997         * lib/fatal-signal.c (fatal_signals): Make non-const.
85998         (init_fatal_signals): New function.
85999         (uninstall_handlers, install_handlers): Ignore signals that were set to
86000         SIG_IGN.
86001         (at_fatal_signal): Call init_fatal_signals.
86002         (init_fatal_signal_set): Likewise. Ignore signals that were set to
86003         SIG_IGN.
86004         Reported by Paul Eggert.
86005
86006 2004-12-18  Bruno Haible  <bruno@clisp.org>
86007
86008         * doc/alloca.texi: New file.
86009         * doc/alloca-opt.texi: New file.
86010
86011 2004-12-17  Jim Meyering  <jim@meyering.net>
86012
86013         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
86014         Otherwise, install-sh could exit with improper exit status when
86015         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
86016
86017 2004-12-16  Simon Josefsson  <jas@extundo.com>
86018
86019         * tests/test-base64.c: Add license.
86020
86021 2004-12-15  Stepan Kasal  <address@hidden>
86022
86023         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
86024
86025 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
86026
86027         * modules/getcwd (Files): Add m4/d-ino.m4.
86028         Suggested by Mark D. Baushke.
86029
86030 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86031
86032         * lib/getdate.y (textint): New member "negative".
86033         (time_zone_hhmm): New function.
86034         Expect 14 shift-reduce conflicts, not 13.
86035         (o_colon_minutes): New rule.
86036         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
86037         (yylex): Set the "negative" member of signed numbers.
86038
86039 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
86040
86041         * doc/getdate.texi (Time of day items, Time zone items):
86042         Describe new formats +00:00, UTC+00:00.
86043
86044 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
86045
86046         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
86047         spurious "-l"s.  Problem reported by Stepan Kasal.
86048
86049 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
86050
86051         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
86052         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
86053
86054 2004-12-04  Simon Josefsson  <jas@extundo.com>
86055
86056         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
86057         Vandoorselaere <yoann@prelude-ids.org>.
86058
86059 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86060
86061         Changes imported from coreutils.
86062         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
86063         exist.
86064         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
86065
86066 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86067
86068         Changes imported from coreutils.
86069         * lib/hard-locale.c: Assume <locale.h> exists.
86070         Include "strdup.h".
86071         (GLIBC_VERSION): New macro.
86072         (hard_locale): Assume setlocale exists.
86073         Rewrite to avoid #ifdef.
86074         Use strdup rather than malloc + strcpy.
86075         * lib/human.c: Assume <locale.h> exists.
86076         (human_readable): Assume localeconv exists.
86077
86078 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
86079
86080         * modules/hard-locale (Depends-on): Add strdup.
86081
86082 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
86083
86084         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
86085         convert T2, not T.  (Imported from libc.)
86086
86087 2004-11-30  Simon Josefsson  <jas@extundo.com>
86088
86089         * modules/restrict (License): Change to LGPL.
86090
86091 2004-11-30  Simon Josefsson  <jas@extundo.com>
86092
86093         * m4/restrict.m4: Add copyright and copying conditions.
86094
86095 2004-11-30  Simon Josefsson  <jas@extundo.com>
86096
86097         * m4/base64.m4: New file.
86098
86099 2004-11-30  Simon Josefsson  <jas@extundo.com>
86100
86101         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
86102         base64.
86103
86104         * tests/test-base64.c: New file.
86105
86106         * modules/base64: New file.
86107
86108 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86109
86110         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
86111         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
86112
86113         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
86114
86115 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
86116
86117         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
86118         (__getcwd.c): Don't restore errno; glibc doesn't.
86119         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
86120         first, falling back to our code only if its results look suspicious.
86121         Ensure that the resulting buffer is only as large as necessary.
86122
86123         * lib/readutmp.c: Include readutmp.h first.
86124         Include <errno.h>, since readutmp.h no longer does that.
86125         * lib/readutmp.h: Don't include <errno.h>,
86126         <sys/param.h>, <time.h>; not needed to establish interface.
86127         (errno): Remove decl.
86128         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
86129         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
86130         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
86131
86132 2004-11-28  Simon Josefsson  <jas@extundo.com>
86133
86134         * lib/base64.h, base64.c: New file.
86135
86136 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
86137
86138         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
86139
86140 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
86141
86142         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
86143         (Depends-on): Remove pathmax, same.  Add mempcpy.
86144         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
86145         (Makefile.am): Append getcwd.h to lib_SOURCES.
86146         (Include): Add getcwd.h.
86147         (Maintainer): Change from Jim Meyering to "all, glibc",
86148         since getdate now uses intended-for-glibc code.
86149         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
86150         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
86151
86152 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86153
86154         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
86155         HP's ANSI C compiler.
86156         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
86157         Declaring int functions causes warnings on some modern systems and
86158         shouldn't be needed to compile on ancient ones.
86159         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
86160         defined.
86161
86162         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
86163         with the following changes.
86164         (__set_errno): Parenthesize properly.
86165         Include <stdbool.h>.
86166         (MIN, MAX, MATCHING_INO): New macros.
86167         (__getcwd): Define with prototype, not K&R form.
86168         Use heuristics to allocate default buffer on stack if possible.
86169         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
86170         behavior, and to avoid the PATH_MAX limit when computing
86171         ../../../../...
86172         Use MATCHING_INO to compare inode number to file.
86173         Check for arithmetic overflow in size calculations.
86174         Fix bug in reallocation of dot array that caused getcwd to fail
86175         on directories nested deeper than 75.
86176         Be more careful about saving errno on error.
86177         Do not use realloc; use only free+malloc, as this is a bit
86178         more flexible and avoids a needless copy operation.
86179         Do not inspect st_dev and st_ino for symbolic links; POSIX
86180         doesn't specify the latter.
86181         Check for closedir errors.
86182         Avoid needless casts.
86183         Use "#ifdef weak_alias" around weak_alias, to be like other
86184         glibc code.
86185         The following changes to getcwd.c have effect only when used in
86186         gnulib; they have no effect inside glibc proper.
86187         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
86188         as alloca isn't used.
86189         (alloca, __alloca): Likewise.
86190         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
86191         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86192         unconditionally, as gnulib assumes C89 or better.
86193         Do not include <sys/param.h>.
86194         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
86195         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
86196         better.
86197         (NULL) [!defined NULL]: Remove; we assume C89 or better.
86198         Include <dirent.h> in a way that is compatible with modern Autoconf.
86199         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
86200         New macros, if not already defined.
86201         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
86202         Use "_LIBC", not "defined _LIBC", for consistency.
86203         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
86204         a mempcpy module.
86205         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
86206         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
86207         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
86208         credit only to Jim Meyering and adjust the copyright dates.
86209         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
86210         <stdlib.h>, <unistd.h>, "pathmax.h".
86211         Instead, include "xgetcwd.h" (first) and "getcwd.h".
86212         (INITIAL_BUFFER_SIZE): Remove.
86213         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
86214
86215 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
86216
86217         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
86218         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
86219         Use the _ONCE methods, for efficiency.
86220         Check for fcntl.h.  In test program, include <errno.h>
86221         and <fcntl.h> if available.  Remove old K&R cruft from
86222         test program.  Check for common errors in GNU/Linux,
86223         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
86224         don't do AC_LIBOBJ, as that's getcwd.m4's job.
86225         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
86226         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
86227         name accordingly.
86228         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
86229         accommodate new getcwd.c.
86230         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
86231         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
86232         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
86233         that's all we need now.
86234
86235 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86236
86237         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
86238         argp-parse.c depends on getopt internals, that means we should
86239         always use our getopt, to be on the safe side.
86240         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
86241         order not to spoil the result of an eventual previous invocation
86242         of gl_GETOPT_SUBSTITUTE.
86243
86244 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86245
86246         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
86247         redefinition warnings. To avoid them, include the defines
86248         in `#if !defined __need_getopt ... #endif'. The only place
86249         where __getopt_argv_const is used is in definitions
86250         of getopt_long and getopt_long_only below, which are as well
86251         protected by `#ifndef __need_getopt'.
86252         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
86253         __need_getopt after including <stdio.h> and <unistd.h> These
86254         headers might have defined it.
86255
86256 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86257
86258         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
86259
86260 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
86261
86262         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
86263         (futimens): New function, which uses futimes if available.
86264         (futimens, utimens): Support timespec==NULL, with same semantics
86265         as utime and utimens.
86266         * lib/utimens.h (futimens): New decl.
86267
86268 2004-11-23  Jim Meyering  <jim@meyering.net>
86269
86270         * lib/getopt_.h: Remove trailing blanks.
86271
86272 2004-11-23  Jim Meyering  <jim@meyering.net>
86273
86274         * lib/__fpending.c: Add comment.
86275
86276 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
86277
86278         * modules/canonicalize (Depends-on): Add xreadlink.
86279         Problem reported by James Youngman.
86280
86281 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
86282
86283         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
86284         New macros.
86285         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
86286         optopt): Use them instead of invoking ## directly; otherwise, the
86287         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
86288
86289 2004-11-19  Bruno Haible  <bruno@clisp.org>
86290
86291         * lib/strtok_r.c: Move comments from here...
86292         * lib/strtok_r.h: ... to here.
86293
86294 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86295
86296         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
86297         implementations that mishandle size_t overflow.
86298
86299 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
86300
86301         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
86302         might fail.  Problem reported by Yoann Vandoorselaere.
86303         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
86304         implementations that mishandle size_t overflow.
86305
86306 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86307
86308         * modules/canon-host (Depends-on): Add strdup.
86309
86310 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86311
86312         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
86313
86314 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86315
86316         * lib/canon-host.c: Include "strdup.h".
86317         (canon_host): Use getaddrinfo if available, so that IPv6 works.
86318         Use strdup instead of malloc/strcpy to duplicate strings.
86319
86320         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
86321         (human_space_before_unit): New constant.
86322         * lib/human.c (human_readable): Support it.
86323
86324         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
86325         (xgetcwd): Set errno correctly when failing.
86326         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
86327         the failure is actually due to a PATH_MAX problem.
86328
86329         Further getopt changes to make it more likely that glibc will
86330         buy the changes back.
86331         * lib/getopt.c (POSIXLY_CORRECT): New constant.
86332         (getopt): Use it, so to preserve glibc semantic
86333         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
86334         when compiling for libc.
86335         * lib/getopt_.h (__getopt_argv_const): Bring it back.
86336         (getopt_long, getopt_long_only): Use it.
86337
86338         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86339         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
86340         (getopt): Argv is now char * const *, as per standard.
86341         (_getopt_internal_r, _getopt_internal): Argv is now char **,
86342         not char *__getopt_argv_const *.
86343         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86344         _getopt_long_only_r): Likewise.
86345         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
86346         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86347         _getopt_long_r, _getopt_long_only_r): Likewise.
86348         * lib/getopt_.h (__getopt_argv_const): Remove.
86349         (getopt): Argv is now char * const *, as per standard.
86350
86351         * lib/getdate.y (tORDINAL): New token.
86352         (day, relunit): Allow it for relative times.
86353         (relative_time_table): Use tORDINAL for ordinals.
86354
86355 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
86356
86357         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
86358         Document that "second" isn't allowed as an ordinal number.
86359
86360 2004-11-16  Jim Meyering  <jim@meyering.net>
86361
86362         * modules/closeout (Depends-on): Add fpending.
86363
86364 2004-11-15  Jim Meyering  <jim@meyering.net>
86365
86366         * lib/closeout.c: Include "__fpending.h" once again.
86367         Include <stdbool.h>.
86368         (close_stdout): Don't fail just because stdout was closed initially,
86369         since some programs don't write to stdout in the normal course of
86370         operation (other than --version and --help), and we don't want this
86371         function to make e.g. `touch file >&-' fail.
86372         But do fail if it was closed and someone has tried to write to it.
86373         E.g., `printf foo >&-' must fail.
86374
86375 2004-11-13  Jim Meyering  <jim@meyering.net>
86376
86377         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
86378
86379 2004-11-12  Simon Josefsson  <jas@extundo.com>
86380
86381         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
86382         small doc fix is still pending.
86383
86384 2004-11-11  Simon Josefsson  <jas@extundo.com>
86385
86386         * modules/strtok_r: New file.
86387
86388         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86389         strtok_r.
86390
86391 2004-11-11  Simon Josefsson  <jas@extundo.com>
86392
86393         * m4/strtok_r.m4: New file.
86394
86395         * m4/getopt.m4: Replace opterr.
86396
86397 2004-11-11  Simon Josefsson  <jas@extundo.com>
86398
86399         * lib/strtok_r.h, strtok_r.c: New file.
86400
86401 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86402
86403         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
86404         of replacing opterr, getopt, etc.  This should handle the
86405         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
86406
86407 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
86408
86409         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
86410         we can stop lying to compilers about the constness of argv when we
86411         are compiled outside glibc.
86412         (getopt, getopt_long, getopt_long_only): Use it.
86413         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
86414         _getopt_internal, getopt): Likewise.
86415         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
86416         _getopt_long_only_r): Likewise.
86417         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
86418         _getopt_long_r, _getopt_long_only_r): Likewise.
86419
86420         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
86421         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
86422         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
86423         the other external symbols.
86424         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
86425         declaration, since the above renaming now works around collisions.
86426
86427 2004-11-11  Jim Meyering  <jim@meyering.net>
86428
86429         * lib/linebreak.c: Remove trailing blanks.
86430         * lib/alloca_.h: Likewise.
86431         * lib/acosl.c: Likewise.
86432         * lib/euidaccess.c: Likewise.
86433         * lib/allocsa.h: Likewise.
86434
86435 2004-11-10  Simon Josefsson  <jas@extundo.com>
86436
86437         * m4/getaddrinfo.m4: New file.
86438
86439 2004-11-10  Simon Josefsson  <jas@extundo.com>
86440
86441         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
86442
86443 2004-11-10  Simon Josefsson  <jas@extundo.com>
86444
86445         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86446         getaddrinfo.
86447
86448         * modules/getaddrinfo: New file.
86449
86450 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86451
86452         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
86453
86454 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
86455
86456         * lib/mktime.c (SHR): New macro, which is a portable
86457         substitute for >> that should work even on Crays.
86458         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
86459         Problem reported by Mark D. Baushke in
86460         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
86461         * lib/getdate.y (SHR): Likewise.
86462         (tm_diff): Use it.
86463         * lib/strftime.c (SHR): Likewise.
86464         (tm_diff): Use it.
86465         * lib/quotearg.c (struct quoting_options): Use unsigned int for
86466         quote_these_too, so that right shifts are well defined.  All uses
86467         changed.
86468
86469 2004-11-10  Jim Meyering  <jim@meyering.net>
86470
86471         Ensure that no close failure goes unreported.
86472         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
86473         return early when it seems there's nothing to flush.
86474         Don't include __fpending.h.
86475
86476 2004-11-10  Jim Meyering  <jim@meyering.net>
86477
86478         * modules/closeout (Depends-on): Remove fpending.
86479
86480 2004-11-10  Jim Meyering  <jim@meyering.net>
86481
86482         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
86483
86484 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86485
86486         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
86487         gl_FUNC_STRFTIME.
86488         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
86489         and AC_REQUIRE when possible, to avoid duplicate checks.
86490         Check for <wchar.h>.
86491
86492 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
86493
86494         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
86495
86496 2004-11-09  Bruno Haible  <bruno@clisp.org>
86497
86498         * m4/sockpfaf.m4: New file.
86499
86500 2004-11-05  Bruno Haible  <bruno@clisp.org>
86501
86502         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
86503         Reported by Mark D. Baushke <mdb@cvshome.org>.
86504
86505 2004-11-04  Bruno Haible  <bruno@clisp.org>
86506
86507         2004-09-11  Bruno Haible  <bruno@clisp.org>
86508                 * allocsa.valgrind: New file.
86509         2004-02-06  Bruno Haible  <bruno@clisp.org>
86510                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
86511                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
86512                 Reported by Christopher Seip <chris.seip@hp.com>.
86513
86514 2004-11-04  Bruno Haible  <bruno@clisp.org>
86515
86516         * modules/allocsa (Files): Add lib/allocsa.valgrind.
86517         (Makefile.am): Distribute it.
86518
86519 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
86520
86521         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
86522         with errno == ERANGE if the buffer is too small.
86523         Problem reported by Mark D. Baushke.
86524
86525 2004-11-03  Albert Chin  <china@thewrittenword.com>
86526             Paul Eggert  <eggert@cs.ucla.edu>
86527
86528         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
86529         equivalent, substitute $ac_type for equivalent type rather than
86530         blindly using uint32_t *always* which won't work if uint32_t is not
86531         available.  Define _UINT32_T to work around typedef of uint32_t if
86532         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
86533         2.5.1.
86534
86535 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86536
86537         * m4/jm-macros.m4: Sync from coreutils.
86538         (gl_MACROS): Check for mbrlen, for pathchk.
86539         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
86540
86541 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86542
86543         * lib/xreadlink.c (MAXSIZE): New macro.
86544         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
86545         size does not exceed MAXSIZE.  Avoid cast.
86546         As suggested by Mark D. Baushke in
86547         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
86548         if readlink fails with buffer size just under MAXSIZE, try again
86549         with MAXSIZE.
86550
86551 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
86552
86553         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
86554
86555 2004-11-02  Derek R. Price  <derek@ximbiot.com>
86556         and  Paul Eggert  <eggert@cs.ucla.edu>
86557
86558         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
86559         (get_date): Overparenthesize to avoid GCC warning.
86560
86561 2004-11-02  Bruno Haible  <bruno@clisp.org>
86562
86563         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
86564         returns void.
86565
86566 2004-11-02  Bruno Haible  <bruno@clisp.org>
86567
86568         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
86569         function returns void.
86570
86571 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86572
86573         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
86574         fflush_unlocked, flockfile, funlockfile, funlockfile,
86575         fputs_unlocked, putc_unlocked.
86576
86577 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
86578
86579         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86580         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
86581         already declared.
86582
86583 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86584
86585         * modules/getdate (Files): Add doc/getdate.texi.
86586         (Depends-on): Add setenv, xalloc.
86587
86588 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86589
86590         * lib/getdate.y: Add support for TZ="foo" within a date string.
86591         Fix some bugs near time_t boundaries.  Reject dates with
86592         out-of-range components, e.g., "Sept 31".
86593         Include <stdlib.h>, "setenv.h", "xalloc.h".
86594         (ISDIGIT_LOCALE): Remove; unused.
86595         Note that the TZ and time functions used here are not reentrant.
86596         (mktime_ok, get_tz): New functions.
86597         (TZBUFSIZE): New constant.
86598         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
86599         This requires that we sometimes generate our own TZ="XXX..." setting.
86600
86601 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
86602
86603         * doc/getdate.texi: New file, from coreutils with modifications for
86604         the new TZ parsing.
86605
86606 2004-10-27  Derek R. Price  <derek@ximbiot.com>
86607
86608         * lib/mktime.c (not_equal_tm): Remove redundant check.
86609
86610 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86611
86612         * modules/regex (lib_SOURCES): Add regex.c.
86613         Reported by James Youngman in
86614         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
86615
86616 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
86617
86618         * lib/getdate.y: Use Bison 1.875 features, and some minor
86619         code cleanups.  This change does not affect semantics.
86620         Don't include <stdlib.h>; no longer needed.
86621         Don't include unlocked-io.h; only the "#if TEST" code uses
86622         stdio, and performance isn't crucial there.
86623         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
86624         Bison 1.875 features as described below.
86625         All uses of "PC." replaced by "pc->".
86626         (YYSTYPE): Add a forward declaration.
86627         (yylex, yyerror): Use full prototypes in forward decls.
86628         Use "%pure-parser" rather than obsolescent "%pure_parser".
86629         Use %parse-param and %lex-param instead of obsolescent
86630         YYPARSE_PARAM and YYLEX_PARAM.
86631         (meridian_table, month_and_day_table, time_units_table,
86632         relative_time_table, time_zone_table, military_table,
86633         lookup_zone, lookup_word, get_date):
86634         Use NULL instead of 0 where appropriate.
86635         (to_hour): Avoid abort (), to avoid a dependency on
86636         stdlib.h.
86637         (yyerror, yylex): Now accepts parser_control * arg.
86638         (main) [TEST]: Use '\0' rather than 0 for char.
86639
86640 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86641
86642         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
86643
86644 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
86645
86646         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
86647         It's now the caller's responsibility to handle the case where
86648         !HAVE_GETPAGESIZE && !defined getpagesize.
86649
86650         * lib/mktime.c (leapyear): Arg is long int, not int.
86651
86652 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
86653
86654         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
86655
86656 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
86657
86658         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
86659         missing.  Problem reported by James Youngman.
86660
86661 2004-10-16  Simon Josefsson  <jas@extundo.com>
86662
86663         * gnulib-tool: Fix comments.  Fix parse problem.
86664         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
86665
86666 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
86667
86668         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
86669         implementation of getopt_long.  Problem reported by Alexander Taler in:
86670         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
86671
86672 2004-10-15  Bruno Haible  <bruno@clisp.org>
86673
86674         * gnulib-tool: Untabify. Initialize supplied_libname.
86675         (func_usage): More homogenous output.
86676         (func_modules_transitive_closure, func_modules_to_filelist,
86677         func_emit_lib_Makefile_am): New functions.
86678         (func_import): New function, extracted from big case statement. Use
86679         func_get_license, func_modules_transitive_closure,
86680         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
86681         opt_lgpl. Don't use test -a, as it's not portable.
86682         (func_create_testdir): Use func_modules_transitive_closure,
86683         func_modules_to_filelist, func_emit_lib_Makefile_am.
86684
86685 2004-10-15  Bruno Haible  <bruno@clisp.org>
86686
86687         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
86688
86689 2004-10-15  Bruno Haible  <bruno@clisp.org>
86690
86691         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
86692         the portions belonging to each module.
86693         Suggested by Derek Robert Price <derek@ximbiot.com>.
86694
86695 2004-10-12  Simon Josefsson  <jas@extundo.com>
86696
86697         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
86698         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
86699         to real functions.
86700
86701 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86702
86703         * modules/vsnprintf: New file.
86704
86705 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86706
86707         * m4/vsnprintf.m4: New file.
86708
86709 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86710
86711         * lib/vsnprintf.h: New file.
86712         * lib/vsnprintf.c: New file.
86713
86714 2004-10-11  Bruno Haible  <bruno@clisp.org>
86715
86716         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
86717         vsnprintf.
86718
86719 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
86720
86721         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
86722
86723 2004-10-07  Bruno Haible  <bruno@clisp.org>
86724
86725         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
86726         fits into the provided buffer.
86727
86728 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
86729
86730         * lib/diacrit.c, diacrit.h: Add GPL notice.
86731
86732         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
86733         notice.
86734         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
86735         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
86736         This avoids a potential constant-folding bug.
86737
86738 2004-10-05  Bruno Haible  <bruno@clisp.org>
86739
86740         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
86741         for the declaration of strsep.
86742
86743 2004-10-05  Bruno Haible  <bruno@clisp.org>
86744
86745         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
86746
86747 2004-10-04  Simon Josefsson  <jas@extundo.com>
86748
86749         * modules/memmem: New file.
86750         * tests/test-memmem.c: New file.
86751         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
86752
86753 2004-10-04  Simon Josefsson  <jas@extundo.com>
86754
86755         * m4/memmem.m4: New file.
86756
86757 2004-10-04  Simon Josefsson  <jas@extundo.com>
86758
86759         * lib/memmem.h: New file.
86760         * lib/memmem.c: New file, taken from glibc.
86761
86762 2004-10-04  Simon Josefsson  <jas@extundo.com>
86763
86764         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
86765         '#ifdef USE_UNLOCKED_IO'.
86766
86767 2004-10-04  Simon Josefsson  <jas@extundo.com>
86768
86769         * config/srclist.txt: Add memmem from glibc.
86770
86771 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86772
86773         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
86774
86775         * modules/argmatch, modules/argp, modules/closeout, modules/error,
86776         modules/exclude, modules/getdate, modules/getline,
86777         modules/getndelim2, modules/getpass, modules/getpass-gnu,
86778         modules/getusershell, modules/linebuffer, modules/md5,
86779         modules/mountlist, modules/posixtm, modules/readtokens,
86780         modules/readutmp, modules/regex, modules/sha1,
86781         modules/version-etc, modules/yesno:
86782         Remove dependency on unlocked-io.
86783
86784 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86785
86786         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
86787
86788         * m4/unlocked-io.m4: Add copyright notice.
86789         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
86790
86791 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86792
86793         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
86794         * lib/xmalloc.c (xmemdup): Likewise.
86795         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
86796         XFREE): Remove these long-obsolescent macros.
86797         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
86798         * lib/xstrdup.c: Remove.
86799
86800         * lib/regex.c (re_comp): Cast gettext return value to char *,
86801         Problem reported by Martin Neitzel via Mark D. Baushke.
86802
86803 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
86804
86805         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
86806         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
86807         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
86808         regex.c, sha1.c, version-etc.c, yesno.c:
86809         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
86810         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
86811         the includer's responsibility.
86812
86813         Sync from coreutils.
86814
86815         * lib/modechange.c (mode_compile): Don't decrement a pointer that
86816         points to the start of a string, as the C Standard says the
86817         resulting behavior is undefined.
86818
86819         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
86820         simple -> simple_backups, numbered_existing ->
86821         numbered_existing_backups, numbered -> numbered_backups
86822         to avoid shadowing problems.  All uses changed.
86823         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
86824         * lib/backupfile.c (check_extension, numbered_backup):
86825         Rename locals to avoid shadowing 'basename'.
86826         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
86827         once.
86828
86829         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
86830         * lib/.cvsignore: Add getopt.h.
86831
86832 2004-10-04  Bruno Haible  <bruno@clisp.org>
86833
86834         * modules/README: New file.
86835         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
86836         not a module.
86837
86838 2004-10-02  Jim Meyering  <jim@meyering.net>
86839
86840         * lib/dirfd.h, getpagesize.h: Add copyright notice.
86841
86842 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86843
86844         * modules/strsep: New file.
86845
86846 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86847
86848         * m4/strsep.m4: New file.
86849
86850 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
86851
86852         * lib/strsep.h: New file.
86853         * lib/strsep.c: New file.
86854
86855 2004-10-01  Simon Josefsson  <jas@extundo.com>
86856
86857         * lib/snprintf.c (snprintf): Handle size==0.
86858
86859 2004-10-01  Simon Josefsson  <jas@extundo.com>
86860             Bruno Haible  <bruno@clisp.org>
86861
86862         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
86863         (snprintf): Declare 'args'.
86864
86865 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
86866
86867         * lib/snprintf.c: Remove comments as to why each header is needed.
86868
86869 2004-10-01  Bruno Haible  <bruno@clisp.org>
86870
86871         * MODULES.html.sh: Add strsep.
86872
86873 2004-09-30  Simon Josefsson  <jas@extundo.com>
86874
86875         * modules/snprintf: New file.
86876
86877 2004-09-30  Simon Josefsson  <jas@extundo.com>
86878
86879         * m4/snprintf.m4: New file.
86880
86881 2004-09-30  Simon Josefsson  <jas@extundo.com>
86882
86883         * lib/snprintf.h, lib/snprintf.c: New files.
86884
86885 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86886
86887         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
86888         (hol_entry_help): Never translate an empty string.
86889         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
86890         * lib/argp.h (OPTION_NO_TRANS): New option.
86891
86892 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86893
86894         * modules/argp (Maintainer): Replace Simon Josefsson
86895         by Sergey Poznyakoff.
86896
86897 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86898
86899         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
86900         changes merged back into glibc.
86901
86902 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
86903
86904         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
86905
86906 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
86907
86908         * lib/xvasprintf.c: Include xalloc.h.
86909         (xvasprintf): Use xalloc_die, not xmalloc_die.
86910
86911 2004-09-29  Bruno Haible  <bruno@clisp.org>
86912
86913         * modules/alloca-opt: New file, derived from modules/alloca.
86914         * modules/allocsa: Depend on alloca-opt instead of alloca.
86915         * modules/setenv: Likewise.
86916         * modules/vasnprintf: Likewise.
86917         * MODULES.html.sh: Add alloca-opt.
86918
86919 2004-09-28  Simon Josefsson  <jas@extundo.com>
86920
86921         * gnulib-tool: New parameter --lgpl, to asseert that modules are
86922         LGPL, and to replace license template from GPL to LGPL.
86923
86924 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86925
86926         * modules/dummy: Change license to LGPL.
86927
86928 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
86929
86930         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
86931
86932 2004-09-24  Simon Josefsson  <jas@extundo.com>
86933
86934         * modules/minmax (License): Change from GPL to LGPL.
86935
86936 2004-09-23  Simon Josefsson  <jas@extundo.com>
86937
86938         * gnulib-tool (--import): Typo.
86939
86940 2004-09-23  Simon Josefsson  <jas@extundo.com>
86941
86942         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
86943
86944 2004-09-22  Bruno Haible  <bruno@clisp.org>
86945
86946         * modules/*: Add 'License' field.
86947         * gnulib-tool: Accept --extract-license option.
86948         (func_get_license): New function.
86949
86950 2004-09-21  Bruno Haible  <bruno@clisp.org>
86951
86952         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
86953         Reported by Simon Josefsson.
86954
86955 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86956
86957         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
86958         gl_AC_TYPE_LONG_LONG.
86959
86960 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
86961
86962         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
86963
86964 2004-09-18  Simon Josefsson  <jas@extundo.com>
86965         and  Paul Eggert  <eggert@cs.ucla.edu>
86966
86967         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
86968         calls with autoreconf.  Define GL_LIB.
86969
86970 2004-09-14  Karl Berry  <karl@gnu.org>
86971
86972         * config/srclist.txt: unsync setenv.c, sigh.
86973
86974 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86975
86976         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
86977         Problem reported by Bruno Haible in:
86978         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
86979
86980 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
86981
86982         * config/srclist.txt: Comment out argp-pvh.c.
86983
86984 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
86985
86986         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
86987         in case some system header has #define'd it.  Problem reported by
86988         Soeren D. Schulze in
86989         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
86990
86991 2004-09-09  Karl Berry  <karl@gnu.org>
86992
86993         * regex.[ch]: delete from the root.  These were supposed to be
86994                 synced with emacs cvs, but this has not happened for about
86995                 a year, and anyway nothing else uses emacs regex.[ch].
86996                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
86997                 lib/regex[.ch] is untouched.
86998
86999 2004-09-09  Bruno Haible  <bruno@clisp.org>
87000
87001         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
87002
87003 2004-09-09  Bruno Haible  <bruno@clisp.org>
87004
87005         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
87006         modifications.
87007         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
87008
87009 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87010
87011         * modules/xvasprintf: New file.
87012         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
87013
87014 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
87015
87016         * lib/xvasprintf.h: New file.
87017         * lib/xvasprintf.c: New file.
87018         * lib/xasprintf.c: New file.
87019
87020 2004-09-08  Bruno Haible  <bruno@clisp.org>
87021
87022         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
87023
87024 2004-09-08  Bruno Haible  <bruno@clisp.org>
87025
87026         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
87027         length is > INT_MAX.
87028         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
87029         more.
87030
87031 2004-09-08  Bruno Haible  <bruno@clisp.org>
87032
87033         * lib/stdint_.h: New file, taken from GNU clisp.
87034
87035 2004-09-08  Bruno Haible  <bruno@clisp.org>
87036             Oskar Liljeblad  <oskar@osk.mine.nu>
87037
87038         * modules/stdint: New file.
87039         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
87040
87041 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87042
87043         Import from coreutils.
87044         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
87045         strings on unbounded length.  alloca's performance benefits aren't
87046         that important here.
87047         (V_STRDUP): Remove.
87048         (parse_with_separator): New function, with most of the internals
87049         of the old parse_user_spec.  Allow user to omit both user and group,
87050         for compatibility with FreeBSD.
87051         Clone only the user name, not the entire spec.
87052         Do not set *uid, *gid unless entirely successful.
87053         Avoid memory leak in some failing cases.
87054         Fix regression for USER.GROUP reported by Dmitry V. Levin in
87055         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
87056         (parse_user_spec): Rewrite to use parse_with_separator.
87057
87058 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87059
87060         * modules/userspec: Don't depend on alloca.
87061
87062 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
87063
87064         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
87065
87066 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
87067
87068         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
87069         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
87070         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
87071
87072 2004-08-16  Simon Josefsson  <jas@extundo.com>
87073
87074         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
87075         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
87076         Add --dry-run for --import.
87077         Let user provided command line parameters override configure.ac
87078         settings.
87079
87080 2004-08-12  Simon Josefsson  <jas@extundo.com>
87081
87082         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
87083         as discussed with Paul Eggert in threads rooted at
87084         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
87085         and
87086         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
87087         Before, the test was empty, and relied on ELIDE_CODE in source
87088         code.)
87089         (gl_PREREQ_GETOPT): New macro.
87090         (gl_GETOPT): Use them.
87091
87092 2004-08-12  Simon Josefsson  <jas@extundo.com>
87093
87094         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
87095         * lib/getopt_.h: Renamed from getopt.h.
87096
87097 2004-08-12  Simon Josefsson  <jas@extundo.com>
87098
87099         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
87100         Change default library name from libfoo to libgnu.
87101         Now, if you have a configure.ac that says:
87102                 gl_SOURCE_BASE(gl)
87103                 gl_M4_BASE(gl/m4)
87104                 gl_MODULES(error getopt etcetera)
87105                 gl_INIT
87106         you can import all you need by running:
87107                 ../gnulib/gnulib-tool --import
87108
87109         * modules/getopt (Files): Rename getopt.h to getopt_.h.
87110         (Makefile.am): Rewrite, use logic from argz.
87111         (Include): Use <getopt.h> instead of "getopt.h".
87112
87113 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87114
87115         * modules/argp (Files): Add m4/unlocked-io.m4.
87116         (Depends-on): Add extensions.
87117
87118 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87119
87120         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
87121         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
87122         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
87123         Check for program_invocation_name, program_invocation_short_name,
87124         flockfile, funlockfile, features.h, _getopt_long_only_r.
87125
87126 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87127
87128         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
87129         its complicated substitute.
87130         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
87131         and program_invocation_name.
87132         (__argp_basename) [!_LIBC]: Remove; the only use was
87133         replaced by its body.
87134         (__argp_short_program_name): Change condition from
87135         !defined __argp_short_program_name to
87136         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
87137         to match argp-namefrob.h.
87138         (__argp_failure): Don't assume strerror_r returns char *.
87139         * lib/argp-parse.c (N_): Define unconditionally.
87140         (argp_default_options): Fill out initializers with 0 to avoid
87141         gcc warnings.
87142
87143 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
87144
87145         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
87146         getopt1.c.
87147
87148 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87149
87150         Merge from coreutils.
87151
87152         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
87153
87154         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
87155         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
87156
87157 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87158
87159         Merge from coreutils.
87160
87161         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
87162         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
87163         for Reliant Unix 5.43.
87164
87165         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
87166         (union fooround): Use uintmax_t, not long int.
87167         The rest is a merge from libc:
87168         [defined _LIBC]: Include <shlib-compat.h>.
87169         (_obstack) [defined _LIBC]: Remove after 2.3.4.
87170
87171         * lib/settime.c (settime): Recode to avoid warning with
87172         Sun Forte C 6U2.
87173
87174         * lib/strverscmp.c: Convert to UTF-8.
87175
87176 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
87177
87178         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
87179         m4/uintmax_t.m4.
87180
87181 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87182
87183         * modules/xalloc-die: New file.
87184         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
87185
87186         * modules/md5 (Files): Add m4/uint32_t.m4.
87187         * modules/sha1: Renamed from modules/sha.
87188         (Files):
87189         Rename lib/sha.h to lib/sha1.h.
87190         Rename lib/sha.c to lib/sha1.c.
87191         Rename m4/sha.m4 to m4/sha1.m4.
87192         (lib_SOURCES): Likewise.
87193         (configure.ac): Rename gl_SHA to gl_SHA1.
87194         (Include): sha.h -> sha1.h.
87195
87196 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87197
87198         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
87199         * m4/sha1.m4: Renamed from sha.m4.
87200         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
87201
87202 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
87203
87204         * lib/obstack.h (obstack_empty_p):
87205         Don't assume that chunk->contents is suitably aligned.
87206         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
87207         Likewise. Problem reported by Benno in
87208         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
87209
87210         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
87211         readable.  This could be improved further but it'd take some work.
87212
87213 2004-08-08  Simon Josefsson  <jas@extundo.com>
87214
87215         * modules/xgethostname (Depends-on): Remove exit and error (not
87216         used).
87217
87218         * modules/getpass-gnu: Add getpass.h.
87219         (Depends-on): Add stdbool.
87220         * modules/getpass: Add getpass.h.
87221
87222 2004-08-08  Simon Josefsson  <jas@extundo.com>
87223
87224         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
87225         Check getpass declaration.
87226
87227 2004-08-08  Simon Josefsson  <jas@extundo.com>
87228
87229         * lib/xgethostname.c: Don't include error.h (not used).
87230
87231         * lib/getpass.h: Add.
87232         * lib/getpass.c: Include getpass.h first.
87233
87234 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
87235
87236         * lib/xalloc-die.c: New file.
87237         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
87238         All uses removed.
87239         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
87240         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
87241         xalloc-die.c.
87242         (_, N_, xalloc_die): Move to xalloc-die.c.
87243         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
87244         so that we needn't mess with xalloc_msg_memory_exhausted.
87245
87246         * lib/sha1.h: Renamed from sha.h.
87247         (SHA1_H): Renamed from _SHA_H.
87248         (sha1_ctx): Renamed from sha_ctx.
87249         (sha1_init_ctx): Renamed from sha_init_ctx.
87250         (sha1_process_block): Renamed from sha_process_block.
87251         (sha1_process_bytes): Renamed from sha_process_bytes.
87252         (sha1_finish_ctx): Renamed from sha_finish_ctx.
87253         (sha1_read_ctx): Renamed from sha_read_ctx.
87254         (sha1_stream): Renamed from sha_stream.
87255         (sha1_buffer): Renamed from sha_buffer.
87256         * lib/sha1.c: Likewise; renamed from sha.c.
87257         Do not include <sys/types.h>.
87258         Include <stddef.h> rather than <stdlib.h>.
87259
87260 2004-08-08  Bruno Haible  <bruno@clisp.org>
87261
87262         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
87263         FILESYSTEM_PREFIX_LEN.
87264         * lib/progreloc.c: Likewise.
87265         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
87266
87267 2004-08-06  Simon Josefsson  <jas@extundo.com>
87268
87269         * modules/progname (Depends-on): Don't depend on stdbool.
87270
87271 2004-08-06  Simon Josefsson  <jas@extundo.com>
87272
87273         * modules/getsubopt: New file.
87274         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87275         getsubopt.
87276
87277 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87278
87279         More merge from coreutils.
87280
87281         * m4/utimens.m4, m4/utimecmp.m4: New files.
87282         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
87283         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
87284         prereq.m4, sha.m4: Import changes from coreutils.
87285
87286 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87287
87288         More merge from coreutils.
87289         * modules/raise, modules/readtokens0, modules/utimens:
87290         * modules/utimecmp, module/xnanosleep: New files.
87291         * modules/strftime: Add lib/strftime.h.
87292         Change include from <time.h> to "strftime.h".
87293         * modules/yesno: Add lib/yesno.h.
87294         * modules/backupfile: Remove lib/addext.c.
87295         * modules/euidaccess: Add stat-macros.h.
87296         * modules/canonicalize, modules/euidaccess,
87297         modules/filemode, modules/lchown, modules/makepath,
87298         modules/rmdir, modules/stat: Likewise.
87299
87300 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
87301
87302         Merge from tar.
87303         * lib/argp-help.c (make_hol, hol_append): Don't assume that
87304         SIZE_MAX is a valid preprocessor constant.
87305         (__argp_basename): Change from "#ifndef _LIBC"
87306         to "#ifndef __argp_short_program_name", so that
87307         we don't compile these functions for tar.
87308
87309         More merges from coreutils.
87310         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
87311         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
87312         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
87313         * lib/addext.c: Remove; no longer needed.
87314         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
87315         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
87316         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
87317         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
87318         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
87319         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
87320         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
87321         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
87322         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
87323         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87324         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
87325         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
87326         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
87327         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
87328         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
87329         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
87330         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
87331         Import changes from coreutils.
87332
87333 2004-08-05  Simon Josefsson  <jas@extundo.com>
87334
87335         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
87336
87337 2004-08-05  Simon Josefsson  <jas@extundo.com>
87338
87339         * m4/getsubopt.m4: New file.
87340
87341 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87342
87343         Merge from coreutils.
87344
87345         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
87346         * m4/getcwd-path-max.m4: New files.
87347
87348         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
87349         FILESYSTEM_PREFIX_LEN ->
87350         FILE_SYSTEM_PREFIX_LEN.
87351         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
87352         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
87353         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
87354         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
87355
87356         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
87357         prerequisite modules now handle the DOS stuff.
87358         Don't check for unistd.h.
87359
87360 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87361
87362         Merge from coreutils.
87363
87364         * lib/.gdb-history: Remove; this doesn't belong here.
87365
87366         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
87367         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
87368         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
87369         * lib/getcwd.c: New files.
87370
87371         * lib/dirname.h: Include <stdbool.h>.
87372         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
87373         for consistency with POSIX terminology.  All uses changed.
87374         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
87375         (strip_trailing_slashes): Use bool for booleans.
87376         * lib/stripslash.c (strip_trailing_slashes): Likewise.
87377
87378         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
87379         sometimes returns a positive errno value even when it succeeds.
87380         (print_errno_message) [!LIBC]: Fall back on strerror if
87381         __strerror_r fails.
87382
87383         * lib/path-concat.c (mempcpy): Don't define if a system header defines
87384         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
87385         (longest_relative_suffix): New function.
87386         (path_concat): Use it.  Assume first argument is not NULL.
87387         Port to DOS.  Omit redundant separators.
87388         Report an error instead of returning NULL.
87389         Use mempcpy instead of memcpy.
87390         (xpath_concat): Remove: not declared or used.
87391
87392         * lib/same.h: Include <stdbool.h>
87393         (same_name): Return bool, not int.
87394         * lib/same.c (same_name): Likewise.
87395         (errno): Don't declare; we assume C89 or better now.
87396
87397         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
87398         if not already defined.
87399
87400         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
87401         * lib/dup-safer.c (errno): Likewise.
87402
87403 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
87404
87405         Merge from coreutils.
87406         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
87407         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
87408         * modules/path-concat: Don't depend on strdup.
87409
87410 2004-08-03  Simon Josefsson  <jas@extundo.com>
87411
87412         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
87413         * lib/progname.h: Don't include stdbool.h.
87414
87415 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87416
87417         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
87418         * MODULES.html.sh (func_all_modules): Remove fatal.
87419
87420 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87421
87422         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
87423
87424 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
87425
87426         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
87427         working.
87428
87429 2004-08-02  Simon Josefsson  <jas@extundo.com>
87430
87431         * lib/getsubopt.h: New file, with comments from Bruno Haible.
87432         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
87433         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
87434
87435 2004-08-01  Simon Josefsson  <jas@extundo.com>
87436
87437         * lib/xgetdomainname.c: Include stdlib.h, for free().
87438
87439 2004-07-19  Bruno Haible  <bruno@clisp.org>
87440
87441         * MODULES.html.sh (func_all_modules): Add dummy.
87442
87443 2004-07-16  Simon Josefsson  <jas@extundo.com>
87444
87445         * modules/dummy: New file.
87446
87447 2004-07-16  Simon Josefsson  <jas@extundo.com>
87448
87449         * lib/dummy.c: New file.
87450
87451 2004-07-16  Bruno Haible  <bruno@clisp.org>
87452
87453         * lib/backupfile.h: Add extern "C" for C++.
87454         * lib/closeout.h: Likewise.
87455         * lib/copy-file.h: Likewise.
87456         * lib/findprog.h: Likewise.
87457         * lib/full-write.h: Likewise.
87458         * lib/pathname.h: Likewise.
87459         * lib/progname.h: Likewise.
87460         * lib/stpcpy.h: Likewise.
87461         * lib/stpncpy.h: Likewise.
87462         * lib/strcase.h: Likewise.
87463         * lib/strstr.h: Likewise.
87464         * lib/xalloc.h: Likewise.
87465
87466         * lib/mbswidth.h: Add extern "C" for C++.
87467         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
87468
87469 2004-07-13  Robert Millan  <robertmh@gnu.org>
87470
87471         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
87472
87473 2004-07-09  Simon Josefsson  <jas@extundo.com>
87474
87475         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
87476         failed without this.)
87477
87478 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87479
87480         * modules/chown (Files): Add lib/fchown-stub.c, since
87481         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
87482
87483 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
87484
87485         * lib/fchown-stub.c: New file.
87486
87487 2004-06-24  Jim Meyering  <jim@meyering.net>
87488
87489         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
87490
87491 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87492
87493         * modules/argz: Omit "#include".
87494
87495         * MODULES.html.sh (func_all_modules): Add calloc, to match
87496         2004-06-01 addition of calloc module.
87497
87498 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87499
87500         * m4/argz.m4: New file, which is autoupdated from libtool.
87501
87502 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87503
87504         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
87505         libtool.
87506
87507 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
87508
87509         * config/srclist-update: Don't insist on "USA." before the
87510         close-comment, as libtool omits the period and puts the */ on a
87511         separate line.
87512         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
87513         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
87514
87515 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
87516
87517         * modules/argz: New file.
87518         * MODULES.html.sh (func_all_modules): Add argz.
87519
87520 2004-06-12  Jim Meyering  <jim@meyering.net>
87521         and  Paul Eggert  <eggert@cs.ucla.edu>
87522
87523         * modules/hash (Files): Add lib/xalloc.h.
87524         * modules/pipe (Depends-on): Add wait-process.
87525         * modules/stat (Depends-on): Add xalloc.
87526         * modules/userspec (Files): Add lib/userspec.h.
87527         * modules/xstrto
87528
87529         Upgrade from gettext-0.13.
87530         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
87531         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
87532         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
87533
87534 2004-06-10  Jim Meyering  <jim@meyering.net>
87535
87536         * lib/calloc.c: New file.
87537
87538 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
87539
87540         * lib/getdate.y (yylex): Allow space between sign and number.
87541         Problem reported by Dan Jacobson.
87542
87543 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87544
87545         Merge from coreutils CVS.
87546
87547         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
87548         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
87549         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
87550         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
87551         xstrtol.m4: Fix copyright date and/or serial number.
87552
87553         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
87554         See if we need an fchown replacement.
87555         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
87556         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
87557         and use the replacement function if we detect either defect.
87558
87559         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
87560         gl_UTIMECMP.
87561
87562 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
87563         and  Jim Meyering  <jim@meyering.net>
87564
87565         Merge from coreutils CVS.
87566
87567         * lib/stat-macros.h: New file, with contents from file-type.h
87568         and coreutils' system.h.
87569         * lib/file-type.c: Include "stat-macros.h".
87570         * lib/file-type.h (file_type): Move all macro definitions to new file,
87571         stat-macros.h.
87572
87573         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
87574         Wrap old code with this conditional.
87575         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
87576         function that does not dereference symlinks.
87577         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
87578
87579         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
87580         dependency problems.
87581         (xreadlink): Accept new arg SIZE, for efficiency.
87582         All decls and uses changed.
87583         * lib/xreadlink.h: Include <stddef.h>, for size_t.
87584
87585         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
87586         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
87587
87588         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
87589         sysexits.h.
87590
87591 2004-06-01  Jim Meyering  <jim@meyering.net>
87592
87593         * m4/calloc.m4: New file.
87594
87595 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
87596
87597         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
87598         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
87599         Also, fix a typo in a diagnostic.
87600
87601 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87602
87603         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
87604         or AC_FUNC_REALLOC.
87605
87606 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
87607
87608         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
87609         macros to be defined.
87610         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
87611         the allocator returns NULL because the requested size is zero.
87612
87613 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87614
87615         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
87616         var.  Add comment explaining why libc still defines it.  This
87617         merges the following patch from glibc:
87618         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
87619
87620 2004-05-20  Andreas Schwab  <schwab@suse.de>
87621
87622         * m4/free.m4: Replace free if it not known to work, not the other
87623         way round.
87624
87625 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
87626
87627         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
87628         present in glibc since revision 1.1 of this file.
87629         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
87630         obstack_alignment_mask, obstack_alloc, obstack_base,
87631         obstack_blank, obstack_blank_fast, obstack_chunk_size,
87632         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
87633         obstack_grow0, obstack_init, obstack_int_grow,
87634         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
87635         obstack_next_free, obstack_object_size, obstack_ptr_grow,
87636         obstack_ptr_grow_fast, obstack_room): Remove declarations of
87637         nonexistent functions.
87638
87639 2004-05-18  Karl Berry  <karl@gnu.org>
87640
87641         * config/srclist.txt: break link for vasnprintf.c.
87642
87643 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87644
87645         Port obstack to the AS/400, where pointers are 16 bytes wide and
87646         you cannot cast an integer to a valid pointer.  This patch is
87647         currently waiting to be integrated into glibc; see
87648         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
87649
87650         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
87651         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
87652         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
87653         (struct obstack): temp member is now a union of a pointer and
87654         an integer, instead of an integer.  All integer uses changed.
87655         This does not affect the physical layout of struct obstack,
87656         except on hosts (like the AS/400) where the size or alignment of
87657         void * is greater than that of ptrdiff_t.
87658         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
87659         __STDC__)]: Store temporary in pointer member of union, not
87660         integer member.
87661         * lib/obstack.c: Include <stddef.h>, for offsetof.
87662         (struct fooalign): Remove; it doesn't need a name.
87663         (union fooround): Change double to long double, and add void *.
87664         (DEFAULT_ALIGNMENT): Use offsetof to compute.
87665         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
87666         not a macro.  Hence the values are always int; so remove all
87667         casts-to-int in uses.
87668
87669 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
87670
87671         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
87672         we can get this patch merged into glibc.
87673
87674 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87675             Paul Eggert  <eggert@cs.ucla.edu>
87676
87677         * m4/argp: Depend on alloca.
87678
87679 2004-05-17  Derek R. Price  <derek@ximbiot.com>
87680             Paul Eggert  <eggert@cs.ucla.edu>
87681
87682         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
87683         freecoding.
87684
87685 2004-05-17  Bruno Haible  <bruno@clisp.org>
87686
87687         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
87688         precision that consists of a '.' followed by an empty digit string.
87689         Patch by Tor Lillqvist <tml@iki.fi>.
87690
87691 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87692
87693         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
87694         for backward compatibility with older code.  We need our own
87695         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
87696         it under some other name, and our alloca.h will define it.
87697
87698 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
87699             Derek Price  <derek@ximbiot.com>
87700
87701         * lib/alloca.c: Include <alloca.h>, to get our interface.
87702         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
87703         include <alloca.h> first.  Use C89 prototype for alloca; this
87704         requires including <stddef.h> for size_t.  Use extern "C" if C++.
87705         Use #elif for simplicity, since we can assume C89 now.
87706         Don't try to source the system alloca.h since it will not be found
87707         and to prevent recursively including its replacement.
87708         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
87709         * lib/regex.c: Likewise.
87710
87711 2004-05-16  Derek Price  <derek@ximbiot.com>
87712             Paul Eggert  <eggert@cs.ucla.edu>
87713
87714         getline cleanup.  This changes the getndelim2 API: both order of
87715         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
87716         no delimiter).
87717
87718         * lib/getline.c: Don't include stddef.h or stdio.h, since our
87719         interface does that.
87720         (getline): Always use getdelim, so that we don't have two
87721         copies of this code.
87722         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
87723         if available.
87724         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
87725         (GETNDELIM2_MAXIMUM): New macro.
87726         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
87727         instead of the old practice of delim2==0.  All callers changed.
87728         Return -1 on overflow, instead of returning junk.
87729         Do not set *linesize unless allocation succeeds.
87730         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
87731         that we include sys/types.h.
87732         * lib/getnline.h: Likewise.
87733         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
87734         (getndelim2): Reorder arguments.
87735         * lib/getnline.c (getnline, getndelim):
87736         Don't discard the NMAX argument.
87737         (getnline): Invoke getndelim, to avoid code duplication.
87738         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
87739         of (size_t) -1 by callers of the getnline family.
87740
87741 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87742
87743         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
87744         Check for gettimeofday.
87745         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
87746         Check for settimeofday, stime.
87747
87748 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87749
87750         * lib/nanosleep.c (suspended): Change its type from int to
87751         sig_atomic_t volatile.
87752         (first_call): Make it private to rpl_nanosleep, and have it
87753         be zero initially as that's a bit faster.
87754         (my_usleep): Round up fractional times instead of truncating them,
87755         as this is the usual meaning for 'sleep'.
87756
87757         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
87758         doesn't work.
87759         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
87760         (ENOSYS): Define if not defined.
87761         (settime): Fall back on stime if it exists and settimeofday fails.
87762         But don't bother with fallbacks if a method fails with errno == EPERM.
87763
87764 2004-05-11  Jim Meyering  <jim@meyering.net>
87765
87766         Prior to this change, the save_cwd caller required read access to the
87767         current directory on most systems (ones with the fchdir function).
87768
87769         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
87770         fails, try write-only, and finally, resort to using xgetcwd.
87771
87772 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87773
87774         * lib/obstack.c, obstack.h: Import changes from libc.
87775
87776 2004-04-28  Bruno Haible  <bruno@clisp.org>
87777
87778         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
87779         also implicitly appends .exe to executables.
87780         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
87781         accepts Windows pathnames.
87782         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87783         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87784         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
87785         Treat Cygwin like Windows, since it now accepts Windows pathnames.
87786         Reported by Derek Robert Price <derek@ximbiot.com>.
87787
87788 2004-04-21  Karl Berry  <karl@gnu.org>
87789
87790         * config/srclist.txt (localcharset.c): break sync.
87791
87792 2004-04-20  Paul Eggert  <eggert@twinsun.com>
87793
87794         * m4/host-os.m4: Add a copyright notice.
87795
87796 2004-04-20  Jim Meyering  <jim@meyering.net>
87797
87798         Change UTILS_ to gl_ in AC_DEFINE'd names.
87799         Change utils_- and jm_-prefixed variables, too.
87800         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
87801         UTILS_FUNC_MKDIR_TRAILING_SLASH.
87802         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
87803
87804         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
87805         Don't emit trailing blanks.
87806         Also rename jm_-prefixed variables to have gl_ prefix.
87807
87808         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
87809         Also rename jm_-prefixed variables to have gl_ prefix.
87810
87811         * m4/jm-macros.m4: Reflect the renamings.
87812         * m4/prereq.m4: Likewise.
87813
87814 2004-04-20  Jim Meyering  <jim@meyering.net>
87815
87816         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
87817         memory.
87818
87819 2004-04-20  Jim Meyering  <jim@meyering.net>
87820             Bruno Haible  <bruno@clisp.org>
87821
87822         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
87823         memory when realloc fails.
87824
87825 2004-04-19  Jim Meyering  <jim@meyering.net>
87826
87827         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
87828         now that readutmp.c may call `free (0)'.
87829
87830 2004-04-19  Bruno Haible  <bruno@clisp.org>
87831
87832         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
87833         * m4/inttypes_h.m4: Likewise.
87834         * m4/stdint_h.m4: Likewise.
87835         * m4/intmax_t.m4: Likewise.
87836         * m4/uintmax_t.m4: Likewise.
87837
87838 2004-04-18  Jim Meyering  <jim@meyering.net>
87839
87840         * m4/prereq.m4: Don't forbid jm_ prefix.
87841
87842         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
87843         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
87844         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
87845         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
87846         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
87847         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
87848         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
87849         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
87850         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
87851         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
87852         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
87853         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
87854         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
87855         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
87856         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
87857         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
87858         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
87859         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
87860         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
87861
87862 2004-04-18  Jim Meyering  <jim@meyering.net>
87863
87864         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
87865         failure, don't leak memory and do call END_UTMP_ENT.
87866
87867 2004-04-16  Jim Meyering  <jim@meyering.net>
87868
87869         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
87870         coreutils' stat program.
87871         (gl_PREREQ): Don't require jm_PREREQ_STAT.
87872
87873 2004-04-11  Paul Eggert  <eggert@twinsun.com>
87874
87875         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
87876         C89.
87877         (CHAR_BIT): Remove, since we assume C89.
87878         Include <stdint.h> if available, as per current Autoconf CVS advice.
87879
87880 2004-03-31  Jim Meyering  <jim@meyering.net>
87881
87882         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
87883         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
87884         * m4/xalloc.m4: Likewise.
87885
87886 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87887
87888         Merge from coreutils.
87889
87890         * m4/inttostr.m4: New file.
87891         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
87892         Require AM_STDBOOL_H and gl_TIMESPEC instead.
87893         Require gl_CLOCK_TIME.
87894         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
87895
87896 2004-03-30  Paul Eggert  <eggert@twinsun.com>
87897
87898         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
87899         not bool, to be more consistent with Unix conventions.
87900         Suggested by Bruno Haible.
87901
87902         Merge from coreutils.
87903
87904         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
87905         * lib/umaxtostr.c: New files.
87906
87907         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
87908         the usual <time.h> dance.
87909         (get_date): Change signature to support fractional time stamps.
87910         All callers changed.
87911         * lib/getdate.y: Include "getdate.h" first, as we can now
87912         assume C89 and don't need to worry about 'const'.
87913         Similarly, include "unlocked-io.h" near start, not in middle.
87914         Include <limits.h>.
87915         (textint.value): Use long int rather than int.
87916         (textint.digits): Use size_t rather than int.
87917         (BILLION, LOG10_BILLION): New constants.
87918         (parser_control): New member rel_ns.  Members day_ordinal,
87919         time_zone, month, day, hour, minutes, rel_year, rel_month,
87920         rel_day, rel_hour, rel_minutes, rel_seconds
87921         are now long int, not int.  Member seconds is now struct timespec,
87922         not int.  New member timespec_seen.  Members dates_seen, days_seen,
87923         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
87924         not int.
87925         (%union.intval): Now long int, not int.
87926         New member timespec.
87927         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
87928         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
87929         (spec): Now is a timespec or an item list.
87930         (timespec, items): New nonterminals.
87931         (time, rel, relunit, number, get_date):
87932         Add support for fractional seconds.
87933         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
87934         (gmtime, localtime, mktime): Remove decls; not needed with C89.
87935         (to_hour): First arg is now long int, not int.
87936         (to_year): Returns long int, not int.
87937         Don't treat year -70 like 70.
87938         (tm_diff): Returns long int, not int.
87939         (lookup_word): Use bool instead of int when appropriate.
87940         (yylex): Use size_t for count, not int.
87941         Detect overflow when parsing large integer constants.
87942         Add support for fractions.
87943         (get_date): Make pointers 'const' if possible.
87944         Use more-portable code to detect integer overflow.
87945         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
87946         Don't use ctime; it's not reliable if the year has >4 digits.
87947
87948         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
87949         This is for compatibility with BSD.
87950
87951         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
87952         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
87953         From coreutils' system.h.
87954
87955         * lib/userspec.c: Don't include "posixver.h".
87956         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
87957         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
87958         compatible extension.  Simplify code by removing a boolean int
87959         that was always nonzero if a string was nonnull.
87960
87961 2004-03-30  Jim Meyering  <jim@meyering.net>
87962
87963         Merge from coreutils.
87964
87965         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
87966         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
87967         on some systems one must include <grp.h> before it.
87968         Reported by Christian Krackowizer.
87969
87970 2004-03-30  Jim Meyering  <jim@meyering.net>
87971
87972         Merge from coreutils.
87973
87974         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
87975
87976         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
87977         an empty input stream.
87978
87979         * lib/readtokens.c: Include <stdbool.h>.
87980         (readtoken): Use `size_t' rather than int/long.
87981         All callers adjusted.
87982         Use `bool' rather than `int' where appropriate.
87983         Use memset rather than an explicit loop.
87984         Use x2nrealloc rather than xrealloc.
87985         Allow the use of `\0' as a delimiter.
87986         (readtokens): Likewise.
87987         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
87988
87989 2004-03-30  Jim Meyering  <jim@meyering.net>
87990
87991         * m4/realloc.m4: Remove file, since now it does no more than
87992         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
87993         the `configure.ac' section of module/realloc.
87994         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
87995
87996 2004-03-30  Bruno Haible  <bruno@clisp.org>
87997
87998         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
87999         nonnull.
88000
88001 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88002
88003         Merge changes to getloadavg.c from coreutils and Emacs.
88004
88005         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
88006         Define to an expression, not to the empty string.
88007         Include cloexec.h and xalloc.h.
88008         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
88009         Use set_cloexec_flag rather than rolling our own.
88010         * lib/cloexec.c, lib/cloexec.h: New files.
88011
88012 2004-03-29  Paul Eggert  <eggert@twinsun.com>
88013
88014         * m4/cloexec.m4: New file.
88015
88016 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88017
88018         * lib/getopt.h: Sync with libc CVS.
88019
88020 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88021             Bruno Haible  <bruno@clisp.org>
88022
88023         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
88024         mbswidth.
88025
88026 2004-03-18  Paul Eggert  <eggert@twinsun.com>
88027             Bruno Haible  <bruno@clisp.org>
88028
88029         * lib/mbswidth.h: Include <wchar.h> only if
88030         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
88031         <wchar.h>.
88032         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
88033
88034 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88035
88036         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
88037         Sync with libc CVS.
88038         * lib/getopt_int.h: New file, also synced from libc.
88039
88040 2004-03-09  Paul Eggert  <eggert@twinsun.com>
88041
88042         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
88043         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
88044         Bring back getopt.c, getopt.h, getopt1.c.
88045
88046 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88047
88048         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
88049         All uses changed.  Check for sa_sigaction member; this fixes
88050         a bug first reported by Jason Andrade in
88051         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88052
88053 2004-03-07  Paul Eggert  <eggert@twinsun.com>
88054
88055         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
88056         '#if' expressions.  Unlike the code it replaces, it does not
88057         depend on (defined _SC_PAGESIZE).  However, it does depend on
88058         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
88059         first reported by Jason Andrade in
88060         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
88061
88062 2004-02-25  Simon Josefsson  <jas@extundo.com>
88063
88064         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
88065
88066 2004-02-25  Simon Josefsson  <jas@extundo.com>
88067
88068         * lib/strdup.h: New file.
88069         * lib/strdup.c: Include it.
88070         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
88071         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
88072
88073 2004-02-23  Karl Berry  <karl@gnu.org>
88074
88075         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
88076         (from fencepost.gnu.org:/gd/gnuorg).
88077
88078 2004-02-23  Karl Berry  <karl@gnu.org>
88079
88080         * config/srclistvars.sh (GNUORG) [karl]: redefine.
88081         * config/srclist.txt: add maintain/standards documents.
88082
88083 2004-02-18  Bruno Haible  <bruno@clisp.org>
88084
88085         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
88086         Reported by Derek Robert Price <derek@ximbiot.com>.
88087
88088 2004-02-16  Karl Berry  <karl@gnu.org>
88089
88090         * config/mkinstalldirs, install-sh: update from automake.
88091
88092 2004-02-06  Karl Berry  <karl@gnu.org>
88093
88094         * m4/po.m4: update from gettext 0.14.1.
88095
88096 2004-02-06  Karl Berry  <karl@gnu.org>
88097
88098         * lib/config.charset: update from gettext 0.14.1.
88099
88100 2004-02-05  Paul Eggert  <eggert@twinsun.com>
88101
88102         Add comments and code, prompted by suggestions from Bruno Haible
88103         for sh-quote.
88104         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
88105         describing the enum quoting_style values.
88106         * lib/quotearg.c (quotearg_alloc): New function.
88107         (quotearg_buffer_restyled): Treat lone { and } as special.
88108         Treat = as special.  Work around bug with older shells
88109         that "see" a '\' that is really the 2nd byte of a multibyte char.
88110         Quote empty string with shell_quoting_style.
88111
88112 2004-02-03  Bruno Haible  <bruno@clisp.org>
88113
88114         * m4/pipe.m4: New file, from GNU gettext.
88115
88116 2004-02-03  Bruno Haible  <bruno@clisp.org>
88117
88118         * lib/pipe.h: New file, from GNU gettext.
88119         * lib/pipe.c: New file, from GNU gettext.
88120
88121 2004-01-27  Bruno Haible  <bruno@clisp.org>
88122
88123         * m4/execute.m4: New file, from GNU gettext.
88124
88125 2004-01-27  Bruno Haible  <bruno@clisp.org>
88126
88127         * lib/execute.h: New file, from GNU gettext.
88128         * lib/execute.c: New file, from GNU gettext.
88129         * lib/w32spawn.h: New file, from GNU gettext.
88130
88131 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88132
88133         Merge from diffutils.
88134
88135         * lib/file-type.c (file_type): Add typed memory objects.
88136         * lib/file-type.h (S_TYPEISTMO): New macro.
88137
88138         * lib/c-stack.h (c_stack_action): Remove argv argument.
88139         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
88140         (die): Don't calculate message unless segv_action returns.
88141         (get_stack_location, min_address_from_argv, max_address_from_argv,
88142         volatile stack_base, volatile_stack_size): Remove.
88143         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
88144         that every segmentation violation is a stack overflow.  (Ouch!)
88145         See Debian bug 136249 (still outstanding) for more info about why
88146         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
88147
88148 2004-01-24  Paul Eggert  <eggert@twinsun.com>
88149
88150         Exit-status fix from coreutils.
88151
88152         Use exit_failure consistently in place of EXIT_FAILURE,
88153         so that program exit statuses are consistent on failure.
88154
88155         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
88156         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
88157         * lib/argmatch.h: Comment fix to match the above.
88158         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
88159         Now a macro referring to exit_failure, instead of a separate
88160         variable.  Include "exitfail.h" to get it.
88161         * lib/xstrtol.h: Include "exitfail.h".
88162         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
88163
88164         * lib/long-options.c (parse_long_options): Use prototype
88165         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
88166         for clarity.
88167
88168 2004-01-21  Jim Meyering  <jim@meyering.net>
88169
88170         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
88171         so as not to conflict with a different-sized __mktime_internal
88172         function in GNU libc.
88173         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
88174         Problem building statically-linked `ls' reported by Michael Brunnbauer.
88175
88176 2004-01-20  Karl Berry  <karl@gnu.org>
88177
88178         * config/config.guess: update from config.
88179
88180         * config/srclistvars.sh: GNUWWWLICENSES for karl.
88181
88182 2004-01-20  Bruno Haible  <bruno@clisp.org>
88183
88184         Safer stack allocation.
88185         * lib/setenv.c: Include allocsa.h.
88186         (alloca): Remove fallback definition.
88187         (freea): Remove macro.
88188         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
88189         instead of freea.
88190
88191 2004-01-20  Bruno Haible  <bruno@clisp.org>
88192
88193         * m4/eealloc.m4: New file, from GNU gettext.
88194
88195 2004-01-20  Bruno Haible  <bruno@clisp.org>
88196
88197         * m4/allocsa.m4: New file, from GNU gettext.
88198
88199 2004-01-20  Bruno Haible  <bruno@clisp.org>
88200
88201         * lib/xallocsa.h: New file, from GNU gettext.
88202         * lib/xallocsa.c: New file, from GNU gettext.
88203
88204 2004-01-20  Bruno Haible  <bruno@clisp.org>
88205
88206         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
88207
88208 2004-01-20  Bruno Haible  <bruno@clisp.org>
88209
88210         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
88211         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
88212         specially.
88213
88214 2004-01-20  Bruno Haible  <bruno@clisp.org>
88215
88216         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
88217         patch.
88218
88219 2004-01-20  Bruno Haible  <bruno@clisp.org>
88220
88221         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
88222
88223 2004-01-20  Bruno Haible  <bruno@clisp.org>
88224
88225         * lib/eealloc.h: New file.
88226
88227 2004-01-20  Bruno Haible  <bruno@clisp.org>
88228
88229         * lib/binary-io.h: Avoid warnings on Cygwin.
88230
88231 2004-01-20  Bruno Haible  <bruno@clisp.org>
88232
88233         * lib/allocsa.h: New file, from GNU gettext.
88234         * lib/allocsa.c: New file, from GNU gettext.
88235
88236 2004-01-18  Karl Berry  <karl@gnu.org>
88237
88238         * doc/gpl.texi, doc/lgpl.texi: new files.
88239
88240 2004-01-18  Karl Berry  <karl@gnu.org>
88241
88242         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
88243         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
88244
88245 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88246
88247         Merge from coreutils.
88248
88249         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
88250         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
88251         (gl_DEFAULT_POSIX2_VERSION): Move
88252         the documentation from 'configure' into 'config.hin',
88253         so that 'configure --help' isn't burdened by it and
88254         we don't have to worry about its formatting there.
88255         Reword the documentation so that it's more succinct
88256         and can be run together into a single paragraph.
88257         * m4/same.m4 (gl_SAME): Check for pathconf.
88258
88259 2004-01-15  Paul Eggert  <eggert@twinsun.com>
88260
88261         Merge from coreutils.
88262
88263         * lib/posixver.c: Include posixver.h.
88264
88265         * lib/same.c: Include <stdbool.h>, <limits.h>.
88266         (_POSIX_NAME_MAX): Define if not defined.
88267         (MIN): New macro.
88268         (same_name): If file names are silently truncated, report
88269         that the file names are the same if they are the same after
88270         the silent truncation.
88271
88272         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
88273         conversion function.
88274         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
88275         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
88276         longer needed.
88277
88278 2004-01-15  Jim Meyering  <jim@meyering.net>
88279
88280         Merge from coreutils.
88281
88282         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
88283         if no library is required.
88284         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
88285         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
88286         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
88287         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
88288         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
88289         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
88290         value, $ac_cv_search_crypt, if it's "none required".
88291         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
88292         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
88293         not gl_FUNC_GETLOADAVG.
88294         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
88295         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
88296
88297 2004-01-15  Jim Meyering  <jim@meyering.net>
88298
88299         Merge from coreutils.
88300
88301         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
88302         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
88303         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
88304
88305         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
88306         optional configure-time default.
88307
88308         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88309
88310         * lib/xreadlink.c (xreadlink): Correct outdated comment.
88311
88312 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
88313
88314         Merge from coreutils.
88315
88316         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
88317         value, $ac_cv_search_nanosleep, if it's "none required".
88318
88319 2004-01-14  Paul Eggert  <eggert@twinsun.com>
88320
88321         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
88322         with like-named macro in fnmatch.c.
88323         (EXT): Use an internal constant instead.
88324
88325         Merge fnmatch patches from glibc.
88326         * lib/fnmatch.c (mbsinit): Remove define.
88327         Add libc_hidden_ver (__fnmatch, fnmatch).
88328         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
88329         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
88330
88331 2004-01-14  Karl Berry  <karl@gnu.org>
88332
88333         * config/install-sh: update from automake.
88334
88335 2004-01-13  Karl Berry  <karl@gnu.org>
88336
88337         * config/install-sh: update from automake.
88338
88339 2004-01-09  Karl Berry  <karl@gnu.org>
88340
88341         * config/install-sh: update from automake.
88342
88343 2004-01-05  Karl Berry  <karl@gnu.org>
88344
88345         * config/config.{sub,guess}: update from config.
88346
88347 2003-12-31  Karl Berry  <karl@gnu.org>
88348
88349         * config/depcomp: update from automake.
88350
88351 2003-12-14  Karl Berry  <karl@gnu.org>
88352
88353         * lib/config.charset: update from gettext-runtime.
88354
88355 2003-12-03  Paul Eggert  <eggert@twinsun.com>
88356
88357         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
88358         Bug reported by Alfred M. Szmidt.
88359
88360 2003-12-03  Bruno Haible  <bruno@clisp.org>
88361
88362         * m4/gettext.m4: Upgrade from gettext-0.13.
88363         * m4/po.m4: Upgrade from gettext-0.13.
88364         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
88365         * m4/intmax.m4: New file, from gettext-0.13.
88366         * m4/printf-posix.m4: New file, from gettext-0.13.
88367
88368 2003-11-29  Karl Berry  <karl@gnu.org>
88369
88370         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
88371
88372 2003-11-25  Paul Eggert  <eggert@twinsun.com>
88373             Bruno Haible  <bruno@clisp.org>
88374
88375         * lib/printf-parse.h: Don't include sys/types.h.
88376         (ARG_NONE): New macro.
88377         (char_directive): Change type of *arg_index fields to size_t.
88378         * lib/printf-parse.c: Don't include sys/types.h.
88379         (SSIZE_MAX): Remove macro.
88380         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
88381         Remove unnecessary overflow check.
88382         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
88383         fields.
88384
88385 2003-11-25  Bruno Haible  <bruno@clisp.org>
88386
88387         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
88388
88389 2003-11-25  Bruno Haible  <bruno@clisp.org>
88390
88391         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
88392         gt_TYPE_SSIZE_T.
88393
88394 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88395
88396         * modules/alloca: Remove dependency on xalloc.
88397
88398 2003-11-24  Paul Eggert  <eggert@twinsun.com>
88399
88400         * lib/alloca.c: Remove dependency on xalloc module.
88401         (xalloc_die): Remove.
88402         (memory_full) [!defined emacs]: New macro.
88403         [!defined emacs]: Don't include xalloc.h.
88404         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
88405         address arithmetic overflows.  Change datatypes a bit to avoid
88406         unnecessary casts.
88407
88408 2003-11-22  Jim Meyering  <jim@meyering.net>
88409
88410         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
88411         s/size/size_t/.
88412
88413 2003-11-21  Karl Berry  <karl@gnu.org>
88414
88415         * config/config.{sub,guess}: update from config.
88416
88417 2003-11-18  Karl Berry  <karl@gnu.org>
88418
88419         * config/config.{sub,guess}: update from config.
88420
88421         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
88422
88423 2003-11-17  Paul Eggert  <eggert@twinsun.com>
88424
88425         * README: Mention that S+T cannot overflow if S is the size of
88426         an existing object and T is sufficiently small.
88427
88428 2003-11-17  Jim Meyering  <jim@meyering.net>
88429
88430         On systems without utime and without a utimes function capable of
88431         dealing with a NULL struct utimbuf* argument, this utime replacement
88432         could -- in unusual circumstances -- leak a file descriptor.
88433         * lib/utime.c: Include <unistd.h> and <errno.h>.
88434         (utime_null): Be sure to close `fd' and to preserve errno.
88435         Reported by Geoff Collyer via Arnold Robbins.
88436
88437 2003-11-17  Bruno Haible  <bruno@clisp.org>
88438
88439         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
88440         (Depends-on): Add xsize.
88441
88442 2003-11-17  Bruno Haible  <bruno@clisp.org>
88443
88444         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
88445
88446 2003-11-17  Bruno Haible  <bruno@clisp.org>
88447
88448         * lib/vasnprintf.c (alloca): Remove fallback definition.
88449         (freea): Remove definition.
88450         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
88451         Reported by Paul Eggert.
88452
88453 2003-11-16  Paul Eggert  <eggert@twinsun.com>
88454             Bruno Haible  <bruno@clisp.org>
88455
88456         Protect against address arithmetic overflow.
88457         * lib/printf-args.h: Include stddef.h.
88458         (arguments): Change type of field 'count' to size_t.
88459         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
88460         'unsigned int' where appropriate.
88461         * lib/printf-parse.h: Include sys/types.h.
88462         (char_directive): Change type of *arg_index fields to ssize_t.
88463         (char_directives): Change type of fields 'count', max_*_length to
88464         size_t.
88465         * lib/printf-parse.c: Include sys/types.h and xsize.h.
88466         (SSIZE_MAX): Define fallback value.
88467         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
88468         instead of 'int' where appropriate. Check a_allocated, d_allocated
88469         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
88470         * lib/vasnprintf.c: Include xsize.h.
88471         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
88472         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
88473         overflow. Avoid wraparound when converting a width or precision from
88474         decimal to binary.
88475
88476 2003-11-16  Bruno Haible  <bruno@clisp.org>
88477
88478         Update from GNU gettext.
88479         * lib/printf-parse.c: Generalize to it can be compiled for wide
88480         strings.
88481         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
88482         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
88483         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
88484         SNPRINTF): New macros.
88485         Don't include <alloca.h> if the file is used inside libintl.
88486         (local_wcslen): New function, for Solaris 2.5.1.
88487         (VASNPRINTF): Use it instead of wcslen.
88488
88489 2003-11-16  Bruno Haible  <bruno@clisp.org>
88490
88491         * lib/xsize.h (xmax): New function.
88492         (xsum, xsum3, xsum4): Declare as "pure" functions.
88493
88494 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88495
88496         * modules/xalloc (Files): Undo latest change, since xalloc.h
88497         no longer needs SIZE_MAX or PTRDIFF_MAX.
88498
88499 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88500
88501         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
88502         gl_PTRDIFF_MAX.
88503
88504 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88505
88506         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
88507         "return", to pacify some unknown compiler.  Problem reported
88508         by Joerg Schilling.
88509
88510 2003-11-12  Paul Eggert  <eggert@twinsun.com>
88511
88512         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
88513         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
88514         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
88515         heuristic is just as accurate as far as we know, and it removes a
88516         dependency on size_max.m4 and ptrdiff_max.m4.
88517
88518 2003-11-11  Bruno Haible  <bruno@clisp.org>
88519
88520         * modules/xsize (Files): Add m4/size_max.m4.
88521         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
88522
88523 2003-11-11  Bruno Haible  <bruno@clisp.org>
88524
88525         * m4/size_max.m4: New file.
88526         * m4/ptrdiff_max.m4: New file.
88527         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
88528         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
88529         (gl_XALLOC): Invoke it.
88530
88531 2003-11-11  Bruno Haible  <bruno@clisp.org>
88532
88533         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
88534         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
88535         defined.
88536
88537 2003-11-10  Paul Eggert  <eggert@twinsun.com>
88538
88539         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
88540         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
88541         rejected some allocations of exactly SIZE_MAX - 2 bytes.
88542         From Bruno Haible.
88543         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
88544         not (size_t) -1, since it's defined here.
88545
88546 2003-11-09  Karl Berry  <karl@gnu.org>
88547
88548         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
88549
88550 2003-11-06  Paul Eggert  <eggert@twinsun.com>
88551
88552         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
88553         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
88554         Reject sizes of exactly SIZE_MAX bytes.
88555         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
88556         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
88557
88558 2003-11-05  Bruno Haible  <bruno@clisp.org>
88559
88560         * lib/xsize.h: Include limits.h, to avoid a possible collision with
88561         SIZE_MAX defined in <limits.h> on Solaris.
88562
88563 2003-11-04  Jim Meyering  <jim@meyering.net>
88564
88565         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
88566         variable names, rather than @VAR@.
88567         * modules/poll: Likewise.
88568
88569 2003-11-04  Bruno Haible  <bruno@clisp.org>
88570
88571         * modules/xsize: New file.
88572         * modules/linebreak: Depend on xsize.
88573         * MODULES.html.sh (func_all_modules): Add xsize.
88574
88575 2003-11-04  Bruno Haible  <bruno@clisp.org>
88576
88577         * m4/xsize.m4: New file.
88578
88579 2003-11-04  Bruno Haible  <bruno@clisp.org>
88580
88581         * lib/xsize.h: New file.
88582         * lib/linebreak.c: Include xsize.h.
88583         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
88584         argument for overflow.
88585         Suggested by Paul Eggert.
88586
88587 2003-11-03  Karl Berry  <karl@gnu.org>
88588
88589         * config/config.{guess,sub}: update from config.
88590
88591 2003-11-03  Jim Meyering  <jim@meyering.net>
88592
88593         * modules/userspec (lib_SOURCES): Add userspec.h.
88594         (Include): Add "userspec.h".
88595         Improve description.
88596
88597 2003-11-03  Jim Meyering  <jim@meyering.net>
88598
88599         * lib/userspec.c: Include "userspec.h".
88600         * lib/userspec.h: New file.
88601
88602 2003-11-03  Bruno Haible  <bruno@clisp.org>
88603
88604         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
88605
88606 2003-11-03  Bruno Haible  <bruno@clisp.org>
88607
88608         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
88609         available, to avoid (extremely rare) race condition.
88610         Suggested by Paul Eggert.
88611
88612 2003-11-02  Karl Berry  <karl@gnu.org>
88613
88614         * config/srclist.txt (vasprintf.c): sync broken, sigh.
88615
88616 2003-10-31  Paul Eggert  <eggert@twinsun.com>
88617
88618         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
88619         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
88620         (read_filesystem_list): Set and use me_type_malloced.
88621         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
88622         whatever the type happens to be), for brevity and consistency.
88623         Check for size calculation overflow on Alphas running OSF/1.
88624
88625 2003-10-31  Jim Meyering  <jim@meyering.net>
88626
88627         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
88628
88629         * lib/linebuffer.c: Include <string.h> for declaration of memset.
88630
88631 2003-10-30  Paul Eggert  <eggert@twinsun.com>
88632             Bruno Haible  <bruno@clisp.org>
88633
88634         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
88635         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
88636
88637 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
88638
88639         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
88640         netbsd*-gnu*.  Suggested by Robert Millan.
88641
88642 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88643
88644         * modules/group-member: Depend on stdbool.
88645
88646 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88647
88648         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
88649
88650 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88651
88652         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
88653         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
88654         after the 'gnu' in these cases.  This fixes some bugs in the
88655         previous change, and is based on suggestions by Robert Millan.
88656
88657 2003-10-29  Paul Eggert  <eggert@twinsun.com>
88658
88659         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
88660         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
88661         no longer needed.
88662         * lib/quotearg.c (quotearg_n_options): Use it.
88663         * lib/group-member.c: Include <stdbool.h>.
88664         (free_group_info): Arg is now const *; don't free arg.
88665         (get_group_info): Now returns bool and accepts struct group_info *,
88666         rather than returning a malloc'ed struct group_info *.
88667         All uses changed.  Check for overflow in internal size calculation.
88668
88669         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
88670         rather than xmalloc/xrealloc.
88671         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
88672         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
88673         conformance bug: the old code used a pointer after freeing the
88674         storage that it addressed.
88675         * lib/hash.c (hash_initialize): Simplify the code by using
88676         xalloc_oversized rather than doing it by hand.
88677         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
88678         the buffer preserved.  Use free and xmalloc instead.
88679         * lib/quotearg.c (quotearg_n_options): Likewise.
88680         Use a simpler test for size overflow.  Don't use xalloc_oversized
88681         because unsigned int might be wider than size_t (!); this suggests
88682         that we should switch from unsigned int to size_t for slot numbers.
88683
88684 2003-10-28  Paul Eggert  <eggert@twinsun.com>
88685
88686         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
88687         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
88688         NetBSD kernels.  Requested by Richard Stallman.
88689
88690 2003-10-27  Paul Eggert  <eggert@twinsun.com>
88691
88692         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
88693         to allocate the returned structure.  Do not allocate a subarray,
88694         as x2nrealloc will do that.
88695         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
88696         instead of xnrealloc.
88697         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
88698
88699 2003-10-27  Bruno Haible  <bruno@clisp.org>
88700
88701         * lib/stdbool_.h: Better support for BeOS.
88702
88703 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88704
88705         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
88706         now uses inline.
88707
88708 2003-10-26  Paul Eggert  <eggert@twinsun.com>
88709
88710         * lib/xalloc.h (xalloc_oversized): New static inline function, for
88711         callers that want to do their own size-overflow checking.  Include
88712         <stdbool.h>, since xalloc_oversized returns bool.
88713         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
88714         to use xalloc_oversized.
88715
88716         Add two functions x2realloc, x2nrealloc, for programs that grow
88717         arrays dynamically by doubling their sizes.
88718         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
88719         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
88720         New functions.
88721
88722         Port to C99 semantics for 'inline' of external functions.
88723         Bug reported by Bruno Haible.
88724         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
88725         with the old contents of xnmalloc.
88726         (xnmalloc, xmalloc): Use it.
88727         (xnrealloc_inline): New static inline function,
88728         with the old contents of xnrealloc.
88729         (xnrealloc, xrealloc): Use it.
88730
88731         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
88732         that.
88733
88734 2003-10-26  Karl Berry  <karl@gnu.org>
88735
88736         * config/srclist.txt (COPYING.DOC): no longer available from
88737         /gd/gnuorg; don't know where the ultimate source is.
88738
88739 2003-10-25  Paul Eggert  <eggert@twinsun.com>
88740
88741         Fix several address-calculation bugs in the hash modules,
88742         plus some minor code cleanup.
88743
88744         * lib/hash.h: Include <stdbool.h>, for bool.
88745         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
88746         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
88747         hash_get_n_entries, hash_get_max_bucket_length,
88748         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
88749         hash_rehash): Use size_t rather than unsigned.
88750         * lib/hash.c (struct hash_table, hash_get_n_buckets,
88751         hash_get_n_buckets_used, hash_get_n_entries,
88752         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
88753         hash_get_entries, hash_do_for_each, hash_string, is_prime,
88754         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
88755         Likewise.
88756         (SIZE_MAX): Define if not defined.
88757         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
88758         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
88759         hash_print):
88760         Use const * when possible.
88761         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
88762         (check_tuning): Fix bug: if tuning parameters were very close to
88763         0 or 1, rounding errors could have caused subscript violations.
88764         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
88765         (hash_initialize): Add 'fail:' label
88766         to free table and return NULL, and use it to simplify code.
88767         Use calloc rather than clearing the storage ourself.
88768         (hash_initialize, hash_rehash): Check for arithmetic overflow in
88769         buffer size calculations.
88770         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
88771         Include <stddef.h>, for size_t.
88772         * lib/hash-pjw.c (hash_pjw): Likewise.
88773         Switch to method described by Bruno Haible.
88774         Include <limits.h>, for CHAR_BIT.
88775         (SIZE_BITS): New macro.
88776
88777 2003-10-23  Paul Eggert  <eggert@twinsun.com>
88778
88779         * m4/getline.m4 (AM_FUNC_GETLINE):
88780         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
88781         hosts.  Problem reported by Derek Robert Price in
88782         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
88783         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
88784         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
88785
88786 2003-10-21  Paul Eggert  <eggert@twinsun.com>
88787
88788         * lib/getndelim2.c (getndelim2): When size calculation overflows,
88789         ceiling the allocation at NMAX bytes rather than silently
88790         discarding input bytes before NMAX is reached.  This makes
88791         a difference only if NMAX exceeds SIZE_MAX / 2.
88792
88793         * lib/obstack.c: Merge from glibc.
88794         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
88795         Add libc_hidden_def (_obstack_newchunk).
88796         (_obstack_free) [! defined _LIBC]: Remove.
88797         [defined _LIBC]: Make a strong alias from obstack_free, rather than
88798         a clone of the function body.
88799         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
88800         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
88801
88802         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
88803         glibc.
88804         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
88805         arg to memcpy.
88806
88807         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
88808         (obstack_ptr_grow_fast, obstack_int_grow_fast):
88809         Don't use lvalue casts, as GCC plans to remove support for them
88810         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
88811         was also present in the non-GCC version, indicating that this
88812         code had always been buggy and had never been widely used.
88813         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
88814         Use the fast variant of each macro, rather than copying the
88815         definiens of the fast variant; that way, we'll be more likely to
88816         catch future bugs in the fast variants.
88817
88818 2003-10-20  Bruno Haible  <bruno@clisp.org>
88819
88820         * modules/wait-process: New file.
88821         * MODULES.html.sh (func_all_modules): Add wait-process.
88822
88823 2003-10-20  Bruno Haible  <bruno@clisp.org>
88824
88825         * m4/wait-process.m4: New file.
88826
88827 2003-10-20  Bruno Haible  <bruno@clisp.org>
88828
88829         * lib/wait-process.h: New file, from GNU gettext.
88830         * lib/wait-process.c: New file, from GNU gettext.
88831
88832 2003-10-19  Jim Meyering  <jim@meyering.net>
88833
88834         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
88835         HPUX 10.20.
88836
88837 2003-10-18  Karl Berry  <karl@gnu.org>
88838
88839         * config/config.guess: update from config.
88840
88841 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88842
88843         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
88844         (getgroups): First arg is int, not size_t.
88845         Don't let 'free' mangle errno.
88846
88847 2003-10-16  Paul Eggert  <eggert@twinsun.com>
88848
88849         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
88850
88851 2003-10-16  Karl Berry  <karl@gnu.org>
88852
88853         * config/config.{guess,sub}: update from config.
88854
88855 2003-10-16  Jim Meyering  <jim@meyering.net>
88856
88857         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
88858         memcpy.
88859
88860 2003-10-15  Paul Eggert  <eggert@twinsun.com>
88861
88862         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
88863         (SIZE_MAX): Remove.
88864         (new_exclude, add_exclude_file): Initial size no longer needs to
88865         be a power of 2.
88866         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
88867         our own address arithmetic overflow checking.
88868
88869         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
88870         (fnmatch): Do not alloca more than 2000 wide characters;
88871         instead, use malloc for large buffers.
88872         Check for address arithmetic overflow, and return -1
88873         with errno set to ENOMEM in that case.
88874         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
88875         (NEW_PATTERN): Do not alloca more than 8000 bytes;
88876         instead, return -1.  Check for address arithmetic overflow.
88877
88878 2003-10-14  Paul Eggert  <eggert@twinsun.com>
88879
88880         Handle invalid suffixes and overflow independently, so that
88881         callers can treat them independently as needed.  Fix some bugs in
88882         suffix handling, e.g., "100k@" was not diagnosed as an invalid
88883         suffix for a human-readable blocksize.  The major caller-visible
88884         change is the addition of a new
88885         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
88886         that both overflow and suffix chars were found.
88887
88888         * lib/human.c (humblock): Don't check separately for invalid suffix
88889         char; that is xstrtoumax's job (now that its bug is fixed).
88890         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
88891         INTMAX_MAX]: New macros.
88892         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
88893         TYPE_MAXIMUM): New macros.
88894         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
88895         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
88896         if overflow occurs, as it's what __strtol does and it's more useful
88897         in practice.
88898         (__xstrtol): If __strtol reports some error other than ERANGE,
88899         reflect it to the caller as LONGINT_INVALID.  If it reports
88900         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
88901         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
88902         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
88903         value.
88904         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
88905         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
88906         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
88907         [defined UINTMAX_MAX]: New macros.
88908
88909 2003-10-14  Bruno Haible  <bruno@clisp.org>
88910
88911         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
88912
88913 2003-10-14  Bruno Haible  <bruno@clisp.org>
88914
88915         * m4/sig_atomic_t: New file, from GNU gettext.
88916         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
88917
88918 2003-10-14  Bruno Haible  <bruno@clisp.org>
88919
88920         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
88921         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
88922         Also use volatile where needed.
88923
88924 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88925
88926         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
88927         Change maintainer from Bruno Haible to 'all'.
88928
88929 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88930
88931         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
88932
88933 2003-10-12  Paul Eggert  <eggert@twinsun.com>
88934
88935         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
88936         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
88937         and define in terms of the other primitives.
88938         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
88939         (SIZE_MAX): Define if not already defined.
88940         (array_size_overflow): New function.
88941         (xalloc_die): Abort instead of exiting if 'error' returns.
88942         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
88943         (xmalloc, xrealloc): Use them.
88944         (xcalloc): Check for address arithmetic overflow.
88945         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
88946         a bit faster than strcpy.
88947
88948 2003-10-10  Simon Josefsson  <jas@extundo.com>
88949
88950         * modules/argp (Depends-on): Add restrict and strcase.
88951
88952 2003-10-10  Simon Josefsson  <jas@extundo.com>
88953
88954         * m4/argp.m4: Add AC_C_INLINE.
88955
88956 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88957
88958         Merge getpass from libc, plus a few fixes.
88959
88960         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
88961         Include <stdbool.h>.
88962         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
88963         __fsetlocking to empty.
88964         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
88965         do include <bits/libc-lock.h>.
88966         Do not include <fcntl.h>; not needed.
88967         [_LIBC]: Include <wchar.h>.
88968         (NOTCANCEL_MODE): New macro.
88969         (flockfile, funlockfile) [_LIBC]: New macros.
88970         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
88971         [!_LIBC]: New macros.
88972         (call_fclose): New function.
88973         (getpass): Use it.  Save tty stream separately; this simplifies the
88974         code and makes it more reliable if stdin happens to equal stdout.
88975         Invoke __fsetlocking on tty.
88976         Handle thread cancellation if needed.
88977         Namespace cleanup (use __tcgetattr, __getline).
88978         Use bool for Booleans.
88979         [USE_IN_LIBIO]: Handle wide streams.
88980         [!_LIBC]: Unconditionally do the fseek, since we don't know what
88981         stream might go where.
88982
88983         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
88984         doesn't have to include <stdio.h> before us.
88985         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
88986         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
88987         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
88988         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
88989         if not declared, so that we can use getpass.c code from libc without
88990         rewriting it.
88991         (flockfile, ftrylockfile, funlockfile): New macros.
88992
88993 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88994
88995         * modules/getpass: Depend on stdbool.
88996
88997 2003-10-08  Paul Eggert  <eggert@twinsun.com>
88998
88999         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
89000
89001 2003-10-07  Karl Berry  <karl@gnu.org>
89002
89003         * config/config.{guess,sub}: update from config.
89004
89005 2003-10-06  Jim Meyering  <jim@meyering.net>
89006             Bruno Haible  <bruno@clisp.org>
89007
89008         This lets translators provide better translations for the
89009         "Written by ..." part of --version output.
89010         * lib/version-etc.h: Include stdarg.h.
89011         (version_etc_copyright): Declare as readonly.
89012         (version_etc): Make this function variadic with a NULL-terminated list
89013         of author name strings.
89014         (version_etc_va): New declaration.
89015         * lib/version-etc.c: Include stdarg.h, stdlib.h.
89016         (version_etc_copyright): Declare as readonly.
89017         (version_etc_va): New function. Provide a different translatable string
89018         for each possible number of authors < 10. Abbreviate when there are 10
89019         authors or more.
89020         (version_etc): Make this function variadic. Call version_etc_va.
89021         Suggestion from Gary V. Vaughan.
89022
89023         * lib/long-options.h (parse_long_options): Change prototype: the
89024         authors string is moved to the end and becomes variadic.
89025         * lib/long-options.c: Include stdarg.h.
89026         (parse_long_options): Make this function variadic, too.
89027         Call version_etc_va, not version_etc.
89028
89029 2003-10-06  Bruno Haible  <bruno@clisp.org>
89030
89031         * modules/version-etc-2: Remove file.
89032         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
89033
89034 2003-10-06  Bruno Haible  <bruno@clisp.org>
89035
89036         * modules/fatal-signal: New file.
89037         * MODULES.html.sh (func_all_modules): Add fatal-signal.
89038
89039 2003-10-06  Bruno Haible  <bruno@clisp.org>
89040
89041         * m4/fatal-signal.m4: New file.
89042         * m4/signalblocking.m4: New file, from GNU gettext.
89043
89044 2003-10-06  Bruno Haible  <bruno@clisp.org>
89045
89046         * lib/version-etc-2.h: Remove file.
89047         * lib/version-etc-2.c: Remove file.
89048
89049 2003-10-06  Bruno Haible  <bruno@clisp.org>
89050
89051         * lib/fatal-signal.h: New file, from GNU gettext.
89052         * lib/fatal-signal.c: New file, from GNU gettext.
89053
89054 2003-10-05  Paul Eggert  <eggert@twinsun.com>
89055
89056         * README: Rework advice for preventing empty .o files.
89057         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
89058         not <sys/types.h>.
89059
89060 2003-10-04  Karl Berry  <karl@gnu.org>
89061
89062         * lib/argp*: update from libc.
89063
89064 2003-10-04  Karl Berry  <karl@gnu.org>
89065
89066         * config/config.{guess,sub}: update from config.
89067
89068 2003-10-02  Bruno Haible  <bruno@clisp.org>
89069
89070         * modules/lchown (Include): Add lchown.h.
89071         * modules/time_r (Include): Use "..." syntax.
89072         * modules/xgetdomainname (Include): Add xgetdomainname.h.
89073
89074 2003-10-01  Simon Josefsson  <jas@extundo.com>
89075
89076         * MODULES.html.sh (func_all_modules): Move gethostname from section
89077         'based on' to section 'lacking' POSIX:2001.
89078
89079 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
89080
89081         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
89082         to output mode on the same stream.
89083
89084 2003-09-29  Paul Eggert  <eggert@twinsun.com>
89085
89086         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
89087         Fix arg typo in previous patch.
89088
89089 2003-09-28  Jim Meyering  <jim@meyering.net>
89090
89091         * lib/error.c: Correct cpp indentation.
89092
89093 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89094
89095         * modules/free: New file.
89096
89097 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89098
89099         * m4/free.m4: New file.
89100
89101 2003-09-27  Paul Eggert  <eggert@twinsun.com>
89102
89103         * lib/minmax.h (MIN, MAX)
89104         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
89105         Omit the special code that used __typeof__, since we worry that
89106         it could be more trouble than it's worth.  See:
89107         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
89108         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
89109
89110         * lib/free.c: New file.
89111
89112 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
89113
89114         Trivial fixes to Makefile.am parts of module listings.
89115         * modules/strstr: Append strstr.h to lib_SOURCES.
89116         * modules/strcase: Likewise, for strcase.h.
89117
89118 2003-09-27  Karl Berry  <karl@gnu.org>
89119
89120         * config/mkinstalldirs: update from automake.
89121
89122 2003-09-26  Paul Eggert  <eggert@twinsun.com>
89123
89124         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
89125         (error_tail): Do not loop, reallocating temporary buffer, since
89126         the output cannot contain more wide characters than the input
89127         contains bytes, the size must be big enough already.  This avoids
89128         one potential size overflow calculation.  Check for size overflow
89129         when calculating temporary buffer size.  Free temporary buffer
89130         when done, if it was allocated with malloc; this plugs a memory
89131         leak.  Remove casts from void * to pointers, that are no longer
89132         needed now that we're assuming C89 or better.
89133
89134         Merge error changes from glibc.
89135
89136         * lib/error.c, error.h: Update copyright notice header to match glibc.
89137         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
89138         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
89139         Disable cancellation while printing error.
89140         * lib/error.h: Prepend __ to parameter names.
89141
89142 2003-09-26  Jim Meyering  <jim@meyering.net>
89143
89144         * lib/error.c (error_tail): Move some declarations
89145         into inner scope where the local variables are used.
89146
89147 2003-09-26  Bruno Haible  <bruno@clisp.org>
89148
89149         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
89150         stpncpy().
89151         Don't define stpncpy through config.h; it's now done through stpncpy.h.
89152
89153 2003-09-26  Bruno Haible  <bruno@clisp.org>
89154
89155         * lib/stpncpy.h (gnu_stpncpy): New declaration.
89156         (stpncpy): Define as alias for gnu_stpncpy.
89157         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
89158
89159 2003-09-25  Simon Josefsson  <jas@extundo.com>
89160
89161         * lib/xgetdomainname.h: New file.
89162         * lib/xgetdomainname.c: New file.
89163
89164 2003-09-25  Simon Josefsson  <jas@extundo.com>
89165             Bruno Haible  <bruno@clisp.org>
89166
89167         * modules/getdomainname: New file.
89168         * modules/xgetdomainname: New file.
89169         * MODULES.html.sh (func_all_modules): Add getdomainname,
89170         xgetdomainname.
89171
89172 2003-09-25  Simon Josefsson  <jas@extundo.com>
89173             Bruno Haible  <bruno@clisp.org>
89174
89175         * m4/getdomainname.m4: New file.
89176
89177 2003-09-25  Simon Josefsson  <jas@extundo.com>
89178             Bruno Haible  <bruno@clisp.org>
89179
89180         * lib/getdomainname.h: New file.
89181         * lib/getdomainname.c: New file.
89182
89183 2003-09-25  Karl Berry  <karl@gnu.org>
89184
89185         * lib/argp-fmtstream.c, argp-help.c: update from libc.
89186
89187 2003-09-25  Karl Berry  <karl@gnu.org>
89188
89189         * config/install-sh: update from automake.
89190
89191 2003-09-25  Bruno Haible  <bruno@clisp.org>
89192
89193         * modules/version-etc-2: New file, from modules/version-etc with
89194         modifications.
89195         * MODULES.html.sh (func_all_modules): Add version-etc-2.
89196
89197 2003-09-25  Bruno Haible  <bruno@clisp.org>
89198
89199         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
89200         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
89201
89202 2003-09-24  Simon Josefsson  <jas@extundo.com>
89203
89204         * modules/xgethostname: Add xgethostname.h.
89205
89206 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89207
89208         * lib/linebuffer.c (freebuffer): Don't free the argument, just
89209         the buffer associated with the argument.  Bug reported by
89210         Simon Josefsson.
89211
89212 2003-09-24  Paul Eggert  <eggert@twinsun.com>
89213
89214         * README: Document assumptions that 'int' is at least 32 bits
89215         wide, that integer arithmetic is 2's complement without overflow,
89216         that there are no holes in integer values, that adding sizes of
89217         two nonoverlapping objects can't overflow, and that all-bits-zero
89218         yields scalar zero.  Fix spelling and capitalization typos.
89219
89220 2003-09-19  Karl Berry  <karl@gnu.org>
89221
89222         * lib/argp.h: update from libc.
89223
89224 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89225
89226         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
89227         to avoid spurious warnings like "AC_RUN_IFELSE was called before
89228         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
89229
89230 2003-09-17  Paul Eggert  <eggert@twinsun.com>
89231
89232         * gnulib-tool: Use "test -h", not "test -L", for portability
89233         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
89234         (tags_regexp): Remove, since \| doesn't conform to POSIX.
89235         (sed_extract_prog): Issue s commands one-by-one, rather than
89236         using \| in one s command.
89237
89238 2003-09-16  Paul Eggert  <eggert@twinsun.com>
89239
89240         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
89241         input error, instead of returning NULL the next time we are called
89242         (and therefore losing track of errno).
89243
89244 2003-09-16  Bruno Haible  <bruno@clisp.org>
89245
89246         * gnulib-tool (func_create_testdir): Warn about duplicated
89247         dependencies.
89248
89249 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89250
89251         * modules/argmatch, modules/fatal, modules/obstack,
89252         modules/xalloc, modules/xgethostname: Sort dependencies by
89253         importance, not alphabetically.
89254
89255 2003-09-15  Paul Eggert  <eggert@twinsun.com>
89256
89257         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
89258         fails, so that the caller gets the proper errno.
89259
89260         * lib/readutmp.c (read_utmp): Likewise.
89261         Check for fstat error.  Close stream and free storage
89262         when failing.
89263
89264 2003-09-14  Karl Berry  <karl@gnu.org>
89265
89266         * config/srclist.txt (strdup.c): disable for c89 changes.
89267
89268 2003-09-14  Jim Meyering  <jim@meyering.net>
89269
89270         * lib/getloadavg.c: Correct cpp indentation.
89271         * lib/strdup.c: Likewise.
89272         * lib/vasnprintf.c: Likewise.
89273
89274 2003-09-14  Bruno Haible  <bruno@clisp.org>
89275
89276         * modules/fwriteerror: New file.
89277         * MODULES.html.sh (func_all_modules): Add fwriteerror.
89278
89279 2003-09-14  Bruno Haible  <bruno@clisp.org>
89280
89281         * lib/fwriteerror.h: New file.
89282         * lib/fwriteerror.c: New file.
89283
89284 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89285
89286         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
89287         modules/xgethostname, modules/xalloc: Depend on exit.
89288
89289 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89290
89291         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
89292
89293         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
89294         and AC_MINIX, too, so that their extensions are available.
89295
89296         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
89297         This macro has been superseded by gl_BACKUPFILE.
89298
89299         More patches to assume C89 or better.
89300
89301         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
89302
89303         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
89304         unconditionally.
89305         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
89306         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
89307         Include <string.h>, <stdlib.h> unconditionally.
89308         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
89309         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
89310         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
89311         headers or for string.h.
89312         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
89313         or strtoul.
89314
89315         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
89316         headers.
89317         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
89318         * m4/userspec.m4 (gl_USERSPEC): Likewise.
89319         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
89320         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
89321         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
89322         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
89323         memcpy, memset.
89324         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
89325         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
89326         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
89327         strtol.
89328         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
89329         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
89330         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
89331         strtoul.
89332
89333 2003-09-12  Paul Eggert  <eggert@twinsun.com>
89334
89335         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
89336         * lib/obstack.c [!defined _LIBC]: Likewise.
89337         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
89338         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
89339         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
89340
89341         More changes to assume C89 or better.
89342
89343         * lib/error.c (error_tail): Assume vprintf.
89344
89345         * lib/argmatch.c (getenv): Remove decl.
89346         * lib/progreloc.c (get_full_program_name): Define via prototype.
89347         * lib/setenv.c (clearenv): Likewise.
89348         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
89349         needed.
89350         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
89351         (malloc, memcpy): Remove decls.
89352         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
89353         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
89354         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89355         (memcpy): Remove macro.
89356         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
89357         (__P): Remove.  All uses removed.
89358         (PTR): Remove.  All uses changed to void *.
89359         (CHAR_BIT, NULL): Remove.
89360         (spaces, zeros, memset_space, memset_zero)
89361         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
89362         Remove.
89363         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
89364         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
89365         Define with prototype.
89366         Remove now-unnecessary prototype decl.
89367         (extra_args_spec): Assume ANSI C.  All uses changed.
89368         (extra_args_spec_iso): Remove.
89369         (my_strftime, emacs_strftimeu): Define via prototype.
89370         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
89371         unconditionally.
89372         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
89373         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
89374         (strtoul, strtol): Remove decls.
89375         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
89376         LONG_MAX): Remove.
89377         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
89378         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
89379         (LOCALE_PARAM_PROTO): New macro.
89380         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
89381         (INTERNAL (strtol), strtol): Define with a prototype.
89382         (PARAMS): Remove.  All uses removed.
89383         * lib/tempname.c: Include <string.h> unconditionally.
89384         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
89385         * lib/xgethostname.c (main): Define with a prototype.
89386         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
89387         Include <stdlib.h> unconditionally.
89388         (calloc, malloc, realloc, free): Remove decls.
89389         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
89390         Include <stdlib.h> unconditionally.  Sort include file names.
89391         (strtod): Remove.
89392         (xstrtod): Define with a prototype.
89393         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
89394         (strtol, strtoul): Remove decls.
89395
89396 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89397
89398         More patches to assume C89 or better.
89399         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
89400         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
89401         string.h, memchr, STDC_HEADERS.
89402
89403 2003-09-11  Paul Eggert  <eggert@twinsun.com>
89404
89405         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
89406         Include <stdlib.h>, <string.h> unconditionally.
89407         Remove now-unnecessary cast to char *.
89408         * lib/strnlen.c: Include <string.h> unconditionally.
89409         * lib/yesno.c (yesno): Define with a prototype.
89410
89411 2003-09-11  Bruno Haible  <bruno@clisp.org>
89412
89413         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
89414
89415 2003-09-10  Jim Meyering  <jim@meyering.net>
89416
89417         * lib/error.c: Correct indentation of cpp directives.
89418
89419 2003-09-10  Bruno Haible  <bruno@clisp.org>
89420
89421         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
89422         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
89423         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
89424         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
89425         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
89426         <stdlib.h> and <string.h> checks.
89427         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
89428         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
89429
89430 2003-09-10  Bruno Haible  <bruno@clisp.org>
89431
89432         * lib/strcspn.c: Include <string.h> unconditionally.
89433         * lib/strpbrk.c: Include <string.h> unconditionally.
89434         * lib/strstr.c: Include <string.h> unconditionally.
89435         * lib/unicodeio.c: Include <string.h> unconditionally.
89436         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
89437         * lib/unsetenv.c: Likewise.
89438         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
89439         * lib/yesno.c: Include <stdlib.h> unconditionally.
89440         (rpmatch): Add prototype.
89441
89442 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89443
89444         More patches to assume C89 or better.
89445         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
89446         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
89447         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
89448         or for string.h.
89449         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
89450         stdlib.h.
89451         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
89452         C headers.
89453         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
89454         string.h.
89455         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
89456         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
89457         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
89458         or for string.h.
89459         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
89460         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
89461         C headers.
89462         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
89463         memcpy.
89464         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
89465         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
89466         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
89467         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
89468         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
89469         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
89470         string.h, free.
89471         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
89472         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
89473         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
89474         C headers, or for string.h.
89475         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
89476         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
89477         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
89478         headers, memory.h, stdlib.h, string.h, strings.h.
89479         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
89480         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
89481         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
89482         strchr.
89483         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
89484         headers, memory.h, string.h.
89485         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
89486         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
89487         free.
89488         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
89489         headers.
89490         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
89491         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
89492         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
89493         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
89494         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
89495
89496 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89497
89498         More K&R removal.
89499
89500         * lib/acosl.c (main): Use a prototype.
89501         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
89502         tanl.c: Likewise.
89503
89504         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
89505
89506         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
89507         (getopt, etopt_long, getopt_long_only, _getopt_internal)
89508         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
89509         with a prototype.
89510         * lib/getopt.c (const): Remove macro.
89511         Include <string.h> unconditionally.
89512         (my_index): Remove; all uses changed to strchr.
89513         (strlen): Remove decl.
89514         (exchange): Remove forward decl; no longer needed.
89515         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
89516         Define with prototype.
89517         * lib/getopt1.c (const): Remove macro.
89518         (getopt_long, getopt_long_only, main): Define with prototype.
89519
89520         * lib/getugroups.c: Include <string.h> unconditionally.
89521
89522         * lib/getusershell.c: Include <stdlib.h> unconditionally.
89523         (getusershell, setusershell, endusershell, readname, main):
89524         Define with prototypes.
89525
89526         * lib/group-member.c: Include group-member.h first.
89527         Include <stdlib.h> unconditionally.
89528
89529         * lib/hard-locale.c: Include hard-locale.h first.
89530         Include <stdlib.h>, <string.h> unconditionally.
89531
89532         * lib/hash.c (free, malloc): Remove decls.
89533         Include <stdlib.h> unconditionally.
89534
89535         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
89536         (getenv): Do not declare.
89537
89538         * lib/idcache.c: Include <string.h> unconditionally.
89539
89540         * lib/long-options.c: Include long-options.h first, to test interface.
89541         Include <stdlib.h> unconditionally.
89542
89543         * lib/makepath.c: Include makepath.h first, to test interface.
89544         Include <stdlib.h> and <string.h> unconditionally.
89545
89546         * lib/linebuffer.c: Include <stdlib.h>.
89547         (free): Remove decl.
89548
89549         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
89550         stddef.h. rpl_malloc returns void *, not char *.
89551         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
89552         prototype.
89553
89554         * lib/md5.h: Include <limits.h> unconditionally.
89555         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
89556         (__P): Remove; all uses removed.
89557         * lib/md5.c: Include "md5.h" first.
89558         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
89559         md5_buffer, md5_process_bytes, md5_process_block):
89560         Define with prototypes.
89561         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
89562         * lib/sha.c: Include "sha.h" first.
89563         Include <stdlib.h>, <string.h> unconditionally.
89564
89565         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
89566         * lib/memcmp.c (__ptr_t): Likewise.
89567         * lib/memrchr.c (__ptr_t): Likewise.
89568         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
89569         Include <string.h> unconditionally.
89570         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
89571         * lib/memchr.c: Include <stdlib.h> unconditionally.
89572         * lib/memchr.c (LONG_MAX): Remove.
89573         * lib/memrchr.c (LONG_MAX): Likewise.
89574         * lib/memchr.c (__memchr): Define via a prototype.
89575         * lib/memrchr.c (__memrchr): Likewise.
89576         * lib/memcmp.c (__P): Remove, and remove all uses.
89577         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
89578         Remove forward decls; no longer needed.
89579         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
89580         Use types required by C89 in prototype.
89581
89582         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
89583         * lib/savedir.c: Likewise.
89584         * lib/mkdir.c (free): Remove decl.
89585         * lib/rmdir.c (rmdir): Define with a prototype.
89586         * lib/savedir.c: Include savedir.h first, to test interface.
89587
89588         * lib/mktime.c (STDC_HEADERS): Remove.
89589         Include <stdlib.h>, <string.h> unconditionally.
89590
89591         * lib/modechange.c: Include <stdlib.h> unconditionally.
89592         (malloc): Remove decl.
89593
89594         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
89595         (free): Remove decl.
89596
89597         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
89598         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
89599         (This type really should be intptr_t, but that's a C99ism.)
89600         (_obstack_memcpy): Remove: all uses changed to memcpy.
89601         Include <string.h> unconditionally.
89602         (struct obstack): Assume __STDC__ for types of members
89603         chunkfun, freefun, extra_arg.
89604         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
89605         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
89606         obstack_begin, obstack_specify_allocation,
89607         obstack_specify_allocation_with_arg, obstack_chunkfun,
89608         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
89609         Remove unprototyped decls and the macros that use them.
89610         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
89611         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
89612         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
89613         (defined __STDC__ && __STDC__)]:
89614         Remove nonprototyped code.
89615         Include <stdlib.h> unconditionally.
89616         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
89617         _obstack_allocated_p, _obstack_free, obstack_free,
89618         _obstack_memory_used, print_and_abort):
89619         Define using prototypes.
89620         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
89621         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
89622         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
89623         obstack_next_free, obstack_object_size, obstack_room) [0]:
89624         Remove unused, unprototyped code.
89625
89626         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
89627
89628         * lib/physmem.c (physmem_total, physmem_available, main): Define
89629         with prototypes.
89630
89631         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
89632         (main): Define with a prototype.
89633
89634         * lib/posixver.c (getenv): Remove decl.
89635
89636         * lib/putenv.c (malloc): Returns void *, not char *.
89637         Include <string.h> unconditionally.
89638         (strchr, memcpy, NULL): Do not define.
89639
89640         * lib/readtokens.c: Include readtokens.h first, to test interface.
89641         Include <stdlib.h>, <string.h> unconditionally.
89642         (init_tokenbuffer): Define with a prototype.
89643
89644         * lib/regex.c (PARAMS): Remove.  All uses removed.
89645         All uses of _RE_ARGS removed, too.
89646         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
89647         unconditionally.
89648         (bzero): Assume memset exists.
89649         (memcmp, memcpy, NULL): Remove.
89650         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
89651         char, or assignments to local vars of type signed char.
89652         (init_syntax_once, PREFIX(extract_number_and_incr),
89653         PREFIX(print_partial_compiled_pattern),
89654         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
89655         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
89656         PREFIX(regex_grow_registers), PREFIX(regex_compile),
89657         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
89658         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
89659         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
89660         wcs_compile_range, byte_compile_range, truncate_wchar,
89661         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
89662         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
89663         count_mbs_length, wcs_re_match_2_internal,
89664         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
89665         PREFIX(alt_match_null_string_p),
89666         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
89667         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
89668         regfree, PREFIX(extract_number)): Define with prototype.  Remove
89669         now-unnecessary declaration, if any.
89670         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
89671         regcomp, regexec):
89672         Remove now-unnecessary casts among pointer types.
89673         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
89674
89675         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
89676         (free): Remove decl.
89677
89678         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
89679
89680         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
89681         (free): Remove decl.
89682
89683         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
89684         * lib/xgetcwd.c: Likewise.
89685
89686         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
89687         (free): Remove decl.
89688
89689         * lib/strchrnul.c (strchrnul): Define with a prototype.
89690         Fix bug: c_in was not converted to char before searching.
89691
89692         The following changes are not K&R related:
89693
89694         * lib/group-member.h: Include <sys/types.h>, so that this file is
89695         self-contained.
89696         * lib/makepath.h: Likewise.
89697
89698         * lib/getusershell.c (readname, default_index, line_size, readname):
89699         Use size_t, not int, for sizes.
89700         (readname): If the size overflows, report an error instead of
89701         looping forever.
89702
89703 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89704
89705         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
89706         libc.
89707
89708 2003-09-09  Paul Eggert  <eggert@twinsun.com>
89709
89710         * README: New section: portability guidelines.
89711
89712 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89713
89714         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
89715         C89 spec.
89716
89717 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
89718
89719         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
89720
89721 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89722
89723         Assume C89 or better; remove K&R cruft.
89724         A few of these changes were first proposed by Derek Robert Price
89725         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
89726
89727         * lib/addext.c: Include <string.h> unconditionally.
89728         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
89729         Don't declare getenv or malloc.
89730
89731         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
89732         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
89733         (NULL): Remove.
89734         (find_stack_direction, alloca): Use prototypes.
89735
89736         * lib/atexit.c (atexit): Define using a prototype.
89737
89738         * lib/basename.c, dirname.c, stripslash.c:
89739         Include <string.h> unconditionally.
89740
89741         * lib/bcopy.c: Include <stddef.h>.
89742         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
89743
89744         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
89745
89746         * lib/error.h (error, error_at_line, error_print_progname)
89747         [! (defined (__STDC__) && __STDC__)]: Remove decls.
89748         * lib/error.c: Include error.h first, to check interface.
89749         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89750         (VA_START): Remove; all uses changeed to va_start.
89751         (exit, strerror): Remove decls.
89752         (error_print_progname): Prototype uncondionally.
89753         Don't include <errno.h>; no longer needed.
89754         (private_strerror): Remove.
89755         (error_tail): Always define.
89756         (error, error_at_line): Assume C89 or better; always use prototypes.
89757         * lib/fatal.c: Include "fatal.h" first, to test interface.
89758         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
89759         (VA_START): Remove; all uses changed to va_start.
89760         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
89761         this case.
89762         (exit): Remove decl.
89763         (fatal): Prototype unconditionally.  Assume va_start works.
89764         Abort at end, to pacify gcc.
89765
89766         * lib/euidaccess.c (main): Define with a prototype.
89767
89768         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
89769
89770         * lib/exitfail.c: Include <stdlib.h> unconditionally.
89771
89772         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
89773         prototypes.
89774         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
89775         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
89776         (getenv): Remove decl.
89777         (fnmatch): Define using a prototype.
89778         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
89779         (FCT): Define using a prototype.
89780
89781         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
89782
89783         * lib/gethostname.c: Include <stddef.h>.
89784         (gethostname): Define with prototype.  Length is size_t, not int.
89785
89786 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89787
89788         Assume C89 or better; remove K&R cruft.
89789         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
89790         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
89791         string.h, getenv, malloc.
89792         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
89793         headers.
89794         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
89795         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
89796         do not check for strerror.
89797         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
89798         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
89799         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
89800         do not check for doprnt or vprintf.
89801         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
89802         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
89803
89804 2003-09-08  Paul Eggert  <eggert@twinsun.com>
89805
89806         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
89807         getversion.c should have been removed then, but was accidentally
89808         preserved.
89809
89810         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
89811         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
89812
89813 2003-09-08  Karl Berry  <karl@gnu.org>
89814
89815         * config/config.sub, config.guess, srclistvars.sh: update from savannah
89816                 config, forget about prep.
89817
89818         * config/depcomp, missing: update from automake.
89819
89820 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89821
89822         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
89823         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89824
89825 2003-09-07  Paul Eggert  <eggert@twinsun.com>
89826
89827         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
89828         copy_tm_result.  Bug reported by Simon Josefsson in
89829         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
89830
89831 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89832
89833         * m4/time_r.m4: New file.
89834         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
89835         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
89836         is. Check for timegm declaration.
89837         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
89838         Do not check for gmtime_r.
89839         Replace mktime if __mktime_internal does not exist and if mktime
89840         hasn't been replaced already.
89841
89842 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89843
89844         * lib/time_r.c, lib/time_r.h: New files.
89845
89846         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
89847         __localtime_r.
89848         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
89849         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
89850
89851         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
89852         __gmtime_r.
89853         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
89854         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
89855         Include <time_r.h>.
89856
89857         * lib/timegm.c: Switch to glibc implementation, with the following
89858         changes:
89859         [defined HAVE_CONFIG_H]: Include <config.h>.
89860         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
89861         (__mktime_internal) [!defined _LIBC]: New decl.
89862         (__gmtime_r) [!defined _LIBC]: New macro and function.
89863         (timegm): Use a prototype, since gnulib assumes C89.
89864         Do not bother declaring tmp to be const, as it's not really usefu.
89865         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
89866         (timegm): Declare only if HAVE_DECL_TIMEGM.
89867
89868 2003-09-06  Paul Eggert  <eggert@twinsun.com>
89869
89870         * MODULES.html.sh (func_all_modules): Add time_r.
89871         * modules/time_r: New file.
89872         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
89873         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
89874
89875 2003-09-03  Paul Eggert  <eggert@twinsun.com>
89876
89877         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
89878         Bug reported by Lute Kamstra in
89879         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
89880
89881         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
89882         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
89883         course with correspondingly smaller numbers for tomorrow and
89884         yesterday.  From Tadayoshi Funaba.  Originally installed into
89885         sh-utils on 1999-08-07, but the patch got lost (I guess during the
89886         coreutils merge?).
89887
89888 2003-08-31  Simon Josefsson  <jas@extundo.com>
89889
89890         * modules/timegm: New file.
89891         * MODULES.html.sh (func_all_modules): Add timegm.
89892
89893 2003-08-31  Simon Josefsson  <jas@extundo.com>
89894
89895         * m4/timegm.m4: New file.
89896
89897 2003-08-31  Simon Josefsson  <jas@extundo.com>
89898
89899         * lib/timegm.h: New file.
89900         * lib/timegm.c: New file.  Based on
89901         wget-1.8.2/src/http.c:mktime_from_utc.
89902
89903 2003-08-31  Karl Berry  <karl@gnu.org>
89904
89905         * lib/argp.h: update from libc.
89906
89907 2003-08-28  Bruno Haible  <bruno@clisp.org>
89908
89909         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
89910         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
89911         followed by '#define fnmatch fnmatch_posix' gives an error.
89912
89913 2003-08-28  Bruno Haible  <bruno@clisp.org>
89914
89915         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
89916         warning on QNX, which defines O_BINARY to 000000.
89917
89918 2003-08-27  Jim Meyering  <jim@meyering.net>
89919
89920         * m4/mkstemp.m4: Require that the system mkstemp be able to create
89921         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
89922         would fail after 32.  Reported by Danny Levinson.  Details here:
89923         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
89924
89925 2003-08-24  Bruno Haible  <bruno@clisp.org>
89926
89927         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
89928         MSVC7 <stdio.h> is included later.
89929
89930 2003-08-22  Simon Josefsson  <jas@extundo.com>
89931
89932         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
89933
89934 2003-08-20  Karl Berry  <karl@gnu.org>
89935
89936         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
89937
89938 2003-08-20  Bruno Haible  <bruno@clisp.org>
89939
89940         * modules/progname: New file.
89941         * MODULES.html.sh (func_all_modules): Add progname.
89942
89943 2003-08-20  Bruno Haible  <bruno@clisp.org>
89944
89945         * lib/progname.h: New file, from GNU gettext.
89946         * lib/progname.c: New file, from GNU gettext.
89947         * lib/progreloc.c: New file, from GNU gettext.
89948
89949 2003-08-19  Jim Meyering  <jim@meyering.net>
89950
89951         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
89952         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
89953
89954 2003-08-19  Bruno Haible  <bruno@clisp.org>
89955
89956         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
89957         more.
89958
89959 2003-08-19  Bruno Haible  <bruno@clisp.org>
89960
89961         * lib/xstrdup.c: Assume <string.h> exists.
89962
89963 2003-08-18  Paul Eggert  <eggert@twinsun.com>
89964
89965         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
89966         in makefile rules.
89967
89968 2003-08-18  Jim Meyering  <jim@meyering.net>
89969
89970         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
89971         * m4/lib-ld.m4: Likewise.
89972
89973 2003-08-18  Jim Meyering  <jim@meyering.net>
89974
89975         * lib/setenv.h: Indent nested cpp directive.
89976         * lib/vasnprintf.c: Remove trailing blanks.
89977
89978 2003-08-17  Simon Josefsson  <jas@extundo.com>
89979
89980         * modules/xstrndup: New file.
89981         * MODULES.html.sh (func_all_modules): Add xstrndup.
89982
89983 2003-08-17  Simon Josefsson  <jas@extundo.com>
89984
89985         * modules/argp: Fix autoconf macro name. Add more dependencies.
89986
89987 2003-08-17  Simon Josefsson  <jas@extundo.com>
89988
89989         * m4/xstrndup.m4: New file.
89990
89991 2003-08-17  Simon Josefsson  <jas@extundo.com>
89992
89993         * m4/argp.m4: New file.
89994
89995 2003-08-17  Simon Josefsson  <jas@extundo.com>
89996             Bruno Haible  <bruno@clisp.org>
89997
89998         * lib/xstrndup.h: New file.
89999         * lib/xstrndup.c: New file.
90000
90001 2003-08-17  Bruno Haible  <bruno@clisp.org>
90002
90003         * modules/strndup (Files, Include): Add lib/strndup.h.
90004
90005 2003-08-17  Bruno Haible  <bruno@clisp.org>
90006
90007         * modules/euidaccess (Files): Add lib/euidaccess.h.
90008
90009 2003-08-17  Bruno Haible  <bruno@clisp.org>
90010
90011         * lib/strndup.h: New file.
90012
90013 2003-08-17  Bruno Haible  <bruno@clisp.org>
90014
90015         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
90016         like AC_GNU_SOURCE.
90017         * modules/extensions (configure.ac): Comment out the invocation of
90018         gl_USE_SYSTEM_EXTENSIONS.
90019
90020 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90021
90022         Merges from coreutils, etc.
90023         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
90024         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
90025         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
90026         fixing a typo.
90027         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
90028         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
90029
90030 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90031
90032         Document merge from coreutils.
90033         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
90034         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
90035         * modules/utime: Add m4/utimes-null.m4.
90036
90037 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90038
90039         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
90040         space, undoing this 2003-08-12 change:
90041         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90042
90043 2003-08-16  Paul Eggert  <eggert@twinsun.com>
90044
90045         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
90046         strtoul.c from libc, undoing this 2003-08-12 change:
90047         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
90048
90049 2003-08-16  Jim Meyering  <jim@meyering.net>
90050
90051         Merges from coreutils.
90052         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
90053         prefix.  Adjust cache variables similarly.  Create 500 rather than
90054         just 300 files, to exercise bug on Darwin6.5, too.
90055         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
90056         $missing_dir.
90057         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
90058         AM_SYS_POSIX_TERMIOS.
90059         Reported by mkc@mathdogs.com.
90060         Also change use of $am_cv_sys_posix_termios
90061         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
90062         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
90063         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
90064         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
90065         in /proc/mounts until it finds one with matching device number.  This
90066         is unnecessary when the FILE argument *is* a mount point.  No stat call
90067         is necessary in that case.  So, disable the statvfs-testing code on
90068         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
90069         as RedHat bug# 84846.
90070         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90071         to 1MB, so as not to render systems with no stack size limit (e.g.,
90072         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90073         Include <unistd.h>.  On some systems,
90074         it is required for the definition of _SC_PAGESIZE.
90075
90076 2003-08-16  Jim Meyering  <jim@meyering.net>
90077
90078         Merge from coreutils.
90079         * lib/xstrtoimax.c: #else #if -> #elif.
90080         * lib/xstrtoumax.c: Likewise.
90081
90082 2003-08-16  Jim Meyering  <jim@meyering.net>
90083
90084         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
90085         * m4/utimes.m4: Removed.
90086         * m4/utimes-null.m4: Renamed from utimes.m4.
90087
90088         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
90089         to 1MB, so as not to render systems with no stack size limit (e.g.,
90090         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
90091         Include <unistd.h>.  On some systems,
90092         it is required for the definition of _SC_PAGESIZE.
90093
90094 2003-08-16  Jim Meyering  <jim@meyering.net>
90095         and Paul Eggert  <eggert@cs.ucla.edu>
90096
90097         Merges from coreutils, etc.
90098
90099         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
90100         using the latest version from cvs.  This avoids problems with #line
90101         directives using a vendor (Sun) compiler.
90102         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
90103         Don't set GETGROUPS_LIB here; now it's
90104         done via getgroups.m4's wrapper function.
90105         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
90106         rather than just in sh-util/configure.in, so that the
90107         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
90108         same.
90109         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
90110         AC_FUNC_GETLOADAVG where to find getloadavg.c.
90111         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
90112         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
90113         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
90114         Remove code that is now done by the newly-required macros.
90115         Append $(EXEEXT) to DF_PROG.
90116         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
90117         Do not invoke or require the following here,
90118         since prereq.m4 or some gnulib .m4 now does this for us:
90119         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
90120         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
90121         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
90122         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
90123         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
90124         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
90125         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
90126         AC_FUNC_OBSTACK.
90127         Do not replace the following functions, as this is now the job
90128         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
90129         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
90130         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
90131         atexit getpass, strdup, getpagesize.
90132         Replace 'raise'.
90133         Do not check for the following functions, as this is now the job
90134         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
90135         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
90136         setregid.
90137         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
90138         Check for sys/sysctl.h.
90139         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
90140         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
90141         of checking for ssize_t ourselves.
90142
90143         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
90144         Require every macro that gnulib/modules/* suggests for us.
90145         (jm_PREREQ_ADDEXT): New macro.
90146         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
90147         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
90148
90149         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
90150         (gl_PHYSMEM): Use it.
90151         Also check for `table' function.
90152         Check for new headers and functions.
90153         Add check for sys/sysmp.h.
90154         With suggestions from Kaveh Ghazi.
90155         Ignore headers that are present but cannot be compiled.  This
90156         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
90157         C 5.4.
90158
90159 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90160
90161         Document merge from coreutils.
90162         * modules/userspec: Depend on posixver.
90163         * modules/strftime: Depend on tzset.
90164
90165 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90166
90167         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
90168         rather than tab, after '#' in shell-script copyright notices.
90169         Suggested by Bruno Haible.
90170
90171 2003-08-15  Paul Eggert  <eggert@twinsun.com>
90172
90173         * config/srclist-update: Use three spaces, rather than tab, after '#'
90174         in shell-script copyright notices.  Suggested by Bruno Haible.
90175         Remove unnecessary parenthesization in regular expression.
90176
90177 2003-08-15  Jim Meyering  <jim@meyering.net>
90178
90179         Merge from coreutils.
90180         * lib/xgethostname.c: Include <stdlib.h>.
90181         (xghostname): Don't exit for anything other than memory-related
90182         failure; just return NULL.
90183         * lib/userspec.c: Include "posixver.h".
90184         (parse_user_spec): Accept `.' as a separator only
90185         in pre-POSIX-200112 mode.
90186         * lib/strtoimax.c: Use #elif rather than #else #if.
90187         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
90188         Remove function, now that we can rely on a working tzset function.
90189         [!_LIBC]: Ensure that the required autoconf test has been run.
90190         [!defined _NL_CURRENT && HAVE_STRFTIME]:
90191         Use underlying_strftime for %r.
90192         * lib/sha.c: Merge in some clean-up and optimization changes from
90193         glibc.
90194         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
90195         Ensure that it is a multiple of 64.
90196         Rearrange loop exit tests so as to avoid performing an
90197         additional fread after encountering an error or EOF.
90198         * lib/realloc.c: Update copyright date.
90199
90200 2003-08-15  Jim Meyering  <jim@meyering.net>
90201         and Paul Eggert  <eggert@twinsun.com>
90202
90203         Merge from coreutils.
90204         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
90205         member but strut utmpx does not.  Needed for AIX 4.3.3.
90206         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
90207
90208 2003-08-15  Jim Meyering  <jim@meyering.net>
90209         and Paul Eggert  <eggert@cs.ucla.edu>
90210
90211         Merges from coreutils, etc.
90212         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
90213         Require gl_FUNC_TZSET_CLOBBER.
90214         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
90215         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
90216         members.
90217
90218 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90219
90220         Help the merge from coreutils.
90221         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
90222         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
90223         * m4/tzset.m4: Use it too.
90224
90225 2003-08-14  Paul Eggert  <eggert@twinsun.com>
90226
90227         * modules/tzset: New file.
90228
90229 2003-08-14  Jim Meyering  <jim@meyering.net>
90230
90231         Merges from coreutils.
90232         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
90233         variable names, rather than @FNMATCH_H@.
90234         * modules/alloca: Likewise for $(ALLOCA_H).
90235
90236         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
90237         the three copies of the literal target, `fnmatch.h'.
90238         * modules/alloca (alloca.h): Likewise.
90239
90240 2003-08-14  Jim Meyering  <jim@meyering.net>
90241
90242         Merge from coreutils.
90243         * m4/tzset.m4: New file.
90244         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
90245         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
90246         otherwise, AIX 5.1 systems would end up using the latter.
90247         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
90248         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
90249         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
90250         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
90251
90252 2003-08-14  Jim Meyering  <jim@meyering.net>
90253
90254         Merge from coreutils.
90255         * lib/obstack.h: Whitespace changes.
90256         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
90257         and xcalloc return values.
90258         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
90259         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
90260         hang on OSF/1 5.1 for DIR on both local and remote file systems.
90261         Reported by (and fix confirmed by) Nelson H. F. Beebe.
90262         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
90263         error from mntctl.
90264         Use mntctl's return value to drive the entry-processing loop, since
90265         we can't rely on the value of the vmt_length member in the last
90266         entry.  On some systems doing so could result in exhausting
90267         virtual memory.  Based in part on a patch from Mike Jetzer.
90268
90269 2003-08-14  Jim Meyering  <jim@meyering.net>
90270         and Paul Eggert  <eggert@twinsun.com>
90271
90272         Merges from coreutils, plus other fixes.
90273         * lib/physmem.c: Merge in portability changes from gcc/libiberty
90274         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
90275         for credits and details.  Thanks to Kaveh Ghazi for helping
90276         to keep these files in sync.
90277         (ARRAY_SIZE): Define it.
90278         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
90279         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
90280         (memcasecmp): Don't assume size_t fits in unsigned int.
90281         Remove casts and duplicate code.
90282         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
90283         (memcpy): Remove definition.
90284         Merge in some clean-up and optimization changes from glibc.
90285         [BLOCKSIZE]: Move definition to top of file.
90286         Ensure that it is a multiple of 64.
90287         Rearrange loop exit tests so as to avoid performing an
90288         additional fread after encountering an error or EOF.
90289         * lib/md5.h (md5_uintptr): Define.
90290         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
90291         return to the initial working directory.  Preserve errno
90292         for caller.
90293         * lib/idcache.c: Include "xalloc.h".
90294         (xmalloc, xrealloc): Remove decls.
90295         (getuser): Remove casts no longer required in C89.
90296         * lib/human.c: Include stdio.h, for sprintf.
90297         * lib/group-member.c: Include "xalloc.h".
90298         (xmalloc, xrealloc): Remove decls.
90299         (get_group_info): Remove casts no longer required in C89.
90300         * lib/getusershell.c (readname): Remove casts no longer required in
90301         C89.
90302         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
90303         * lib/getline.c: Whitespace fix, from coreutils.
90304
90305 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90306
90307         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
90308         Check for isascii.
90309
90310         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90311         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90312         Undo previous (whitespace-only) change.
90313
90314 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90315
90316         * lib/exclude.c: Include <ctype.h>
90317         (IN_CTYPE_DOMAIN): New macro.
90318         (is_space): New fn.
90319         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
90320         and empty lines.
90321
90322         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90323         Undo previous (whitespace-only) change.
90324
90325 2003-08-13  Paul Eggert  <eggert@twinsun.com>
90326
90327         * config/srclist-update: Change update back to the old behavior,
90328         leaving whitespace alone.  Use one 'sed' command rather than a
90329         pipeline.
90330         (fixlicense): Now a variable, not a function.
90331         (remove_trailing_blanks): Remove.
90332         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
90333         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90334         Undo previous (whitespace-only) change.
90335
90336 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90337
90338         Merge from coreutils.
90339         * modules/euidaccess: Add lib_SOURCES, include for new
90340         file euidaccess.h
90341
90342 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90343
90344         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
90345         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
90346         Normalize leading white space and remove trailing white space.
90347
90348         Merge from coreutils
90349         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
90350
90351         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
90352         0.12.1.  These files are now being upgraded automatically by
90353         ../config/srclist-update.
90354
90355 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90356
90357         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
90358         Normalize leading white space and remove trailing white space.
90359         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
90360         notice, as per ../config/srclist-update.
90361
90362         Merge from coreutils.
90363         * lib/euidaccess.h: New file.
90364         * lib/euidaccess.c: Include it.
90365         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
90366         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
90367         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
90368
90369 2003-08-12  Paul Eggert  <eggert@twinsun.com>
90370
90371         * config/srclist-update: Add copyright notice.
90372         (remove_id_lines, remove_trailing_blanks): New constants.
90373         (fixfile): Use them to normalize spacing a bit in copied files.
90374         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
90375         Normalize leading white space and remove trailing white space.
90376
90377         * config/texinfo.tex: Sync with texinfo.
90378
90379         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
90380         strtoul.c from libc, to merge coreutils whitespace changes.
90381
90382         * config/srclist.txt: Get the following m4 files from gettext:
90383         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
90384         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
90385         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
90386         wint_t.m4.
90387
90388 2003-08-12  Karl Berry  <karl@gnu.org>
90389
90390         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
90391         been made.
90392
90393 2003-08-11  Paul Eggert  <eggert@twinsun.com>
90394
90395         * modules/gnu-source, m4/gnu-source.m4:
90396         Remove; we're assuming Autoconf 2.54 or later now.
90397         Suggested by Bruno Haible.
90398         * MODULES.html.sh (func_all_modules): Remove gnu-source.
90399
90400 2003-08-11  Bruno Haible  <bruno@clisp.org>
90401
90402         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
90403
90404 2003-08-11  Bruno Haible  <bruno@clisp.org>
90405
90406         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
90407         (vasnprintf): Use it instead of wcslen.
90408
90409 2003-08-11  Bruno Haible  <bruno@clisp.org>
90410
90411         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
90412         value to ensure that _Bool promotes to int. Use #define for _Bool when
90413         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
90414
90415 2003-08-10  Karl Berry  <karl@gnu.org>
90416
90417         * lib/regex.h: update from libc (whitespace fix).
90418
90419 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90420
90421         Merge some files from coreutils.  These changes were
90422         originally made by Jim Meyering.
90423         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
90424         many older Unixes require this.
90425         * lib/alloca.c (alloca): Remove cast to argument of free;
90426         no longer needed in C89.
90427         * lib/alloca_.h, regex.h: Fix white space to match
90428         what GNU indent does.
90429
90430 2003-08-09  Paul Eggert  <eggert@twinsun.com>
90431
90432         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
90433         apparently Emacs's Unicode mode got confused before my 2003-08-05
90434         checkin.
90435
90436 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90437
90438         * m4/extensions.m4: New file.
90439         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
90440         Require gl_USE_SYSTEM_EXTENSIONS.
90441         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
90442         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
90443
90444 2003-08-08  Paul Eggert  <eggert@twinsun.com>
90445
90446         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
90447         * modules/extensions, modules/gnu-source: New files.
90448         * modules/timespec, modules/unlocked-io: Depend on extensions.
90449
90450 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90451
90452         * modules/restrict: New file.
90453         * MODULES.html.sh (func_all_modules): Add restrict.
90454         * modules/regex: Depend on restrict.
90455
90456 2003-08-07  Paul Eggert  <eggert@twinsun.com>
90457
90458         * m4/restrict.m4: New file.
90459         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
90460
90461 2003-08-07  Bruno Haible  <bruno@clisp.org>
90462
90463         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
90464         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
90465
90466 2003-08-07  Bruno Haible  <bruno@clisp.org>
90467
90468         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
90469         makes the module 'getndelim2' compatible with the module 'getline'.
90470
90471 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90472
90473         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
90474         byte with "\201" to avoid glitches when editing that source file
90475         with multi-gnome-terminal.
90476
90477 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90478
90479         * lib/bumpalloc.h: Remove.
90480
90481 2003-08-05  Paul Eggert  <eggert@twinsun.com>
90482
90483         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
90484         * modules/bumpalloc: Remove.
90485
90486 2003-08-04  Paul Eggert  <eggert@twinsun.com>
90487
90488         * lib/getloadavg.c: Change copyright notice and spacing to conform to
90489         GNU coding style.
90490
90491         Merge from coreutils.
90492         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
90493         1. From glibc.
90494         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
90495         from Karl Berry, implemented by Jim Meyering.
90496         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
90497         from Dmitry V. Levin.
90498         Remove anachronistic cast of xrealloc.
90499         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
90500         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
90501         type. Otherwise, it wouldn't compile with at least /bin/cc on
90502         ymp-cray-unicos9.0.2.X.
90503         Combine two mostly-identical uses of alloca into one.
90504         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
90505
90506 2003-08-04  Dave Love  <d.love@dl.ac.uk>
90507
90508         [From Emacs.]
90509
90510         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
90511         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
90512         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
90513         obsolete NLIST_NAME_UNION.
90514         [__GNU__]: Undef BSD and FSCALE.
90515         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
90516
90517 2003-08-03  Paul Eggert  <eggert@twinsun.com>
90518
90519         * lib/stdbool_.h (_Bool): Make it signed char, instead of
90520         an enum type, so that it's guaranteed to promote to int.  See:
90521         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
90522
90523 2003-08-03  Karl Berry  <karl@gnu.org>
90524
90525         * config/depcomp: update from automake.
90526
90527 2003-07-31  Paul Eggert  <eggert@twinsun.com>
90528
90529         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
90530         (strerror): Don't assume that a printable int fits in 14 bytes.
90531
90532 2003-07-31  Bruno Haible  <bruno@clisp.org>
90533
90534         * modules/getpass-gnu: New file.
90535         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
90536
90537 2003-07-31  Bruno Haible  <bruno@clisp.org>
90538
90539         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
90540
90541 2003-07-24  Karl Berry  <karl@gnu.org>
90542
90543         * config/missing: update from automake.
90544
90545 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
90546             Bruno Haible  <bruno@clisp.org>
90547
90548         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
90549         * lib/getline.c (getline, getdelim): Likewise.
90550         Remove _GNU_SOURCE define; now it's defined in config.h through
90551         m4/getline.m4.
90552
90553 2003-07-23  Karl Berry  <karl@gnu.org>
90554
90555         * config/config.sub: update from prep.
90556
90557 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90558
90559         * modules/xalloc (Depends-on): Add exitfail.
90560         * modules/xmemcoll: Likewise.
90561
90562 2003-07-22  Paul Eggert  <eggert@twinsun.com>
90563
90564         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
90565         over-parenthesization in macros.
90566
90567         Sync with coreutils.
90568
90569         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
90570         required by C99.
90571
90572         Use `exit_failure' for xalloc and xmemcoll instead of their own
90573         private exit-failure variables.
90574         * lib/xalloc.h (xalloc_exit_failure): Remove.
90575         * lib/xmalloc.c: Likewise.  Include exitfail.h.
90576         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
90577         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
90578         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
90579         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
90580
90581 2003-07-20  Jim Meyering  <jim@meyering.net>
90582
90583         * modules/closeout (Depends-on): Add exitfail.
90584         Suggestion from Bruno Haible.
90585
90586 2003-07-19  Karl Berry  <karl@gnu.org>
90587
90588         * config/config.sub: update from prep.
90589
90590 2003-07-18  Paul Eggert  <eggert@twinsun.com>
90591
90592         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
90593         Remove.
90594         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
90595         to test that it can stand by itself.  Include "exitfail.h".
90596         Clients should set exit_failure instead.
90597         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
90598
90599 2003-07-18  Bruno Haible  <bruno@clisp.org>
90600
90601         * modules/getndelim2: New file.
90602         * modules/getline: Share files with module getndelim2.
90603         * modules/getnline: Depend on getndelim2 instead of sharing files with
90604         it. Add getnline.c to lib_SOURCES.
90605         * MODULES.html.sh (func_all_modules): Add getndelim2.
90606
90607 2003-07-18  Bruno Haible  <bruno@clisp.org>
90608
90609         * m4/getndelim2.m4: New file.
90610         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
90611         invoke gl_PREREQ_GETNDELIM2.
90612         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
90613         gl_PREREQ_GETNDELIM2.
90614         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
90615         gl_GETNDELIM2.
90616
90617 2003-07-18  Bruno Haible  <bruno@clisp.org>
90618
90619         * lib/getndelim2.h: New file.
90620         * lib/getndelim2.c: Make into a module of its own. Include config.h,
90621         getndelim2.h.
90622         (getndelim2): Make non-static. Change return type to ssize_t.
90623         * lib/getline.h: Change argument names.
90624         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
90625         * lib/getnline.c: Include getndelim2.h.
90626
90627 2003-07-18  Andreas Schwab  <schwab@suse.de>
90628
90629         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
90630
90631 2003-07-17  Karl Berry  <karl@gnu.org>
90632
90633         * config/config.sub: update from prep.
90634
90635 2003-07-17  Bruno Haible  <bruno@clisp.org>
90636
90637         * modules/getnline: New file.
90638         * modules/getline: Add lib/getndelim2.c to source file list.
90639         * MODULES.html.sh (func_all_modules): Add getnline.
90640
90641 2003-07-17  Bruno Haible  <bruno@clisp.org>
90642
90643         * m4/getnline.m4: New file.
90644
90645 2003-07-17  Bruno Haible  <bruno@clisp.org>
90646
90647         * m4/Makefile.am.in: Remove file.
90648         * m4/Makefile.am: Remove file.
90649         * m4/Makefile.in: Remove file.
90650
90651 2003-07-17  Bruno Haible  <bruno@clisp.org>
90652
90653         * lib/getnline.h: New file.
90654         * lib/getnline.c: New file.
90655         * lib/getndelim2.c: New file, extracted from getline.c.
90656         (getndelim2): Renamed from getdelim2, with added nmax argument.
90657         * lib/getline.c: Include getndelim2.c.
90658         (getdelim2): Moved out to getndelim2.c.
90659         (getline, getdelim): Update.
90660
90661 2003-07-17  Bruno Haible  <bruno@clisp.org>
90662
90663         * lib/Makefile.am: Remove file.
90664         * lib/Makefile.in: Remove file.
90665
90666 2003-07-17  Bruno Haible  <bruno@clisp.org>
90667
90668         * configure.in: Remove file.
90669         * Makefile.in: Remove file.
90670
90671 2003-07-17  Bruno Haible  <bruno@clisp.org>
90672
90673         * MODULES.html.sh: Put the </BODY> right before </HTML>.
90674
90675 2003-07-16  Karl Berry  <karl@gnu.org>
90676
90677         * config/srclist-update: was running fixlicense twice, which caused
90678                 texinfo.tex to be nullified for some reason.  Simplify,
90679                 $gplsrc is no longer needed as far as I can see?
90680
90681 2003-07-16  Jim Meyering  <jim@meyering.net>
90682
90683         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
90684
90685 2003-07-15  Paul Eggert  <eggert@twinsun.com>
90686
90687         * config/srclist.txt: Get the following files from gettext-runtime/intl
90688         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
90689         ref-del.sin.  From Bruno Haible.
90690         * config/srclist-update (fixfile): Change grep pattern again, since the
90691         previous fix didn't work (there was another trailing $).  Use
90692         '[$]' to escape the $s.
90693
90694 2003-07-15  Karl Berry  <karl@gnu.org>
90695
90696         * lib/vasnprintf.c: update from gettext.
90697
90698 2003-07-15  Karl Berry  <karl@gnu.org>
90699
90700         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
90701         gets expanded when surrounded by '$'.
90702
90703 2003-07-15  Jim Meyering  <jim@meyering.net>
90704
90705         * modules/save-cwd: Don't depend on error.  From Derek Price.
90706
90707 2003-07-15  Jim Meyering  <jim@meyering.net>
90708
90709         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
90710
90711 2003-07-14  Simon Josefsson  <jas@extundo.com>
90712
90713         * modules/mempcpy: New file.
90714         * MODULES.html.sh (func_all_modules): Add mempcpy.
90715
90716 2003-07-14  Simon Josefsson  <jas@extundo.com>
90717
90718         * m4/mempcpy.m4: New file.
90719
90720 2003-07-14  Simon Josefsson  <jas@extundo.com>
90721
90722         * lib/mempcpy.h: New file.
90723         * lib/mempcpy.c: New file.
90724
90725 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90726
90727         * modules/getdate, modules/posixtm: Depend on mktime.
90728
90729 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90730
90731         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
90732         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
90733         unicodeio.c, unicodeio.h, unlocked-io.h:
90734         Switch from LGPL to GPL.
90735
90736 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90737
90738         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
90739         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
90740         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
90741         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
90742         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
90743         updated automatically by ../config/srclist-update.  This changes
90744         their license from LPGL to GPL.
90745
90746 2003-07-14  Paul Eggert  <eggert@twinsun.com>
90747
90748         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
90749         assumed to refer to the root of the most recent stable gettext version.
90750         * config/srclistvars.sh: Add defaults for eggert.
90751         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
90752         Match "This program" as well as "The program".  This is needed
90753         for gettext.
90754
90755 2003-07-14  Jim Meyering  <jim@meyering.net>
90756
90757         Don't emit diagnostics.  Let callers do that.
90758         * lib/save-cwd.c: Don't include "error.h".
90759         (save_cwd): Don't call error.  Ensure that errno is valid
90760         when returning nonzero.
90761
90762         * lib/save-cwd.h (restore_cwd): Update prototype.
90763         * lib/save-cwd.c (restore_cwd): Remove two parameters.
90764         Simplify.  Don't call error upon failure.  Let callers do that.
90765         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
90766         when auditing is enabled.  But don't bother updating the #if.
90767
90768 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
90769
90770         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
90771         it breaks C++ compilation.
90772         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
90773
90774 2003-07-10  Simon Josefsson  <jas@extundo.com>
90775
90776         * modules/strchrnul (Makefile.am): Add strchrnul.h.
90777
90778 2003-07-10  Jim Meyering  <jim@meyering.net>
90779
90780         * m4/clock_time.m4: Remove trailing blank.
90781         * m4/intmax_t.m4: Likewise.
90782
90783 2003-07-10  Jim Meyering  <jim@meyering.net>
90784
90785         * lib/vasnprintf.c: Remove trailing blanks.
90786         Make cpp indentation consistent.
90787
90788 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90789
90790         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
90791         posixver.c, strftime.c, strnlen.c, strverscmp.c:
90792         Switch from LGPL to GPL.
90793
90794 2003-07-09  Paul Eggert  <eggert@twinsun.com>
90795
90796         * config/srclist.txt: Sort sublists.  Add
90797         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
90798         that differ from gnulib for one reason or another; we'd like this list
90799         to be smaller but for now let's document what we have.
90800
90801 2003-07-08  Paul Eggert  <eggert@twinsun.com>
90802
90803         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
90804         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
90805         and sweeter "eval x=$x".
90806         * config/srclist.txt: Get lib/argp* from glibc.
90807
90808 2003-07-07  Paul Eggert  <eggert@twinsun.com>
90809
90810         * lib/mktime.c: Fix some boundary cases and remove need for floating
90811         point.
90812
90813         Issue a compile-time diagnostic if time_t is floating point, or if
90814         two's complement arithmetic is not in effect, or if arithmetic
90815         right shift does not propagate the sign.  These assumptions were
90816         all in the original code but they weren't checked.
90817
90818         (TIME_T_MIDPOINT, verify): New macros.
90819         (__isleap): Remove; it has integer overflow problems.
90820         (leapyear): New function, without those problems.
90821         (ydhms_tm_diff): Remove; splitting into two parts.
90822         (ydhms_diff): New function, containing the arithmetic part of
90823         the old ydhms_tm_diff function.  Issue a compile-time
90824         diagnostic if we are not using C99 integer division.
90825         Avoid casts when possible.
90826         (guess_time_tm): New function, containing the checking part of
90827         the old ydhms_tm_diff function.  Return the new value, rather than
90828         the difference between it and the old.  Accept a new argument T
90829         so that *T specifies the old value.  Check for overflow in the result.
90830
90831         (__mktime_internal): Use a time_t offset, not a long int offset.
90832         This undoes the 2003-06-04 change, which is no longer needed now
90833         that we have better overflow checking.
90834         (localtime_offset): Likewise.
90835
90836         (__mktime_internal): Avoid harmful overflow on hosts where time_t
90837         and long are 64-bit but int is only 32-bit.
90838         (ydhms_diff): Use long int to store year1 and yday1.
90839         Issue a compile-time diagnostic if long int is not wide enough.
90840
90841         (__mktime_internal): Use long int to store adjusted year and yday.
90842         Use plain C rather than preprocessor commands, if that doesn't
90843         affect efficiency.
90844         Check for overflow (and try to repair) after each probe
90845         rather than checking only at the very end.  This avoids some bugs
90846         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
90847         does not equal GMT offset at maximum time).
90848         Use integer to check for overflow rather than floating point; this
90849         is more portable to non-IEEE hosts, and is a tad faster.
90850         When we detect that we are oscillating between two values,
90851         don't check whether tm_isdst has the requested value, since
90852         we already know the answer.  When tm_isdst has the wrong value,
90853         use a different heuristic to find the right one, based on the
90854         extreme values actually observed in practice in tz2003a,
90855         rather than the (overly optimistic) "previous 3 calendar quarters".
90856
90857         (not_equal_tm, print_tm, check_result): Use "const T" rather than
90858         "T const" to accommodate glibc style.
90859         (check_result): Use less-confusing report format.  "long" -> "long int.
90860         (main): Likewise.
90861         Don't loop if the iteration overflows time_t.
90862         Allow a negative step in the iteration.
90863
90864 2003-07-06  Karl Berry  <karl@gnu.org>
90865
90866         * config/depcomp: update from automake.
90867         * config/config.sub: update from prep.
90868
90869 2003-07-03  Karl Berry  <karl@gnu.org>
90870
90871         * config/config.guess: update from prep.
90872
90873 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90874
90875         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
90876         xreadlink.c now includes it unconditionally.
90877
90878 2003-07-01  Paul Eggert  <eggert@twinsun.com>
90879
90880         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
90881         having it depend on HAVE_SYS_TYPES_H.
90882
90883 2003-07-01  Bruno Haible  <bruno@clisp.org>
90884
90885         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
90886         <sys/types.h> should be sufficient.
90887         Reported by Paul Eggert.
90888
90889 2003-06-26  Karl Berry  <karl@gnu.org>
90890
90891         * config/depcomp: update from automake.
90892
90893 2003-06-26  Bruno Haible  <bruno@clisp.org>
90894
90895         * modules/human: Depend on module stdbool.
90896
90897 2003-06-25  Bruno Haible  <bruno@clisp.org>
90898
90899         * modules/readlink: New file.
90900         * modules/xreadlink: Depend on it.
90901         * MODULES.html.sh (func_all_modules): Add readlink.
90902
90903 2003-06-25  Bruno Haible  <bruno@clisp.org>
90904
90905         * m4/readlink.m4: New file.
90906
90907 2003-06-25  Bruno Haible  <bruno@clisp.org>
90908
90909         * lib/readlink.c: New file.
90910
90911 2003-06-22  Karl Berry  <karl@gnu.org>
90912
90913         * config/srclist.txt: update mkinstalldirs from automake.
90914         * config/mkinstalldirs: update.
90915
90916 2003-06-22  Bruno Haible  <bruno@clisp.org>
90917
90918         Portability to mingw32.
90919         * m4/ssize_t.m4: New file, from GNU gettext.
90920         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
90921         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
90922
90923 2003-06-22  Bruno Haible  <bruno@clisp.org>
90924
90925         * modules/safe-read: Add m4/ssize_t.m4.
90926         * modules/xreadlink: Add m4/ssize_t.m4.
90927
90928 2003-06-20  Bruno Haible  <bruno@clisp.org>
90929
90930         Assume C89, so PARAMS isn't needed.
90931         * lib/unicodeio.h (PARAMS): Remove.
90932         * lib/unicodeio.c: Don't use PARAMS.
90933
90934 2003-06-18  Karl Berry  <karl@gnu.org>
90935
90936         * config/config.{guess,sub}: update from prep.
90937
90938 2003-06-18  Jim Meyering  <jim@meyering.net>
90939
90940         Merge changes from coreutils.
90941         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
90942         Remove explicit declarations of xmalloc and realloc.
90943         Include xalloc.h.
90944         (read_utmp): Remove anachronistic cast of xmalloc.
90945
90946 2003-06-17  Paul Eggert  <eggert@twinsun.com>
90947
90948         Assume C89, so PARAMS isn't needed.
90949         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
90950         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
90951         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
90952         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
90953         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
90954         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
90955         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
90956         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
90957         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
90958         lib/xstrtod.h, lib/xstrtol.h: Likewise.
90959         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
90960         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
90961         no longer needed. Anyway, config.h should always be included before any
90962         other file.
90963
90964 2003-06-11  Simon Josefsson  <jas@extundo.com>
90965
90966         * modules/sysexits: New file.
90967         * MODULES.html.sh (func_all_modules): Add sysexits.
90968
90969 2003-06-11  Simon Josefsson  <jas@extundo.com>
90970
90971         * lib/sysexit_.h: New file.
90972
90973 2003-06-11  Derek Price  <derek@ximbiot.com>
90974
90975         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
90976         necessary.
90977
90978 2003-06-11  Bruno Haible  <bruno@clisp.org>
90979
90980         * m4/sysexits.m4: New file.
90981
90982 2003-06-10  Simon Josefsson  <jas@extundo.com>
90983
90984         * lib/argp.h: New file, from glibc.
90985         * lib/argp-ba.c: New file, from glibc.
90986         * lib/argp-eexst.c: New file, from glibc.
90987         * lib/argp-fmtstream.c: New file, from glibc.
90988         * lib/argp-fmtstream.h: New file, from glibc.
90989         * lib/argp-fs-xinl.c: New file, from glibc.
90990         * lib/argp-help.c: New file, from glibc.
90991         * lib/argp-namefrob.h: New file, from glibc.
90992         * lib/argp-parse.c: New file, from glibc.
90993         * lib/argp-pv.c: New file, from glibc.
90994         * lib/argp-pvh.c: New file, from glibc.
90995         * lib/argp-xinl.c: New file, from glibc.
90996
90997 2003-06-10  Simon Josefsson  <jas@extundo.com>
90998
90999         * modules/strchrnul: New file.
91000
91001 2003-06-10  Simon Josefsson  <jas@extundo.com>
91002
91003         * modules/argp: New file.
91004
91005 2003-06-10  Simon Josefsson  <jas@extundo.com>
91006
91007         * m4/strchrnul.m4: New file.
91008
91009 2003-06-10  Simon Josefsson  <jas@extundo.com>
91010
91011         * lib/strchrnul.h: New file.
91012         * lib/strchrnul.c: New file.
91013
91014 2003-06-10  Bruno Haible  <bruno@clisp.org>
91015
91016         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
91017
91018 2003-06-07  Karl Berry  <karl@gnu.org>
91019
91020         * config/config.{guess,sub}: update from prep.
91021
91022 2003-06-07  Jim Meyering  <jim@meyering.net>
91023
91024         * modules/strtod: Use $(...) notation, not @...@ for
91025         AC_REPLACE'd variables.
91026         * modules/localcharset: Likewise.
91027
91028 2003-06-07  Jim Meyering  <jim@meyering.net>
91029
91030         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
91031         in place of my name in the copyright comment.
91032         Remove definition and uses of __P.
91033
91034         From coreutils.
91035         * lib/stat.c: Don't declare xmalloc explicitly.
91036         Instead, include "xalloc.h".
91037         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
91038         xrealloc, and xcalloc return values.
91039         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
91040         Improve comment.
91041         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
91042
91043 2003-06-07  Bruno Haible  <bruno@clisp.org>
91044
91045         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
91046         avoid AC_CONFIG_LINKS.
91047         * modules/fnmatch (Makefile.am): Use explicit creation rule for
91048         fnmatch.h, to avoid AC_CONFIG_LINKS.
91049         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
91050
91051 2003-06-07  Bruno Haible  <bruno@clisp.org>
91052
91053         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
91054         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
91055         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91056         directory.
91057         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
91058         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
91059         directory.
91060
91061 2003-06-06  Jim Meyering  <jim@meyering.net>
91062
91063         Merge from coreutils.
91064         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
91065         Consolidate declarations and initializations of *_base* locals.
91066
91067         Merge from coreutils.
91068         This avoids a core dump on systems without GNU putenv,
91069         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
91070         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
91071         (unsetenv): New static function, from GNU libc.
91072         (rpl_putenv): Use it.
91073
91074         * lib/modechange.c: Remove trailing blanks.
91075
91076         Merge from coreutils.
91077         * lib/fsusage.c: Remove declaration of statfs.
91078         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
91079
91080         * lib/posixtm.c: Include <stdbool.h> unconditionally.
91081
91082 2003-06-06  Jim Meyering  <jim@meyering.net>
91083
91084         * lib/stdbool_.h: Renamed from stdbool.h.in.
91085
91086 2003-06-06  Jim Meyering  <jim@meyering.net>
91087             Bruno Haible  <bruno@clisp.org>
91088
91089         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
91090         Adjust Makefile.am snippet not to redirect directly to target.
91091         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
91092
91093 2003-06-05  Paul Eggert  <eggert@twinsun.com>
91094
91095         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
91096         mismatch, look in future quarters as well as past.  This fixes a
91097         bug when processing fall-backwards gaps immediately after a long
91098         period of daylight-saving time.
91099
91100         * lib/mktime.c: Assume freestanding C89 or better.
91101         (HAVE_LIMITS_H): Remove.  Assume it's 1.
91102         (__P): Remove; not used.
91103         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
91104         (mktime, not_equal_tm, print_tm, check_result,
91105         main): Use prototypes.  Use const * where appropriate.
91106         (main): Fix typo in testing code that uncovered by above changes.
91107         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
91108
91109 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91110
91111         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
91112         locale.h, localeconv.  This merges changes from coreutils.
91113
91114         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
91115         It can be removed after the next Autoconf is released.
91116         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
91117         needed.
91118
91119 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91120
91121         * lib/mktime.c: Fix Debian bug 177940
91122         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
91123         (localtime_offset): Now long int, not time_t, because we want it
91124         to be guaranteed to be signed.  All uses changed.
91125         (__mktime_internal): If overflow would occur when adding offset,
91126         don't add it.
91127
91128         Merge 'human' changes from coreutils.  Rewrite to support
91129         locale-specific notations like thousands separators.
91130         * lib/human.c: Simplify authorship notice.
91131         Include human.h immediately after config.h.
91132         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
91133         <limits.h>: Do not include, since human.h does.
91134         (SIZE_MAX, UINTMAX_MAX): New macros.
91135         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
91136         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
91137         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
91138         (power_letter): Renamed from suffixes.
91139         (generate_suffix_backwards): Remove.
91140         (adjust_value): Now takes int style (because of human.h changes)
91141         and long double value (for greater precision on some platforms).
91142         (group_number): New function.
91143         (human_readable): Use it.  Use integer options, not enum.
91144         Put the options before the sizes in the arg list.
91145         Support all the new options.
91146         The old human_readable function has been removed;
91147         use inttostr.h instead.
91148         (human_readable, default_block_size, humblock):
91149         Use uintmax_t, not int, for block sizes.
91150         (human_readable_inexact, block_size_types): Remove.
91151         (block_size_opts): New constant.
91152         (human_options): Renamed from human_block_size, with new signature
91153         that allows block sizes up to UINTMAX_MAX.  All callers changed.
91154         * lib/human.h: Add copyright and authorship notice.
91155         Include <limits.h> and <stdbool.h> unconditionally.
91156         (PARAMS): Remove.  All uses removed.
91157         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
91158         (enum human_inexact_style): Remove tag; now a nameless enum.
91159         (human_floor, human_ceiling, human_round_to_even): Now have
91160         values 2, 0, 1 rather than -1, 1, 0.
91161         (human_group_digits, human_suppress_point_zero, human_autoscale,
91162         human_base_1024, human_SI, human_B): New constants.
91163         (human_readable_inexact, human_block_size): Remove.
91164         (human_readable): Size args are now uintmax_t, not int.
91165         (human_options): New decl.
91166
91167         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
91168         unnecessary now that we assume C89 or better.  This change
91169         imported from coreutils.
91170
91171         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91172         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
91173         in the 2003-05-30 sync from glibc.
91174
91175         .h files should stand alone, but we shouldn't include <sys/types.h>
91176         if we can get away with just <stddef.h>.
91177
91178         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
91179         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
91180         rather than <sys/types.h>, as we merely need size_t.
91181         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
91182         to get size_t.
91183         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
91184         Include <stdio.h>, to get FILE.
91185         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
91186         memcasecmp.h has included <stddef.h> and all we need is size_t.
91187         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
91188         our interface, instead of including <sys/types.h>
91189
91190 2003-06-04  Paul Eggert  <eggert@twinsun.com>
91191
91192         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
91193         now, as glibc mktime is buggy on non-glibc systems.
91194
91195 2003-06-03  Karl Berry  <karl@gnu.org>
91196
91197         * config/config.sub: update from prep.
91198
91199 2003-06-02  Paul Eggert  <eggert@twinsun.com>
91200
91201         [from coreutils]
91202         Fix some minor time-related bugs with POSIX time arguments.
91203         Some valid time stamps were being rejected (notably -1, and
91204         time stamps before 1900 on 64-bit hosts).  And some invalid
91205         time stamps were being accepted, e.g. September 31.
91206
91207         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
91208         that we can return (time_t) -1 successfully.
91209         * lib/posixtm.c: Likewise.
91210         [HAVE_STDBOOL_H]: Include <stdbool.h>.
91211         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
91212         (t): Remove static var.
91213         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
91214         of static var.  All uses changed.
91215         (year): Do not reject years before 1900; they can occur with
91216         64-bit time_t.
91217         (posix_time_parse): Do not check for out-of-range components;
91218         that is now the caller's responsibility, since our checks were
91219         only approximations.
91220         (posixtime): Use mktime to check for out-of-range components,
91221         since it knows them exactly.
91222         If mktime returns (time_t) -1, check whether an error actually occurred
91223         by invoking localtime on -1.
91224         (main) [TEST_POSIXTIME]: Check for input data errors, and report
91225         posixtime failures better.
91226         Improve the test data (in comments only).
91227
91228 2003-06-02  Karl Berry  <karl@gnu.org>
91229
91230         * config/mkinstalldirs (version): new variable.
91231         (--version): new option.
91232         (usage): improve message.
91233
91234 2003-05-30  Karl Berry  <karl@gnu.org>
91235
91236         * lib/mktime.c: update from libc.
91237
91238 2003-05-30  Bruno Haible  <bruno@clisp.org>
91239
91240         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
91241         * config/config.rpath: Upgrade to gettext-0.12.1.
91242
91243 2003-05-30  Bruno Haible  <bruno@clisp.org>
91244
91245         * m4/gettext.m4: Upgrade to gettext-0.12.1.
91246         * m4/nls.m4: New file, from gettext-0.12.1.
91247         * m4/po.m4: New file, from gettext-0.12.1.
91248         * m4/progtest.m4: Upgrade to gettext-0.12.1.
91249
91250 2003-05-30  Bruno Haible  <bruno@clisp.org>
91251
91252         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
91253         * lib/localcharset.h: Likewise.
91254         * lib/localcharset.c: Likewise.
91255
91256 2003-05-29  Karl Berry  <karl@gnu.org>
91257
91258         * config/config.rpath: update from gettext.
91259
91260 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91261
91262         Assume the headers required for C89 freestanding compilers.
91263         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
91264         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
91265         * m4/human.m4 (gl_HUMAN): Likewise.
91266         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
91267         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
91268         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91269         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
91270         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91271         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
91272
91273 2003-05-28  Paul Eggert  <eggert@twinsun.com>
91274
91275         Assume the headers required for C89 freestanding compilers.
91276         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
91277         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
91278         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
91279         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
91280         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
91281         define, since <limits.h> is guaranteed to do that.
91282         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
91283         * lib/exclude.c: Include <stdbool.h> unconditionally.
91284         * lib/tempname.c: Include <stddef.h> unconditionally.
91285         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
91286         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
91287         <stddef.h> does that.
91288         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
91289         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
91290         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
91291         needed.
91292         * lib/xstrtol.c: Likewise.
91293         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
91294         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
91295
91296         * lib/addext.c (addext): Use assignment rather than cast, to avoid
91297         warnings on some platforms.
91298
91299         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
91300         arbitrarily.
91301
91302 2003-05-26  Jim Meyering  <jim@meyering.net>
91303
91304         Merge in a change from coreutils:
91305         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
91306         that is guaranteed to be `no'.  Use `no_such_member' to indicate
91307         that condition, rather than `-1' which is slightly misleading.
91308         Change the name of the cache variable to have the gl_ prefix.
91309         Prompted by a patch from Richard Dawe for DJGPP.
91310
91311 2003-05-24  Karl Berry  <karl@gnu.org>
91312
91313         * config/config.guess: update from prep.
91314
91315 2003-05-22  Karl Berry  <karl@gnu.org>
91316
91317         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
91318
91319 2003-05-20  Karl Berry  <karl@gnu.org>
91320
91321         * config/config.guess: update from prep.
91322
91323 2003-05-18  Karl Berry  <karl@gnu.org>
91324
91325         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
91326         might actually be set by the user.
91327
91328         * config/depcomp, install-sh, mdate-sh: update from automake.
91329
91330 2003-05-17  Bruno Haible  <bruno@clisp.org>
91331
91332         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
91333         invalid expansion for AC_EGREP_CPP.
91334         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
91335         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
91336         Suggested by Akim Demaille <akim@epita.fr> in
91337         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
91338
91339 2003-05-12  Jim Meyering  <jim@meyering.net>
91340
91341         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
91342         the space-padded-by-default conversion specifiers, %e, %k, %l.
91343
91344 2003-05-12  Bruno Haible  <bruno@clisp.org>
91345
91346         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
91347         the string is longer than 4 KB.
91348
91349 2003-05-11  Karl Berry  <karl@gnu.org>
91350
91351         * config/config.{guess,sub}: update from prep.
91352
91353 2003-05-09  Bruno Haible  <bruno@clisp.org>
91354
91355         * modules/error: Add m4/strerror_r.m4 to file list.
91356
91357 2003-05-03  Bruno Haible  <bruno@clisp.org>
91358
91359         Upgrade to Unicode-4.0.
91360         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
91361         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
91362         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
91363         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
91364         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
91365         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
91366         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
91367         Change width of U+E0100..U+E01EF from 1 to 0.
91368
91369 2003-04-25  Jim Meyering  <jim@meyering.net>
91370
91371         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
91372         of type size_t, not int.
91373
91374 2003-04-25  Bruno Haible  <bruno@clisp.org>
91375
91376         * lib/copy-file.c: Include <stddef.h>, for size_t.
91377
91378 2003-04-21  Paul Eggert  <eggert@twinsun.com>
91379
91380         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
91381         code which expansion is under static control.  Patch imported from
91382         Akim Demaille's patch to Bison; see
91383         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
91384
91385 2003-04-14  Bruno Haible  <bruno@clisp.org>
91386
91387         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
91388
91389 2003-04-11  Jim Meyering  <jim@meyering.net>
91390
91391         Merge changes from Coreutils.
91392
91393         2003-03-22  Jim Meyering  <jim@meyering.net>
91394
91395         * lib/strftime.c (widen): Cast alloca return value to proper type.
91396
91397         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
91398
91399         From GNU libc.
91400         * lib/strftime.c (my_strftime): Handle very large width
91401         specifications for numeric values correctly.  Improve checks for
91402         overflow.
91403
91404         2003-01-19  Jim Meyering  <jim@meyering.net>
91405
91406         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
91407         definitions.
91408         (nl_get_alt_digit) [! defined my_strftime]: Define.
91409         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
91410         _nl_get_alt_digit and _nl_get_walt_digit.
91411
91412         * lib/strftime.c (my_strftime): Merge in locale-related changes from
91413         libc. These changes have no effect outside of _LIBC.
91414
91415 2003-04-10  Bruno Haible  <bruno@clisp.org>
91416
91417         * modules/findprog: New file.
91418         * MODULES.html.sh (func_all_modules): Add it.
91419
91420 2003-04-10  Bruno Haible  <bruno@clisp.org>
91421
91422         * m4/findprog.m4: New file.
91423         * m4/eaccess.m4: New file.
91424
91425 2003-04-10  Bruno Haible  <bruno@clisp.org>
91426
91427         * lib/findprog.h: New file, from GNU gettext.
91428         * lib/findprog.c: New file, from GNU gettext.
91429
91430 2003-04-05  Jim Meyering  <jim@meyering.net>
91431
91432         Merge changes from Coreutils.
91433
91434         * lib/exclude.h (PARAMS): Remove definition and uses.
91435         * lib/exclude.c: Remove uses of `PARAMS'.
91436
91437         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
91438         Add test-cases for DOS filenames. Declare program_name.
91439         (main): Set up program_name.  Patch by Rich Dawe.
91440
91441         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91442         error from mntctl.
91443         Use mntctl's return value to drive the entry-processing loop, since
91444         we can't rely on the value of the vmt_length member in the last
91445         entry.  On some systems doing so could result in exhausting
91446         virtual memory.  Based in part on a patch from Mike Jetzer.
91447
91448 2003-04-04  Bruno Haible  <bruno@clisp.org>
91449
91450         * modules/linebreak: New file.
91451         * MODULES.html.sh (func_all_modules): Add it.
91452
91453 2003-04-04  Bruno Haible  <bruno@clisp.org>
91454
91455         * m4/linebreak.m4: New file.
91456
91457 2003-04-04  Bruno Haible  <bruno@clisp.org>
91458
91459         * lib/linebreak.h: New file, from GNU gettext.
91460         * lib/linebreak.c: New file, from GNU gettext with slight
91461         modifications.
91462         * lib/lbrkprop.h: New file, from GNU gettext.
91463
91464 2003-04-03  Bruno Haible  <bruno@clisp.org>
91465
91466         * modules/utf8-ucs4: New file.
91467         * modules/utf16-ucs4: New file.
91468         * modules/ucs4-utf8: New file.
91469         * modules/ucs4-utf16: New file.
91470         * MODULES.html.sh (func_all_modules): Add them.
91471
91472 2003-04-03  Bruno Haible  <bruno@clisp.org>
91473
91474         * m4/utf-ucs4.m4: New file.
91475         * m4/ucs4-utf.m4: New file.
91476
91477 2003-04-03  Bruno Haible  <bruno@clisp.org>
91478
91479         * lib/utf8-ucs4.h: New file, from GNU gettext.
91480         * lib/utf16-ucs4.h: New file, from GNU gettext.
91481         * lib/ucs4-utf8.h: New file, from GNU gettext.
91482         * lib/ucs4-utf16.h: New file, from GNU gettext.
91483
91484 2003-04-02  Bruno Haible  <bruno@clisp.org>
91485
91486         * modules/binary-io: New file.
91487         * MODULES.html.sh (func_all_modules): Add it.
91488
91489 2003-04-02  Bruno Haible  <bruno@clisp.org>
91490
91491         * lib/binary-io.h: New file, from GNU gettext.
91492
91493 2003-04-01  Bruno Haible  <bruno@clisp.org>
91494
91495         * modules/pathname: New file.
91496         * MODULES.html.sh (func_all_modules): Add it.
91497
91498 2003-04-01  Bruno Haible  <bruno@clisp.org>
91499
91500         * lib/pathname.h: New file, from GNU gettext.
91501         * lib/concatpath.c: New file, from GNU gettext.
91502
91503 2003-03-30  Bruno Haible  <bruno@clisp.org>
91504
91505         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
91506
91507 2003-03-30  Bruno Haible  <bruno@clisp.org>
91508
91509         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
91510         function chown() doesn't exist.
91511
91512 2003-03-28  Bruno Haible  <bruno@clisp.org>
91513
91514         * modules/copy-file: New file.
91515         * MODULES.html.sh (func_all_modules): Add it.
91516
91517 2003-03-28  Bruno Haible  <bruno@clisp.org>
91518
91519         * m4/copy-file.m4: New file.
91520
91521 2003-03-28  Bruno Haible  <bruno@clisp.org>
91522
91523         * lib/copy-file.h: New file, from GNU gettext.
91524         * lib/copy-file.c: New file, from GNU gettext.
91525
91526 2003-03-18  Jim Meyering  <jim@meyering.net>
91527
91528         * lib/quote.c (quote_n): Fix typo in comment.
91529
91530 2003-03-18  Bruno Haible  <bruno@clisp.org>
91531
91532         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
91533         checking.
91534         * m4/onceonly_2_57.m4: Likewise.
91535
91536 2003-03-17  Bruno Haible  <bruno@clisp.org>
91537
91538         * m4/onceonly.m4: Require autoconf 2.54 or newer.
91539         (m4_quote): Remove macro.
91540         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
91541
91542 2003-03-14  Jim Meyering  <jim@meyering.net>
91543
91544         Merge changes from Coreutils.
91545         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
91546         to be const, in order to avoid warnings.
91547         (obstack_room): Likewise.
91548         (obstack_empty_p): Likewise.
91549
91550 2003-03-14  Bruno Haible  <bruno@clisp.org>
91551
91552         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
91553         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
91554
91555 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91556
91557         Merge changes from Bison.
91558         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
91559         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
91560         when compiling Bison 1.875's `bitset bset = obstack_alloc
91561         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
91562         * lib/hash.c: Include <stdbool.h> unconditionally.
91563
91564 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91565
91566         * m4/onceonly.m4 (m4_quote): New macro.
91567         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
91568         Quote AC_FOREACH variable-expansions properly.
91569
91570 2003-03-13  Paul Eggert  <eggert@twinsun.com>
91571
91572         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
91573
91574 2003-03-09  Paul Eggert  <eggert@twinsun.com>
91575
91576         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
91577         Reported by Bruce Becker; see:
91578         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
91579
91580 2003-03-03  Paul Eggert  <eggert@twinsun.com>
91581             Bruno Haible  <bruno@clisp.org>
91582
91583         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
91584         Reported by John Hughes, see
91585         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
91586
91587 2003-02-20  Bruno Haible  <bruno@clisp.org>
91588
91589         * MODULES.html.sh (func_all_modules): Add poll.
91590
91591 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91592
91593         * modules/poll: New file.
91594
91595 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91596
91597         * lib/poll_.h: New file.
91598         * lib/poll.c: New file.
91599
91600 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
91601
91602         * m4/poll.m4: New file.
91603
91604 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91605
91606         * modules/mathl: New file.
91607
91608 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91609
91610         * lib/mathl.h: New file.
91611         * lib/acosl.c: New file.
91612         * lib/asinl.c: New file.
91613         * lib/atanl.c: New file.
91614         * lib/ceill.c: New file.
91615         * lib/cosl.c: New file.
91616         * lib/expl.c: New file.
91617         * lib/floorl.c: New file.
91618         * lib/frexpl.c: New file.
91619         * lib/ldexpl.c: New file.
91620         * lib/logl.c: New file.
91621         * lib/sincosl.c: New file.
91622         * lib/sinl.c: New file.
91623         * lib/sqrtl.c: New file.
91624         * lib/tanl.c: New file.
91625         * lib/trigl.c: New file.
91626         * lib/trigl.h: New file.
91627
91628 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
91629
91630         * m4/mathl.m4: New file.
91631
91632 2003-02-18  Bruno Haible  <bruno@clisp.org>
91633
91634         * MODULES.html.sh (func_all_modules): Add mathl.
91635
91636 2003-02-17  Bruno Haible  <bruno@clisp.org>
91637
91638         * modules/mkdtemp: New module.
91639         * MODULES.html.sh (func_all_modules): Add it.
91640
91641 2003-02-17  Bruno Haible  <bruno@clisp.org>
91642
91643         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
91644
91645 2003-02-17  Bruno Haible  <bruno@clisp.org>
91646
91647         * lib/mkdtemp.h: New file, from GNU gettext.
91648         * lib/mkdtemp.c: New file, from GNU gettext.
91649
91650 2003-02-02  Jim Meyering  <jim@meyering.net>
91651
91652         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
91653         e.g. glibc-2.2.93.
91654
91655 2003-01-31  Bruno Haible  <bruno@clisp.org>
91656
91657         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
91658         'rpl_rename'.
91659         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
91660         'rpl_strnlen'.
91661         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
91662         'rpl_strtod'.
91663         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
91664         'rpl_utime'.
91665
91666 2003-01-31  Bruno Haible  <bruno@clisp.org>
91667
91668         * lib/rename.c: #undef rename before defining rpl_rename.
91669         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
91670
91671 2003-01-30  Bruno Haible  <bruno@clisp.org>
91672
91673         * modules/vasnprintf, modules/vasprintf: New modules.
91674         * MODULES.html.sh (func_all_modules): Add them.
91675
91676 2003-01-30  Bruno Haible  <bruno@clisp.org>
91677
91678         * m4/signed.m4: New file, from GNU gettext.
91679         * m4/longdouble.m4: New file, from GNU gettext.
91680         * m4/wchar_t.m4: New file, from GNU gettext.
91681         * m4/wint_t.m4: New file, from GNU gettext.
91682         * m4/vasnprintf.m4: New file.
91683         * m4/vasprintf.m4: New file.
91684
91685 2003-01-30  Bruno Haible  <bruno@clisp.org>
91686
91687         * lib/printf-args.h: New file, from GNU gettext.
91688         * lib/printf-args.c: New file, from GNU gettext.
91689         * lib/printf-parse.h: New file, from GNU gettext.
91690         * lib/printf-parse.c: New file, from GNU gettext.
91691         * lib/vasnprintf.h: New file, from GNU gettext.
91692         * lib/vasnprintf.c: New file, from GNU gettext.
91693         * lib/asnprintf.c: New file, from GNU gettext.
91694         * lib/vasprintf.h: New file, from GNU gettext with modifications.
91695         * lib/vasprintf.c: New file, from GNU gettext.
91696         * lib/asprintf.c: New file, from GNU gettext.
91697
91698 2003-01-29  Bruno Haible  <bruno@clisp.org>
91699
91700         * modules/stpncpy: New module.
91701         * MODULES.html.sh (func_all_modules): Add it.
91702
91703 2003-01-29  Bruno Haible  <bruno@clisp.org>
91704
91705         * m4/stpncpy.m4: New file.
91706
91707 2003-01-29  Bruno Haible  <bruno@clisp.org>
91708
91709         * lib/stpncpy.h: New file, from GNU gettext with modifications.
91710         * lib/stpncpy.c: New file, from GNU gettext with modifications.
91711
91712 2003-01-28  Bruno Haible  <bruno@clisp.org>
91713
91714         * modules/c-ctype: New module.
91715         * MODULES.html.sh (func_all_modules): Add it.
91716
91717 2003-01-28  Bruno Haible  <bruno@clisp.org>
91718
91719         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
91720         Paul Eggert.
91721         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
91722         Paul Eggert.
91723
91724 2003-01-27  Bruno Haible  <bruno@clisp.org>
91725
91726         * modules/xsetenv: New module.
91727         * MODULES.html.sh (func_all_modules): Add it.
91728
91729 2003-01-27  Bruno Haible  <bruno@clisp.org>
91730
91731         * lib/xsetenv.h: New file, from GNU gettext.
91732         * lib/xsetenv.c: New file, from GNU gettext.
91733
91734 2003-01-23  Jim Meyering  <jim@meyering.net>
91735
91736         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
91737         from working on systems without dirfd (at least Irix and OSF1/Tru64).
91738
91739 2003-01-23  Bruno Haible  <bruno@clisp.org>
91740
91741         * modules/minmax: New module.
91742         * MODULES.html.sh (func_all_modules): Add it.
91743
91744 2003-01-23  Bruno Haible  <bruno@clisp.org>
91745
91746         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
91747         Eggert.
91748
91749 2003-01-22  Bruno Haible  <bruno@clisp.org>
91750
91751         * modules/exit: New module.
91752         * MODULES.html.sh (func_all_modules): Add it.
91753
91754 2003-01-22  Bruno Haible  <bruno@clisp.org>
91755
91756         * lib/exit.h: New file, from GNU gettext.
91757
91758 2003-01-19  Bruno Haible  <bruno@clisp.org>
91759
91760         * gnulib-tool: Recognize option --extract-maintainer.
91761         (func_get_maintainer): New function.
91762         * modules/*: Add Maintainer entry.
91763
91764 2003-01-16  Jim Meyering  <jim@meyering.net>
91765
91766         * m4/regex.m4: The `regex' struct is both input and output.
91767         Initialize it before each use.  Patch by Tim Waugh.
91768
91769 2003-01-16  Bruno Haible  <bruno@clisp.org>
91770
91771         * MODULES.html.sh: Add a table of contents. Add the module name as
91772         leftmost column. Add hyperlinks.
91773
91774 2003-01-15  Bruno Haible  <bruno@clisp.org>
91775
91776         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
91777
91778 2003-01-15  Bruno Haible  <bruno@clisp.org>
91779
91780         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
91781         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
91782         suffix.
91783
91784 2003-01-15  Bruno Haible  <bruno@clisp.org>
91785
91786         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
91787
91788 2003-01-15  Bruno Haible  <bruno@clisp.org>
91789
91790         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
91791         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
91792
91793 2003-01-14  Jim Meyering  <jim@meyering.net>
91794
91795         * lib/same.c (same_name): Tweak a comment.
91796
91797 2003-01-14  Bruno Haible  <bruno@clisp.org>
91798
91799         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
91800         when a string comparison is sufficient.
91801
91802 2003-01-14  Bruno Haible  <bruno@clisp.org>
91803
91804         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
91805         'unsigned int'.
91806
91807 2003-01-14  Bruno Haible  <bruno@clisp.org>
91808
91809         * lib/hash-pjw.c: Add comment about low quality of this function.
91810
91811 2003-01-13  Bruno Haible  <bruno@clisp.org>
91812
91813         * modules/stpcpy: Distribute lib/stpcpy.h.
91814         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
91815
91816 2003-01-13  Bruno Haible  <bruno@clisp.org>
91817
91818         * modules/*: Add a description.
91819         * modules/strpbrk: Fix Makefile.am snippet.
91820         * modules/strtoimax: Fix dependencies.
91821         * modules/strtoumax: Likewise.
91822
91823 2003-01-13  Bruno Haible  <bruno@clisp.org>
91824
91825         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
91826         * modules/alloca (Makefile.am): All object files depend on alloca.h.
91827         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
91828
91829 2003-01-13  Bruno Haible  <bruno@clisp.org>
91830
91831         * gnulib-tool (func_create_testdir): Store config/* files in the main
91832         directory.
91833         * config.rpath: Move to ...
91834         * config/config.rpath: ... here.
91835         * modules/gettext: Contains config/config.rpath, not config.rpath.
91836         * modules/iconv: Likewise.
91837
91838 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91839
91840         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91841         to avoid collisions with libcurses and libreadline.
91842
91843         * m4/getstr.m4: Remove.
91844         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
91845
91846 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91847
91848         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91849         to avoid collisions with libcurses and libreadline.
91850
91851         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
91852         * lib/getstr.h, getstr.c: Remove.
91853         * lib/getline.c: Include "getline.h", to check interface.
91854         Move body of old getstr.c here: this defines MIN_CHUNK and
91855         declares getdelim2, which is renamed from getstr.
91856         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
91857
91858         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
91859         All uses changed.
91860         * lib/linebuffer.h: Likewise.
91861         (readline): Remove backward-compatibility macro.
91862
91863 2003-01-12  Paul Eggert  <eggert@twinsun.com>
91864
91865         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
91866         to avoid collisions with libcurses and libreadline.
91867         * getstr: Remove.
91868         * MODULES.html.sh: Remove getstr.
91869         * modules/getline: Depend on unlocked-io, not getstr.
91870
91871 2003-01-12  Jim Meyering  <jim@meyering.net>
91872
91873         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
91874
91875 2003-01-10  Bruno Haible  <bruno@clisp.org>
91876
91877         * modules/alloca: Change Makefile.am requirements. Simplify Include
91878         requirements. Add lib/alloca_.h to file list.
91879
91880 2003-01-10  Bruno Haible  <bruno@clisp.org>
91881
91882         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
91883
91884 2003-01-10  Bruno Haible  <bruno@clisp.org>
91885
91886         * lib/alloca_.h: New file.
91887         * lib/getdate.y: Unconditionally include alloca.h.
91888         * lib/makepath.c: Likewise.
91889         * lib/setenv.c: Likewise.
91890         * lib/userspec.c: Likewise.
91891
91892 2003-01-09  Karl Berry  <karl@gnu.org>
91893
91894         * MODULES.html.sh: include `dirname $0` in PATH, to find
91895         gnulib-tool.
91896
91897 2003-01-09  Bruno Haible  <bruno@clisp.org>
91898
91899         * modules/stdbool: Change configure.ac, Makefile.am requirements.
91900         Simplify Include requirements. Add lib/stdbool.h.in to file list.
91901
91902 2003-01-09  Bruno Haible  <bruno@clisp.org>
91903
91904         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
91905
91906 2003-01-09  Bruno Haible  <bruno@clisp.org>
91907
91908         * lib/stdbool.h.in: New file.
91909
91910 2003-01-09  Bruno Haible  <bruno@clisp.org>
91911
91912         * gnulib-tool (func_all_modules): Ignore files ending in ~.
91913         * MODULES.html.sh: Likewise.
91914
91915 2003-01-08  Jim Meyering  <jim@meyering.net>
91916
91917         * lib/full-write.c: Undefine and define-away `const' after inclusion
91918         of errno.h, not before.  Suggestion from Bruno Haible.
91919
91920 2003-01-08  Bruno Haible  <bruno@clisp.org>
91921
91922         * modules/full-read: Depend on full-write.
91923
91924 2003-01-08  Bruno Haible  <bruno@clisp.org>
91925
91926         * lib/safe-read.c: Include specification header first, to ensure its
91927         selfcontainedness.
91928         * lib/full-write.c: Likewise.
91929
91930 2003-01-07  Jim Meyering  <jim@meyering.net>
91931
91932         * lib/full-write.c: Rework so that it may serve to define full_read,
91933         too.
91934         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
91935
91936 2003-01-07  Bruno Haible  <bruno@clisp.org>
91937
91938         * lib/strtoimax.c: Include <stdint.h> as an alternative to
91939         <inttypes.h>.
91940         * lib/xstrtol.h: Likewise.
91941         * lib/xstrtoimax.c: Likewise.
91942         * lib/xstrtoumax.c: Likewise.
91943         * lib/human.h: Likewise.
91944
91945         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
91946         on systems that have <inttypes.h> but not <stdint.h>.
91947
91948 2003-01-07  Bruno Haible  <bruno@clisp.org>
91949
91950         * MODULES.html.sh: Add copyright notice.
91951         (missed_files): Omit CVS directory entries.
91952         (func_module): Make it work with sed-3.02.
91953         * MODULES.txt: Remove file.
91954
91955 2003-01-06  Jim Meyering  <jim@meyering.net>
91956
91957         * lib/version-etc.c: Update year in translatable copyright string.
91958
91959 2003-01-03  Karl Berry  <karl@gnu.org>
91960
91961         * config/config.{guess,sub}: update from prep.
91962
91963 2003-01-02  Karl Berry  <karl@gnu.org>
91964
91965         * doc/COPYING.DOC: belatedly updated to 1.2.
91966
91967 2003-01-01  Karl Berry  <karl@gnu.org>
91968
91969         * gnulib-tool (func_verify_module): report module name $module in
91970         error message, not $1.
91971         * gnulib-tool (create-testdir): don't complain if destdir couldn't
91972         be created, only if it doesn't exist.
91973         * gnulib-tool (last_checkin_date): don't expand the $Date here.
91974
91975 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91976
91977         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
91978
91979 2002-12-31  Paul Eggert  <eggert@twinsun.com>
91980
91981         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
91982         memcmp if strcoll doesn't work.
91983
91984 2002-12-31  Bruno Haible  <bruno@clisp.org>
91985
91986         * lib/utime.c (utime_null): No need to call ftruncate if the file was
91987         nonempty.
91988
91989 2002-12-31  Bruno Haible  <bruno@clisp.org>
91990
91991         * lib/memcoll.c (STRCOLL): New macro.
91992         (memcoll): Use it.
91993
91994 2002-12-31  Bruno Haible  <bruno@clisp.org>
91995
91996         * lib/localcharset.h: New file.
91997         * lib/localcharset.c: Include it.
91998         * lib/unicodeio.c: Likewise.
91999
92000 2002-12-31  Bruno Haible  <bruno@clisp.org>
92001
92002         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
92003         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
92004
92005 2002-12-31  Bruno Haible  <bruno@clisp.org>
92006
92007         * lib/getline.h: Include <stddef.h>, for size_t.
92008
92009         * lib/unicodeio.h: Include <stddef.h>, for size_t.
92010         * lib/unicodeio.c: Don't include <stddef.h>.
92011
92012 2002-12-31  Bruno Haible  <bruno@clisp.org>
92013
92014         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
92015         HAVE_TM_ZONE.
92016
92017 2002-12-24  Karl Berry  <karl@gnu.org>
92018
92019         * config/config.guess: update from prep.
92020
92021 2002-12-24  Bruno Haible  <bruno@clisp.org>
92022
92023         General infrasructure.
92024         * m4/README: Rewritten.
92025         * m4/onceonly.m4: New file.
92026         * m4/onceonly_2_57.m4: New file.
92027
92028         Module atexit.
92029         * m4/atexit.m4: New file.
92030
92031         Module strtod.
92032         * m4/strtod.m4: New file.
92033
92034         Module strtol.
92035         * m4/strtol.m4: New file.
92036
92037         Module strtoul.
92038         * m4/strtoul.m4: New file.
92039
92040         Module memchr.
92041         * m4/memchr.m4: New file.
92042
92043         Module memcmp.
92044         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
92045         (jm_FUNC_MEMCMP): Invoke it.
92046
92047         Module memcpy.
92048         * m4/memcpy.m4: New file.
92049
92050         Module memmove.
92051         * m4/memmove.m4: New file.
92052
92053         Module memset.
92054         * m4/memset.m4: New file.
92055
92056         Module strcspn.
92057         * m4/strcspn.m4: New file.
92058
92059         Module strpbrk.
92060         * m4/strpbrk.m4: New file.
92061
92062         Module strstr.
92063         * m4/strstr.m4: New file.
92064
92065         Module strerror.
92066         * m4/strerror.m4: New file.
92067
92068         Module mktime.
92069         * m4/mktime.m4: Renamed from jm-mktime.m4.
92070         (gl_PREREQ_MKTIME): New macro.
92071         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
92072
92073         Module malloc.
92074         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
92075         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
92076         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
92077
92078         Module realloc.
92079         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
92080         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
92081         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
92082
92083         Module strftime.
92084         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
92085         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
92086         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
92087         gl_TM_GMTOFF.
92088         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
92089
92090         Module xalloc.
92091         * m4/xalloc.m4: New file.
92092
92093         Module alloca.
92094         * m4/alloca.m4: New file.
92095
92096         Module putenv.
92097         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
92098         (jm_FUNC_PUTENV): Invoke it.
92099
92100         Module setenv.
92101         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
92102         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
92103         when invoked twice.
92104         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
92105         gt_FUNC_SETENV.
92106
92107         Module memrchr.
92108         * m4/memrchr.m4: New file.
92109
92110         Module stpcpy.
92111         * m4/stpcpy.m4: New file.
92112
92113         Module strcase.
92114         * m4/strcase.m4: New file.
92115
92116         Module strdup.
92117         * m4/strdup.m4: New file.
92118
92119         Module strnlen.
92120         * m4/strnlen.m4: New file.
92121
92122         Module strndup.
92123         * m4/strndup.m4: New file.
92124
92125         Module xstrtod.
92126         * m4/xstrtod.m4: New file.
92127
92128         Module xstrtol.
92129         * m4/xstrtol.m4: New file.
92130
92131         Module getdate.
92132         * m4/getdate.m4: New file.
92133
92134         Module unlocked-io.
92135         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
92136         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
92137         * m4/jm-glibc-io.m4n: Remove file.
92138
92139         Module long-options.
92140         * m4/long-options.m4: New file.
92141
92142         Module md5.
92143         * m4/md5.m4: New file.
92144
92145         Module sha.
92146         * m4/sha.m4: New file.
92147
92148         Module getstr.
92149         * m4/getstr.m4: New file.
92150
92151         Module getline.
92152         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
92153         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
92154         <sys/types.h>, for size_t. Use the function name gnu_getline, not
92155         simply getline. Infoke gl_PREREQ_GETLINE.
92156
92157         Module obstack.
92158         * m4/obstack.m4: New file.
92159
92160         Module hash.
92161         * m4/hash.m4: New file.
92162
92163         Module readtokens.
92164         * m4/readtokens.m4: New file.
92165
92166         Module strverscmp.
92167         * m4/strverscmp.m4: New file.
92168
92169         Module stdbool.
92170         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
92171         OSF/1.
92172
92173         Module strtoll.
92174         * m4/strtoll.m4: New file.
92175
92176         Module strtoull.
92177         * m4/strtoull.m4: New file.
92178
92179         Module strtoimax.
92180         * m4/strtoimax.m4: New file.
92181
92182         Module strtoumax.
92183         * m4/strtoumax.m4: New file.
92184
92185         Module xstrtoimax.
92186         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
92187         jm_AC_PREREQ_XSTRTOIMAX.
92188         Moved the strtol prerequisites to strtol.m4.
92189         Moved the strtoll prerequisites to strtoll.m4.
92190         Moved the strtoimax prerequisites to strtoimax.m4.
92191
92192         Module xstrtoumax.
92193         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
92194         jm_AC_PREREQ_XSTRTOUMAX.
92195         Moved the strtoul prerequisites to strtoul.m4.
92196         Moved the strtoull prerequisites to strtoull.m4.
92197         Moved the strtoumax prerequisites to strtoumax.m4.
92198
92199         Module chown.
92200         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
92201         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
92202
92203         Module dup2.
92204         * m4/dup2.m4: New file.
92205
92206         Module ftruncate.
92207         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
92208         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
92209
92210         Module getgroups.
92211         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
92212         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
92213
92214         Module gettimeofday.
92215         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
92216         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
92217         gl_PREREQ_GETTIMEOFDAY.
92218
92219         Module mkdir.
92220         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
92221         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
92222
92223         Module mkstemp.
92224         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
92225         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
92226         jm_AC_TYPE_UINTMAX_T.
92227         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
92228
92229         Module stat.
92230         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
92231         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
92232
92233         Module lstat.
92234         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
92235         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
92236
92237         Module timespec.
92238         * m4/timespec.m4 (gl_TIMESPEC): New macro.
92239         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
92240         * m4/st_mtim.m4: Indentation.
92241
92242         Module nanosleep.
92243         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
92244         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
92245         gl_PREREQ_NANOSLEEP.
92246
92247         Module regex.
92248         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
92249         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
92250         (gl_REGEX): New macro.
92251
92252         Module rename.
92253         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
92254         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
92255
92256         Module rmdir.
92257         * m4/rmdir.m4: New file.
92258
92259         Module utime.
92260         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
92261         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
92262         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
92263
92264         Module dirname.
92265         * m4/dirname.m4: New file.
92266
92267         Module getopt.
92268         * m4/getopt.m4: New file.
92269
92270         Module unistd-safer.
92271         * m4/unistd-safer.m4: New file.
92272
92273         Module fnmatch.
92274         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
92275         declaration.
92276         (gl_PREREQ_FNMATCH_EXTRA): New macro.
92277         (gl_FUNC_FNMATCH_POSIX): New macro.
92278         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
92279         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
92280         simply fnmatch.
92281
92282         Module exclude.
92283         * m4/exclude.m4: New file.
92284
92285         Module human.
92286         * m4/human.m4: New file.
92287
92288         Module acl.
92289         * m4/acl.m4: Nop.
92290
92291         Module backupfile.
92292         * m4/backupfile.m4: New file.
92293         * m4/d-ino.m4: Indentation.
92294
92295         Module fsusage.
92296         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
92297         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
92298         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
92299
92300         Module dirfd.
92301         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
92302         requirements.
92303
92304         Module euidaccess.
92305         * m4/euidaccess.m4: New file.
92306
92307         Module file-type.
92308         * m4/file-type.m4: New file.
92309
92310         Module fileblocks.
92311         * m4/fileblocks.m4: New file.
92312
92313         Module filemode.
92314         * m4/filemode.m4: New file.
92315
92316         Module isdir.
92317         * m4/isdir.m4: New file.
92318
92319         Module lchown.
92320         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
92321         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
92322
92323         Module makepath.
92324         * m4/makepath.m4: New file.
92325
92326         Module modechange.
92327         * m4/modechange.m4: New file.
92328
92329         Module mountlist.
92330         * m4/mountlist.m4: New file.
92331         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
92332         Indentation.
92333
92334         Module path-concat.
92335         * m4/path-concat.m4: New file.
92336
92337         Module pathmax.
92338         * m4/pathmax.m4: New file.
92339
92340         Module same.
92341         * m4/same.m4: New file.
92342
92343         Module save-cwd.
92344         * m4/save-cwd.m4: New file.
92345
92346         Module savedir.
92347         * m4/savedir.m4: New file.
92348
92349         Module xgetcwd.
92350         * m4/xgetcwd.m4: New file.
92351         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
92352
92353         Module xreadlink.
92354         * m4/xreadlink.m4: New file.
92355
92356         Module safe-read.
92357         * m4/safe-read.m4: New file.
92358
92359         Module safe-write.
92360         * m4/safe-write.m4: New file.
92361
92362         Module closeout.
92363         * m4/closeout.m4: New file.
92364
92365         Module stdio-safer.
92366         * m4/stdio-safer.m4: New file.
92367
92368         Module getpass.
92369         * m4/getpass.m4: New file.
92370
92371         Module getugroups.
92372         * m4/getugroups.m4: New file.
92373
92374         Module group-member.
92375         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
92376         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
92377
92378         Module idcache.
92379         * m4/idcache.m4: New file.
92380
92381         Module userspec.
92382         * m4/userspec.m4: New file.
92383
92384         Module gettime.
92385         * m4/clock_time.m4: New file.
92386         * m4/gettime.m4: New file.
92387
92388         Module settime.
92389         * m4/settime.m4: New file.
92390
92391         Module posixtm.
92392         * m4/posixtm.m4: New file.
92393
92394         Module gethostname.
92395         * m4/gethostname.m4: New file.
92396
92397         Module canon-host.
92398         * m4/canon-host.m4: New file.
92399
92400         Module gettext.
92401         * m4/codeset.m4: New file, from gettext-0.11.5.
92402         * m4/gettext.m4: New file, from gettext-0.11.5.
92403         * m4/glibc21.m4: New file, from gettext-0.11.5.
92404         * m4/iconv.m4: New file, from gettext-0.11.5.
92405         * m4/intdiv0.m4: New file, from gettext-0.11.5.
92406         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
92407         * m4/inttypes.m4: New file, from gettext-0.11.5.
92408         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
92409         * m4/isc-posix.m4: New file, from gettext-0.11.5.
92410         * m4/lcmessage.m4: New file, from gettext-0.11.5.
92411         * m4/lib-ld.m4: New file, from gettext-0.11.5.
92412         * m4/lib-link.m4: New file, from gettext-0.11.5.
92413         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
92414         * m4/progtest.m4: New file, from gettext-0.11.5.
92415         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
92416         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
92417         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
92418
92419         Module localcharset.
92420         * m4/localcharset.m4: New file.
92421
92422         Module hard-locale.
92423         * m4/hard-locale.m4: New file.
92424
92425         Module mbswidth.
92426         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
92427         onceonly macros.
92428         * m4/mbrtowc.m4: Add comment.
92429
92430         Module memcasecmp.
92431         * m4/memcasecmp.m4: New file.
92432
92433         Module memcoll.
92434         * m4/memcoll.m4: New file.
92435
92436         Module unicodeio.
92437         * m4/unicodeio.m4: New file.
92438
92439         Module rpmatch.
92440         * m4/rpmatch.m4: New file.
92441
92442         Module yesno.
92443         * m4/yesno.m4: New file.
92444
92445         Module exitfail.
92446         * m4/exitfail.m4: New file.
92447
92448         Module c-stack.
92449         * m4/c-stack.m4 (gl_C_STACK): New macro.
92450         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
92451
92452         Module error.
92453         * m4/error.m4 (gl_ERROR): New macro.
92454         (jm_PREREQ_ERROR): Use onceonly macros.
92455
92456         Module fatal.
92457         * m4/fatal.m4: New file.
92458
92459         Module getloadavg.
92460         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
92461         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
92462
92463         Module getpagesize.
92464         * m4/getpagesize.m4: New file.
92465
92466         Module getusershell.
92467         * m4/getusershell.m4: New file.
92468
92469         Module physmem.
92470         * m4/physmem.m4: New file.
92471
92472         Module posixver.
92473         * m4/posixver.m4: New file.
92474
92475         Module quotearg.
92476         * m4/quotearg.m4: New file.
92477
92478         Module quote.
92479         * m4/quote.m4: New file.
92480
92481         Module readutmp.
92482         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
92483
92484         Module sig2str.
92485         * m4/sig2str.m4: New file.
92486
92487         Other.
92488         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
92489         ulonglong.m4.
92490         * m4/intmax_t.m4: New file.
92491         * m4/d-type.m4: Indentation.
92492         * m4/jm-macros.m4: Update.
92493         * m4/prereq.m4 (jm_PREREQ): Update.
92494         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
92495         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
92496         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
92497         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
92498         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
92499         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
92500         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
92501         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
92502         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
92503         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
92504         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
92505         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
92506         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
92507         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
92508         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
92509         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
92510         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
92511         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
92512         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
92513
92514 2002-12-24  Bruno Haible  <bruno@clisp.org>
92515
92516         * MODULES.txt: Update according to m4/ changes.
92517
92518         Module gettext.
92519         * config.rpath: New file, from gettext-0.11.5.
92520
92521         * modules/*: New module descriptions.
92522         * gnulib-tool: New file.
92523         * MODULES.html.sh: New file.
92524
92525 2002-12-21  Karl Berry  <karl@gnu.org>
92526
92527         * doc/fdl.texi: update to version 1.2.
92528
92529 2002-12-19  Karl Berry  <karl@gnu.org>
92530
92531         * config/config.guess: update from prep.
92532
92533 2002-12-18  Bruno Haible  <bruno@clisp.org>
92534
92535         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
92536         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
92537
92538 2002-12-17  Bruno Haible  <bruno@clisp.org>
92539
92540         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
92541         stdlib.h, string.h.
92542
92543 2002-12-17  Bruno Haible  <bruno@clisp.org>
92544
92545         * lib/canon-host.c (strdup): Remove unused declaration.
92546
92547         * lib/fsusage.c: Include full_read.h.
92548         (get_fs_usage): Use full_read instead of safe_read.
92549
92550         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
92551
92552 2002-12-12  Karl Berry  <karl@gnu.org>
92553
92554         * config/config.guess: update from prep.
92555
92556 2002-12-11  Bruno Haible  <bruno@clisp.org>
92557
92558         * m4/setenv.m4: New file, from gettext-0.11.5.
92559
92560 2002-12-11  Bruno Haible  <bruno@clisp.org>
92561
92562         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
92563         not unsetenv().
92564         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
92565         modifications:
92566
92567         2002-12-11  Bruno Haible  <bruno@clisp.org>
92568
92569                 * setenv.c (alloca): Fall back to malloc.
92570                 (freea): New macro.
92571                 (setenv): Use freea() to free memory allocated with alloca().
92572
92573         2002-11-13  Bruno Haible  <bruno@clisp.org>
92574
92575                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
92576                 function declarations.
92577                 * unsetenv.c (unsetenv): Likewise.
92578
92579         2002-03-04  Bruno Haible  <bruno@clisp.org>
92580
92581                 Portability to AIX 4.3.3.
92582                 * unsetenv.c: New file, extracted from setenv.c.
92583                 * setenv.c: Move the unsetenv() function to unsetenv.c.
92584
92585         2001-12-20  Bruno Haible  <bruno@clisp.org>
92586
92587                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
92588                 use malloc instead. For SunOS 4.
92589
92590         2001-12-11  Bruno Haible  <bruno@clisp.org>
92591
92592                 * setenv.c: Declare alloca.
92593                 (compar_fn_t): New typedef.
92594                 (KNOWN_VALUE, STORE_VALUE): Use it.
92595
92596         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
92597         setenv.h.
92598
92599 2002-12-10  Paul Eggert  <eggert@twinsun.com>
92600
92601         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
92602         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
92603         Choose values that are less likely to collide with system fnmatch
92604         options.
92605         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
92606         defined (e.g., a pure POSIX system).
92607         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
92608         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
92609
92610 2002-12-06  Paul Eggert  <eggert@twinsun.com>
92611
92612         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
92613         a pain in practice to deal with generated m4 files.  This change
92614         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
92615
92616         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
92617         and jm-glibc-io.m4, as they are no longer a special case.
92618         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
92619         kludge and the auto-generation stuff.  Check only whether the
92620         functions are declared, not whether they exist, since older hosts
92621         that don't declare the functions can't use the optimization anyway.
92622
92623 2002-12-06  Jim Meyering  <jim@meyering.net>
92624
92625         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
92626
92627         Merge in changes from libc's misc/error.c, in preparation
92628         for the merge of gnulib's changes back into libc.
92629
92630         * lib/error.c (_): Define only if not already defined.
92631         Move definition to follow all #include directives.
92632         Include unlocked-io.h only if !_LIBC.
92633         [_LIBC]: Include <libio/libioP.h>.
92634         [USE_IN_LIBIO]: Include <libio/iolibio.h>
92635         (fflush): Tweak definition to use INTUSE.
92636         (putc): Define.
92637
92638 2002-12-05  Paul Eggert  <eggert@twinsun.com>
92639
92640         * lib/alloca.c [defined emacs]: Include "lisp.h".
92641         (xalloc_die) [defined emacs]: New macro.
92642         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
92643         [! defined emacs]: Include <xalloc.h>.
92644         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
92645         (pointer): Typedef to POINTER_TYPE *.
92646         (malloc): Remove decl; we now always use xmalloc.
92647         (alloca): Use old-style definition, since Emacs needs this.
92648         Check for arithmetic overflow when computing combined size.
92649
92650 2002-12-04  Paul Eggert  <eggert@twinsun.com>
92651
92652         Do not generate unlocked-io.h automatically, since it's easier to
92653         maintain it by hand.
92654
92655         * lib/unlocked-io.h: New file, from GNU diffutils,
92656         but with proper copyright notice and attribution.
92657         * lib/gen-uio: Remove.
92658         * lib/Makefile.am: Add copyright notice.
92659         (libfetish_a_SOURCES): Add unlocked-io.h.
92660         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
92661         (DISTCLEANFILES, io_functions): Remove macros.
92662         (EXTRA_DIST): Remove gen_uio.
92663         (unlocked-io.h): Remove rule.
92664
92665 2002-12-04  Jim Meyering  <jim@meyering.net>
92666
92667         Reflect the fact that stat.c and lstat.c are no longer generated.
92668         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
92669         (DISTCLEANFILES): Likewise.
92670         (EXTRA_DIST): Likewise.
92671         (all_local): Don't depend on stat.c or lstat.c.
92672         (stat.c, lstat.c): Remove rules.
92673         (EXTRA_DIST): Remove xstat.in.
92674
92675         * lib/xstat.in: Remove file.  Contents moved into stat.c.
92676         * lib/stat.c: New file.  Contents mostly from xstat.in.
92677         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
92678         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
92679
92680         * lib/safe-read.c: Rework so that it may serve to define safe_write,
92681         too.
92682         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
92683
92684 2002-12-03  Jim Meyering  <jim@meyering.net>
92685
92686         * lib/safe-read.c, safe-write.c: Change variable names and comments,
92687         but not semantics, to minimize the differences between these two files.
92688         (safe_read): Change comment to mention SAFE_READ_ERROR.
92689
92690         * lib/safe-read.c (IS_EINTR): Define.
92691         (safe_read): Use IS_EINTR in place of in-function cpp directives.
92692
92693 2002-12-02  Jim Meyering  <jim@meyering.net>
92694
92695         * lib/safe-read.c (EINTR): Define.
92696         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
92697         (INT_MAX): Provide fallback.
92698         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
92699
92700         * lib/safe-read.h (SAFE_READ_ERROR): Define.
92701
92702 2002-12-02  Bruno Haible  <bruno@clisp.org>
92703
92704         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
92705         Define, taken from safe-read.c.
92706         (INT_MAX): Provide fallback.
92707         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
92708         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
92709
92710         * lib/safe-read.c (EINTR): Remove definition.
92711         (safe_read): Don't use EINTR if it is absent.
92712
92713 2002-12-01  Jim Meyering  <jim@meyering.net>
92714
92715         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
92716         zero.
92717         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
92718
92719 2002-11-27  Paul Eggert  <eggert@twinsun.com>
92720
92721         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
92722         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
92723         with `if (! (value < limit)) abort ();', for readability.
92724
92725 2002-11-26  Karl Berry  <karl@gnu.org>
92726
92727         * lib/strdup.c: copy from libc again, with jim's ok.
92728         * lib/.cppi-disable: re-add strdup.c
92729
92730 2002-11-25  Karl Berry  <karl@gnu.org>
92731
92732         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
92733         instead of "strtol.c".
92734
92735 2002-11-25  Karl Berry  <karl@gnu.org>
92736
92737         * config/install-sh: update from automake for variable quoting, $0 in
92738         error msgs, etc.
92739
92740         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
92741         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
92742         entry.
92743
92744 2002-11-25  Jim Meyering  <jim@meyering.net>
92745
92746         * lib/mktime.c: Sync from libc, now that it has the latest fix.
92747
92748 2002-11-24  Karl Berry  <karl@gnu.org>
92749
92750         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
92751         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
92752
92753 2002-11-24  Jim Meyering  <jim@meyering.net>
92754
92755         Update from coreutils:
92756
92757         * lib/mktime.c: Merge in changes from libc.
92758
92759         Avoid a link-time failure on some Linux systems.
92760         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
92761         (otherwise).
92762         (__mon_yday): Declare with the STATIC attribute.
92763         (__mktime_internal): Likewise.
92764         Based on a report from Greg Schafer.
92765
92766 2002-11-23  Jim Meyering  <jim@meyering.net>
92767
92768         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
92769         Use `unsigned', not `int', as type of index.
92770
92771         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
92772
92773         * lib/fsusage.c: Remove unneeded parentheses around operands of
92774         `defined'.
92775
92776 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92777
92778         * lib/quotearg.h: Allow multiple inclusion by surrounding with
92779         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
92780         so that we can be included first.
92781         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
92782         * lib/quotearg.c: Include quotearg.h immediately after config.h.
92783         No need to include stddef.h or sys/types.h any more.
92784         Surround local include files with "", not "<>".
92785         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
92786         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
92787         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
92788         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
92789         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
92790         (ISPRINT): Remove; no longer needed now that we assume C89.
92791
92792         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
92793         Preserve errno.
92794
92795         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
92796         quotearg_char): Use SIZE_MAX rather than
92797         (size_t) -1 when we are talking about "infinity".
92798
92799         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
92800
92801 2002-11-22  Paul Eggert  <eggert@twinsun.com>
92802
92803         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
92804         hint that one should use `if (! x) abort ();' rather than `assert
92805         (x);', and anyway it's one less thing to worry about configuring.
92806         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
92807         hash_rehash, hash_insert): Use abort rather than assert.
92808
92809 2002-11-22  Bruno Haible  <bruno@clisp.org>
92810
92811         * lib/safe-read.h: Assume C89. Add comments.
92812         (safe_read): Change return type to size_t.
92813         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
92814         byte counts > SSIZE_MAX correctly.
92815         * lib/safe-write.h: New file.
92816         * lib/safe-write.c: New file.
92817         * lib/full-read.h: New file.
92818         * lib/full-read.c: New file.
92819         * lib/full-write.h: Assume C89. Add comments.
92820         * lib/full-write.c: Include safe-write.h.
92821         (full_write): Rewritten to use safe_write.
92822         Suggested by Jim Meyering and Paul Eggert.
92823
92824 2002-11-21  Jim Meyering  <jim@meyering.net>
92825
92826         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
92827
92828         Merge in changes from the coreutils.
92829
92830         2002-09-25  Paul Eggert  <eggert@twinsun.com>
92831         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
92832         <stdint.h>.
92833         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
92834         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
92835         int.  Work more efficiently if X is the same width as uintmax_t.
92836         Do not compare X to -1, to avoid bogus compiler warning.
92837         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
92838         Don't assume that f_frsize and f_bsize are the same type.
92839
92840         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
92841         warning on FreeBSD.
92842
92843         * lib/makepath.c (make_path): Restore umask *before* creating the final
92844         component.
92845         (make_path): Minor reformatting.
92846
92847         * lib/xmalloc.c: Adjust to work with new autoconf macros,
92848         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
92849         HAVE_MALLOC/HAVE_REALLOC.
92850
92851         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
92852         dummy ones.  At least on GNU/Linux systems, `auto' means something
92853         else.
92854         From Michael Stone.
92855
92856 2002-11-21  Bruno Haible  <bruno@clisp.org>
92857
92858         Remove case insensitive option matching.
92859         * lib/argmatch.h (argcasematch): Remove declaration.
92860         (ARGCASEMATCH): Remove macro.
92861         (__xargmatch_internal): Remove case_sensitive argument.
92862         (XARGMATCH): Update.
92863         (XARGCASEMATCH): Remove macro.
92864         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
92865         case_sensitive argument.
92866         (argcasematch): Remove function.
92867         (__xargmatch_internal): Remove case_sensitive argument.
92868         (main): Use XARGMATCH instead of XARGCASEMATCH.
92869
92870         * lib/xmalloc.c: Change compile-time error message. Add comment about
92871         required autoconf version.
92872
92873 2002-11-20  Paul Eggert  <eggert@twinsun.com>
92874
92875         Merge argmatch cleanups from Bison.  Assume C89.
92876
92877         * lib/argmatch.c: Include config.h here, not in argmatch.h.
92878         Include stdlib.h, for EXIT_FAILURE.
92879         Always include <string.h>, since we assume C89.
92880         (EXIT_FAILURE): Remove pre-C89 bug workaround.
92881         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
92882         Include <stddef.h> instead, since it's all we need for size_t.
92883         (PARAMS): Remove.  All uses removed.
92884         (ARRAY_CARDINALITY): Do not bother to #undef.
92885         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
92886         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92887         Remove unnecessary parentheses.
92888         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
92889         Insert necessary parentheses.
92890         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
92891         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
92892
92893 2002-11-19  Bruno Haible  <bruno@clisp.org>
92894
92895         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
92896         * lib/mbswidth.h: Include <stddef.h>, for size_t.
92897
92898         * lib/mbswidth.h (PARAMS): Remove macro.
92899         (mbswidth, mbsnwidth): Use ANSI C function declarations.
92900         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
92901
92902         * lib/gcd.h (PARAMS): Remove macro.
92903         (gcd): Use ANSI C function declarations.
92904         * lib/gcd.c (gcd): Likewise.
92905
92906 2002-11-15  Bruno Haible  <bruno@clisp.org>
92907
92908         * lib/strcspn.c: Include <stddef.h>.
92909         (strcspn): Use ANSI C function declaration. Change return type to
92910         size_t. Use NULL.
92911         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
92912         (strpbrk): Use NULL.
92913         * lib/strpbrk.h (PARAMS): Remove macro.
92914         (strpbrk): Use ANSI C function declaration.
92915         * lib/strstr.c: Don't include <sys/types.h>.
92916         * lib/strstr.h (PARAMS): Remove macro.
92917         (strstr): Use ANSI C function declarations.
92918
92919 2002-11-14  Karl Berry  <karl@gnu.org>
92920
92921         * config/mkinstalldirs: `do' on separate line, instead of
92922         `for var; do'.
92923
92924 2002-11-06  Bruno Haible  <bruno@clisp.org>
92925
92926         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
92927         * lib/gcd.c (gcd): Likewise.
92928
92929 2002-11-05  Bruno Haible  <bruno@clisp.org>
92930
92931         * lib/gcd.h: New file, from gettext-0.11.5.
92932         * lib/gcd.c: New file, from gettext-0.11.5.
92933
92934 2002-11-05  Bruno Haible  <bruno@clisp.org>
92935
92936         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92937         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92938         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92939         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
92940
92941         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
92942         <libintl.h>.
92943         * lib/makepath.c: Include gettext.h instead of <locale.h> and
92944         <libintl.h>.
92945
92946         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
92947         * lib/human.c: Include gettext.h instead of <libintl.h>.
92948         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
92949         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
92950         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
92951         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
92952         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
92953         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
92954         (textdomain): Remove definition.
92955         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
92956
92957         * lib/long-options.c: Remove include of <libintl.h> and definition of
92958         _.
92959         * lib/same.c: Remove include of <libintl.h> and definition of _.
92960
92961 2002-11-04  Owen Taylor  <otaylor@redhat.com>
92962
92963         * lib/config.charset: A few additions for Solaris.
92964
92965 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92966
92967         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
92968         * lib/localcharset.c (locale_charset): Declare as extern "C".
92969
92970 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
92971
92972         * lib/config.charset: msdos in uk_UA uses CP1125.
92973
92974 2002-11-04  Bruno Haible  <bruno@clisp.org>
92975
92976         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
92977         * lib/strcase.h: New file, from GNU gettext-0.11.5.
92978         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
92979         * lib/strstr.h: New file, from GNU gettext-0.11.5.
92980         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
92981
92982 2002-11-04  Bruno Haible  <bruno@clisp.org>
92983
92984         * lib/localcharset.c (locale_charset): Don't return an empty string.
92985
92986 2002-11-04  Bruno Haible  <bruno@clisp.org>
92987
92988         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
92989         aliases.
92990
92991 2002-11-04  Bruno Haible  <bruno@clisp.org>
92992
92993         * lib/config.charset: Update for newest glibc. Add canonical names
92994         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
92995
92996 2002-11-04  Bruno Haible  <bruno@clisp.org>
92997
92998         * lib/config.charset: Add support for NetBSD.
92999
93000 2002-11-04  Bruno Haible  <bruno@clisp.org>
93001
93002         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
93003
93004 2002-11-01  Bruno Haible  <bruno@clisp.org>
93005
93006         * configure.in: Add AC_CONFIG_AUX_DIR call.
93007         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
93008         test/Makefile.
93009         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
93010
93011 2002-09-28  Karl Berry  <karl@gnu.org>
93012
93013         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
93014         installed automake until the next release, since changes have been
93015         made.
93016
93017 2002-09-25  Karl Berry  <karl@gnu.org>
93018
93019         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
93020         * lib/getopt*: copy from libc/posix.
93021         * lib/gettext.h: copy from gettext.
93022         * lib/.cppi-disable: add strdup.c, gettext.h.
93023
93024 2002-09-25  Karl Berry  <karl@gnu.org>
93025
93026         * config/srclist.txt: enable gettext.h check.
93027         * config/config.{guess,sub}: update from prep.
93028         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
93029                 from automake 1.6.3.
93030         See srclist*.
93031
93032 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
93033
93034         * regex.c (PATFETCH): Remove the translating fetch.
93035         (PATFETCH_RAW): Rename to PATFETCH.
93036         (set_image_of_range): New fun.
93037         (SET_RANGE_TABLE_WORK_AREA): Use it.
93038         (regex_compile): Don't translate the pattern chars so eagerly.
93039         Only do it when inserting an `exactn' bytecode or when handling
93040         a char-range.
93041         (mutually_exclusive_p): Avoid empty statement.
93042
93043 2002-07-06  Jim Meyering  <meyering@lucent.com>
93044
93045         * m4/README: Don't mention Makefile.am.in.
93046         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
93047
93048 2002-07-01  Jim Meyering  <meyering@lucent.com>
93049
93050         * lib/c-stack.c: Include sys/time.h.
93051         From Volker Borchert.
93052
93053 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93054
93055         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
93056
93057 2002-06-26  Paul Eggert  <eggert@twinsun.com>
93058
93059         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
93060         New macro.  Use it uniformly instead of
93061         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
93062         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
93063         reported by Vin Shelton.
93064
93065 2002-06-22  Paul Eggert  <eggert@twinsun.com>
93066
93067         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
93068         Do not assume SA_SIGINFO behavior.
93069         Bug reported by Jim Meyering on NetBSD 1.5.2.
93070
93071 2002-06-22  Jim Meyering  <meyering@lucent.com>
93072
93073         * m4/c-stack.m4: New file, from diffutils-2.8.2.
93074         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
93075
93076         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
93077         now that configure.ac uses AC_GNU_SOURCE.
93078         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
93079         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
93080
93081         Update to latest tools.  Suggestions from Paul Eggert.
93082         * m4/stdbool.m4: New file, from diffutils-2.8.2.
93083         * m4/gnu-source.m4: Update from diffutils-2.8.2.
93084         * m4/fnmatch.m4: Likewise.
93085         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
93086         to AC_HEADER_STDBOOL
93087
93088 2002-06-22  Jim Meyering  <meyering@lucent.com>
93089
93090         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
93091         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
93092
93093 2002-06-22  Jim Meyering  <meyering@lucent.com>
93094
93095         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
93096
93097         * lib/exitfail.c, exitfail.h: Likewise.
93098         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
93099
93100         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
93101         of fnmatch.h.
93102         (EXTRA_DIST): Add fnmatch_loop.c.
93103         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
93104
93105         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
93106         * lib/fnmatch.c: Update from diffutils-2.8.2.
93107         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
93108         * lib/fnmatch.h: Remove file.
93109
93110 2002-06-21  Jim Meyering  <meyering@lucent.com>
93111
93112         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
93113         * m4/mbrtowc.m4: Likewise.
93114
93115         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
93116         * m4/mbswidth.m4: Reflect name change:
93117         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
93118         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
93119
93120         * m4/lib-link.m4: Update from gettext-0.11.2.
93121         * m4/gettext.m4: Likewise.
93122
93123         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
93124         From Alfred M. Szmidt.
93125
93126 2002-06-18  Paul Eggert  <eggert@twinsun.com>
93127
93128         * lib/file-type.h: Report an error if neither S_ISREG nor
93129         S_IFREG is defined, instead of using a test specific to glibc
93130         2.2.  This should be safe, since POSIX requires S_ISREG and
93131         Unix Version 7 had S_IFREG.  We don't need to check for
93132         <sys/types.h> since we don't use any symbols that it defines.
93133
93134 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
93135
93136         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
93137         $@-t, so that each temporary file name is unique and valid in the first
93138         8 characters, for operation under DOS.
93139
93140 2002-06-15  Paul Eggert  <eggert@twinsun.com>
93141
93142         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
93143
93144 2002-06-15  Jim Meyering  <meyering@lucent.com>
93145
93146         Work even with DJGPP 2.03, which lacks support for symlinks.
93147         From Richard Dawe.
93148         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
93149         is defined.
93150         * lib/lchown.c (S_ISLNK): Likewise.
93151
93152 2002-06-15  Jim Meyering  <meyering@lucent.com>
93153
93154         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
93155         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
93156         have been included before this file.
93157
93158 2002-06-14  Jim Meyering  <meyering@lucent.com>
93159
93160         * lib/file-type.h: Use the version from diffutils-2.8.2.
93161         * lib/file-type.c: Likewise.
93162
93163 2002-06-07  Jim Meyering  <meyering@lucent.com>
93164
93165         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
93166         They're needed at least for NetBSD 1.5.2.
93167         ($statxfs_includes): Include those same headers.
93168         ($statxfs_includes): Include sys/vfs.h if available.
93169         ($statxfs_includes): Likewise for sys/statvfs.h.
93170         Check for the following members in both structs statfs and statvfs:
93171         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
93172
93173 2002-06-01  Jim Meyering  <meyering@lucent.com>
93174
93175         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
93176         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
93177
93178 2002-05-28  Jim Meyering  <meyering@lucent.com>
93179
93180         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
93181         Reported by Volker Borchert.
93182
93183 2002-05-27  Jim Meyering  <meyering@lucent.com>
93184
93185         Fix a problem seen only on nonconforming systems whereby ls.c's
93186         use of localtime, and then of gettimeofday would cause trouble:
93187         the localtime call used to initialize rpl_gettimeofday's save
93188         mechanism would clobber ls's current local time information so
93189         that in any long listing the first file would always be listed
93190         with date 1970-01-01.  Analysis by Volker Borchert.
93191
93192         * lib/gettimeofday.c (localtime): Undefine.
93193         (rpl_localtime): New function.
93194
93195 2002-05-27  Jim Meyering  <meyering@lucent.com>
93196
93197         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
93198         localtime.
93199
93200         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
93201         use the replacement function; it wouldn't resolve at link time.
93202         Reported by Volker Borchert.
93203
93204 2002-05-22  Jim Meyering  <meyering@lucent.com>
93205
93206         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
93207         file-type.h.
93208         * lib/file-type.h: New file.
93209         * lib/file-type.c (file_type): New file/function.  Extracted from
93210         diffutils.
93211
93212 2002-04-30  Jim Meyering  <meyering@lucent.com>
93213
93214         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
93215
93216 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93217
93218         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
93219
93220 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93221
93222         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
93223         Do not check for alloca.h (no longer used) or stdbool.h (was never
93224         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
93225
93226 2002-04-29  Paul Eggert  <eggert@twinsun.com>
93227
93228         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
93229
93230 2002-04-29  Jim Meyering  <meyering@lucent.com>
93231
93232         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
93233         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
93234         Use AC_FUNC_STRNLEN here instead.
93235
93236         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
93237         With autoconf-2.53a, it's part of AC_PROG_CC.
93238
93239 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93240
93241         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
93242         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
93243
93244 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93245
93246         * lib/sig2str.h, lib/sig2str.c: New files.
93247         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
93248
93249 2002-04-28  Paul Eggert  <eggert@twinsun.com>
93250
93251         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
93252         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
93253         of 127, since 64 is the largest conceivable number for ancient
93254         nonstandard hosts.
93255         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
93256
93257 2002-04-28  Jim Meyering  <meyering@lucent.com>
93258
93259         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
93260
93261 2002-04-24  Jim Meyering  <meyering@lucent.com>
93262
93263         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
93264         (jm_PREREQ): Use it.
93265
93266         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
93267         mach/mach.h fcntl.h.
93268         Check for this function: setlocale.
93269
93270 2002-04-24  Jim Meyering  <meyering@lucent.com>
93271
93272         * lib/gettext.h: New file, from Gettext.
93273         * lib/Makefile.am (INCLUDES): Remove -I../intl.
93274         (libfetish_a_SOURCES): Add gettext.h.
93275
93276 2002-04-16  Jim Meyering  <meyering@lucent.com>
93277
93278         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
93279         ut_pid, ut_id, ut_exit.
93280
93281 2002-04-16  Jim Meyering  <meyering@lucent.com>
93282
93283         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
93284         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
93285         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
93286
93287 2002-04-12  Jim Meyering  <meyering@lucent.com>
93288
93289         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
93290         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
93291         existence of the getmntinfo function.  Needed for Darwin 5.3.
93292
93293         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
93294         This is necessary at least on Darwin 5.3.
93295
93296         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
93297         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
93298         strnlen.o in the library, and that makes some versions of ranlib
93299         object.
93300
93301 2002-04-12  Jim Meyering  <meyering@lucent.com>
93302
93303         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
93304
93305 2002-04-09  Jim Meyering  <meyering@lucent.com>
93306
93307         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
93308         to be more precise.  Rather than saying we're checking whether the
93309         function `works', say what we're testing.
93310         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
93311         Reported by Bruno Haible.
93312
93313 2002-03-10  Jim Meyering  <meyering@lucent.com>
93314
93315         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
93316         Suggestion from Santiago Vila.
93317
93318 2002-03-08  Jim Meyering  <meyering@lucent.com>
93319
93320         * lib/rename.c: Mention that this wrapper is needed also on
93321         mips-dec-ultrix4.4 systems.
93322
93323 2002-03-02  Jim Meyering  <meyering@lucent.com>
93324
93325         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
93326         not HAVE_CLOCK_SETTIME.
93327
93328 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93329
93330         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
93331         Check for clock_settime.
93332
93333 2002-02-27  Paul Eggert  <eggert@twinsun.com>
93334
93335         * lib/nanosleep.h: Rename to....
93336         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
93337
93338         * lib/gettime.c: New file.
93339         * lib/settime.c: New file.
93340         * lib/stime.c: Remove.
93341
93342         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
93343         timespec.h.  Remove nanosleep.h.
93344
93345 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93346
93347         * m4/acl.m4: New file.
93348         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
93349         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
93350
93351 2002-02-25  Paul Eggert  <eggert@twinsun.com>
93352
93353         * lib/acl.c, lib/acl.h: New files.
93354         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
93355
93356 2002-02-24  Jim Meyering  <meyering@lucent.com>
93357
93358         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
93359         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
93360         cause trouble.  Reported by Nelson Beebe.
93361
93362 2002-02-23  Paul Eggert  <eggert@twinsun.com>
93363
93364         * lib/path-concat.c (xpath_concat): Reorder code to pacify
93365         compilers that don't know that xalloc_die never returns.
93366
93367 2002-02-20  Jim Meyering  <meyering@lucent.com>
93368
93369         * lib/getdate.c: Regenerate using bison-1.33.
93370
93371 2002-02-17  Jim Meyering  <meyering@lucent.com>
93372
93373         * config/config.guess (main): Don't use `head -1'; it's no longer
93374         portable. Use `sed 1q' instead.
93375
93376 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
93377
93378         * m4/codeset.m4: Upgrade to gettext-0.11.
93379         * m4/gettext.m4: Upgrade to gettext-0.11.
93380         * m4/glibc21.m4: Upgrade to gettext-0.11.
93381         * m4/iconv.m4: Upgrade to gettext-0.11.
93382         * m4/isc-posix.m4: Upgrade to gettext-0.11.
93383         * m4/lcmessage.m4: Upgrade to gettext-0.11.
93384         * m4/lib-ld.m4: New file, from gettext-0.11.
93385         * m4/lib-link.m4: New file, from gettext-0.11.
93386         * m4/lib-prefix.m4: New file, from gettext-0.11.
93387         * m4/progtest.m4: Upgrade to gettext-0.11.
93388
93389 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93390
93391         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
93392         (jm_PREREQ): Use it.
93393
93394 2002-02-15  Paul Eggert  <eggert@twinsun.com>
93395
93396         * lib/posixver.c, lib/posixver.h: New files.
93397         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93398
93399 2002-02-02  Paul Eggert  <eggert@twinsun.com>
93400             Bruno Haible  <bruno@clisp.org>
93401
93402         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
93403         (fwrite_success_callback): New declaration.
93404         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
93405         print_unicode_char. Call failure callback instead of error.
93406         (fwrite_success_callback): New function.
93407         (exit_failure_callback): New function.
93408         (fallback_failure_callback): New function.
93409         (print_unicode_char): Call unicode_to_mb.
93410
93411 2002-01-26  Jim Meyering  <meyering@lucent.com>
93412
93413         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
93414         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
93415
93416 2002-01-26  Jim Meyering  <meyering@lucent.com>
93417
93418         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
93419
93420 2002-01-22  Paul Eggert  <eggert@twinsun.com>
93421
93422         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
93423
93424 2002-01-22  Jim Meyering  <meyering@lucent.com>
93425
93426         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
93427         Otherwise, some versions of automake would omit the rule that makes
93428         Makefile from Makefile.in.
93429
93430 2002-01-21  Paul Eggert  <eggert@twinsun.com>
93431
93432         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
93433         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
93434         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
93435         (memcoll): Set errno to zero if there is no error.
93436
93437         * lib/quotearg.c (quotearg_buffer_restyled):
93438         Fix bug with quoting buffers containing NUL when backslashing escapes.
93439         This bug was exposed by the other changes in this patch.
93440         (quotearg_n_options): New arg ARGSIZE.
93441         All callers changed.
93442         (quoting_options_from_style): New function.
93443         (quotearg_n_style): Use it.
93444         (quotearg_n_style_mem): New function.
93445
93446         * lib/quotearg.h (quotearg_n_style_mem): New function.
93447
93448 2002-01-19  Jim Meyering  <meyering@lucent.com>
93449
93450         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
93451         Remove useless quotes: DF_PROG="df".
93452         * m4/strnlen.m4: New file.
93453
93454 2002-01-16  Paul Eggert  <eggert@twinsun.com>
93455
93456         * lib/backupfile.c (ISDIGIT): Comment fix.
93457         * lib/getdate.y (ISDIGIT): Likewise.
93458         * lib/posixtm.c (ISDIGIT, year): Likewise.
93459         * lib/strverscmp.c (ISDIGIT): Likewise.
93460         * lib/userspec.c (ISDIGIT): Likewise.
93461
93462 2002-01-16  Jim Meyering  <meyering@lucent.com>
93463
93464         * lib/getdate.y: Add three semicolons, each just before a closing
93465         brace. Bison (as of version 1.31) no longer papers over that mistake.
93466
93467 2002-01-05  Jim Meyering  <meyering@lucent.com>
93468
93469         * lib/version-etc.c (version_etc_copyright): Update copyright year.
93470
93471 2001-12-19  Paul Eggert  <eggert@twinsun.com>
93472
93473         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
93474         not silently exit merely because the output buffer happens to
93475         have nothing pending.
93476
93477 2001-12-18  Paul Eggert  <eggert@twinsun.com>
93478
93479         See the big note in ../ChangeLog.
93480         * lib/human.c (suffixes): Prefer K to k for 1024.
93481         (generate_suffix_backwards): New function.
93482         (human_readable_inexact): Use it.
93483         * lib/xstrtol.c (__xstrtol): If there is no number but there
93484         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
93485         Accept 'K' as well as 'k'.
93486
93487 2001-12-15  Jim Meyering  <meyering@lucent.com>
93488
93489         * lib/regex.h (__restrict_arr): Update from libc.
93490
93491         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
93492         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
93493         (STREQ): Define.
93494
93495 2001-12-14  Jim Meyering  <meyering@lucent.com>
93496
93497         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
93498         Suggestion from Bruno Haible.
93499
93500 2001-12-10  Jim Meyering  <meyering@lucent.com>
93501
93502         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
93503         xrealloc, Instead, include "xalloc.h".
93504         (initbuffer): Don't cast xmalloc return value to char*.
93505         (readline): Reword comment.
93506         Don't cast xrealloc return value to char*
93507         Return NULL, not 0.
93508
93509 2001-12-09  Jim Meyering  <meyering@lucent.com>
93510
93511         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
93512         about `signed and unsigned type in conditional expression'.
93513         * lib/posixtm.c (posix_time_parse): Likewise.
93514
93515         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
93516
93517         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
93518         to avoid a pedantic warning.
93519
93520         * lib/getstr.c: Don't include assert.h.
93521         (getstr): Remove warning-evoking assertions.
93522         Return -1 if offset parameter is out of bounds.
93523         Change the type of a local from int to size_t.
93524
93525         * lib/strftime.c (my_strftime_localtime_r): Include this function
93526         definition in the `#if ! HAVE_TM_GMTOFF' block.
93527
93528         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
93529         Include xalloc.h instead.
93530
93531 2001-12-02  Jim Meyering  <meyering@lucent.com>
93532
93533         * lib/tempname.c: Don't declare getenv, thus reverting the change of
93534         2001-11-18.  It's no longer necessary, now that stdlib.h is always
93535         included.
93536
93537         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
93538         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
93539
93540 2001-11-30  Akim Demaille  <akim@epita.fr>
93541
93542         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
93543         before being defined.
93544
93545 2001-11-27  Paul Eggert  <eggert@twinsun.com>
93546
93547         * lib/quotearg.h (quotearg_n, quotearg_n_style):
93548         First arg is int, not unsigned.
93549         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
93550         (SIZE_MAX, UINT_MAX): New macros.
93551         (quotearg_n_options): Abort if N is negative.
93552         Avoid overflow check on hosts where size_t is 64 bits and int
93553         is 32 bits, as overflow is impossible there.
93554         Fix off-by-one typo that caused unnecessary reallocation.
93555
93556 2001-11-27  Jim Meyering  <meyering@lucent.com>
93557
93558         * lib/tempname.c: Merge with version from libc.
93559         * lib/regex.c: Likewise.
93560
93561         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
93562         systems for which STDC_HEADERS is 0, it was not included, resulting in
93563         a warning about an integer-to-pointer conversion problem with getenv.
93564         Reported by Volker Borchert.
93565
93566 2001-11-26  Jim Meyering  <meyering@lucent.com>
93567
93568         * lib/gtod.h: Remove file.
93569         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
93570         * lib/gettimeofday.c: Don't include gtod.h.
93571         (GTOD_init): Remove function.
93572         (rpl_gettimeofday): Do its job here instead, rather than aborting.
93573         Suggestion from Volker Borchert.
93574
93575 2001-11-23  Jim Meyering  <meyering@lucent.com>
93576
93577         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
93578         it.
93579         * lib/hash.c (struct hash_table): Define it here instead.
93580
93581 2001-11-22  Jim Meyering  <meyering@lucent.com>
93582
93583         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
93584
93585 2001-11-20  Jim Meyering  <meyering@lucent.com>
93586
93587         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
93588         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
93589
93590 2001-11-19  Jim Meyering  <meyering@lucent.com>
93591
93592         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
93593         directory.  Use "conftestXXXXXX" as the template.
93594         Suggestion from Paul Eggert.
93595
93596         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
93597         immediately, so the test doesn't mistakenly hit the max-open-files
93598         limit.
93599
93600 2001-11-18  Paul Eggert  <eggert@twinsun.com>
93601
93602         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
93603         (TEMPORARIES): New macro.
93604         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
93605         removes an artificial limitation (e.g. HP-UX 10.20, where
93606         TMP_MAX is 17576).
93607
93608 2001-11-18  Jim Meyering  <meyering@lucent.com>
93609
93610         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
93611
93612 2001-11-18  Jim Meyering  <meyering@lucent.com>
93613
93614         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
93615         on SunOS 4.
93616
93617         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
93618         files will be created before anything else.
93619
93620 2001-11-17  Paul Eggert  <eggert@twinsun.com>
93621
93622         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
93623         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
93624
93625 2001-11-17  Jim Meyering  <meyering@lucent.com>
93626
93627         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
93628         Prompted by a report from Bob Proulx.
93629
93630         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
93631         Instead, require UTILS_FUNC_MKSTEMP.
93632
93633 2001-11-17  Jim Meyering  <meyering@lucent.com>
93634
93635         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
93636         Now, that's done as part of AC_FUNC_STRTOD.
93637
93638 2001-11-17  Jim Meyering  <meyering@lucent.com>
93639
93640         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
93641         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
93642         rather than group writable.  Patch by Juan F. Codagnone.
93643
93644         * lib/readtokens.c: Remove explicit declarations of xmalloc and
93645         xrealloc, Instead, include "xalloc.h".
93646
93647         * lib/mountlist.c: Include unlocked-io.h after all system headers.
93648         Remove explicit declarations of xmalloc, xrealloc,
93649         and xstrdup.  Instead, include "xalloc.h".
93650
93651         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
93652         unlocked-io.h.
93653         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
93654         Likewise.
93655         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
93656
93657         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
93658         Reported by Padraig Brady.
93659
93660         * lib/mkstemp.c: #undef mkstemp.
93661         Include config.h.
93662         (rpl_mkstemp): Rename from mkstemp.
93663         Protoize.
93664
93665 2001-11-16  Jim Meyering  <meyering@lucent.com>
93666
93667         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
93668         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
93669         determine the amount of total physical memory, use pstat_getstatic.
93670         HPUX-11 doesn't define _SC_PHYS_PAGES.
93671         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
93672         If sysconf couldn't be used to determine the amount of available
93673         physical memory, use both pstat_getstatic and pstat_getdynamic.
93674         Based on a patch from Bob Proulx.
93675
93676 2001-11-10  Jim Meyering  <meyering@lucent.com>
93677
93678         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
93679         (jm_PREREQ): Use it.
93680
93681 2001-11-09  Jim Meyering  <meyering@lucent.com>
93682
93683         * m4/jm-macros.m4: Require autoconf-2.52f.
93684         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
93685         Use these AC_-prefixed names, not the AM_-prefixed ones.
93686
93687         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
93688
93689 2001-11-05  Jim Meyering  <meyering@lucent.com>
93690
93691         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
93692
93693 2001-11-04  Jim Meyering  <meyering@lucent.com>
93694
93695         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
93696         $DEFS.
93697
93698 2001-11-03  Jim Meyering  <meyering@lucent.com>
93699
93700         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
93701         of AC_DEFUN.
93702
93703         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
93704         know the name of the variable in the macro definition.
93705
93706 2001-11-03  Jim Meyering  <meyering@lucent.com>
93707
93708         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
93709         in argmatch_to_argument call.
93710
93711         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
93712         argument.
93713
93714         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
93715         e.g., a fault due to an attempt to free a NULL pointer.
93716
93717 2001-11-01  Jim Meyering  <meyering@lucent.com>
93718
93719         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
93720         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
93721
93722 2001-11-01  Jim Meyering  <meyering@lucent.com>
93723
93724         * lib/dirfd.c, lib/dirfd.h: New files.
93725         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
93726
93727         * lib/hash.c (hash_print) [TESTING]: Clean up.
93728
93729 2001-10-22  Paul Eggert  <eggert@twinsun.com>
93730
93731         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
93732         to avoid a warning if -Wall.
93733
93734 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
93735
93736         * README: New file
93737         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
93738         (per RMS's instructions, this is now the canonical source)
93739         * lgpl/, gpl/: New directories.
93740
93741 2001-10-21  Paul Eggert  <eggert@twinsun.com>
93742
93743         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
93744
93745 2001-10-21  Jim Meyering  <meyering@lucent.com>
93746
93747         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
93748         this code would end up calling gettext even in packages built
93749         with --disable-nls.
93750         * lib/getopt.c (_): Likewise.
93751         * lib/regex.c (_): Likewise.
93752
93753 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93754
93755         * m4/error.m4 (jm_PREREQ_ERROR):
93756         Do not invoke AC_CHECK_FUNCS with strerror_r, as
93757         AC_FUNC_STRERROR_R does that.
93758         Check for strerror declaration.
93759
93760         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
93761         are supposed to have them these days.
93762         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
93763         Merge changes from latest Autoconf CVS.
93764         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
93765         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
93766         POSIX decided to standardize on the int flavor of strerror_r.
93767
93768 2001-10-20  Paul Eggert  <eggert@twinsun.com>
93769
93770         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
93771         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
93772         Use strerror_r that is only a macro, even if it is not a function.
93773         (strerror): Check for HAVE_DECL_STRERROR before declaring.
93774         (private_strerror): Use prototypes, not old-style function definition.
93775         (print_errno_message): New function.
93776         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
93777         char*-flavored one.
93778         (error_tail, error, error_at_line): Use it.
93779
93780 2001-10-11  Jim Meyering  <meyering@lucent.com>
93781
93782         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
93783         and quote_n (1, ... to avoid clobbering a buffer.
93784
93785 2001-10-05  Jim Meyering  <meyering@lucent.com>
93786
93787         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
93788         hash-pjw.h.
93789         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
93790         * lib/hash-pjw.h: New file.
93791
93792 2001-09-30  Jim Meyering  <meyering@lucent.com>
93793
93794         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
93795         `struct fsstat' has the `f_fstypename' member.
93796         Use that to define FS_TYPE, which is now used to make
93797         the getfsstat link test tighter.
93798
93799 2001-09-30  Jim Meyering  <meyering@lucent.com>
93800
93801         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
93802         Include <sys/ucred.h>, for Apple Darwin.
93803         Include sys/mount.h and sys/fs_types.h only if available.
93804         (FS_TYPE): Define.
93805         (read_filesystem_list): Use FS_TYPE.
93806
93807 2001-09-29  Paul Eggert  <eggert@twinsun.com>
93808
93809         * lib/exclude.c (excluded_filename): 0 -> false, since it's
93810         a boolean context.
93811
93812 2001-09-29  Jim Meyering  <meyering@lucent.com>
93813
93814         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93815         [one-argument getmntent function]): Include stdio.h before mntent.h.
93816         SunOS 4.1.x needs it for the declaration of `FILE'.
93817         Patch by Volker Borchert.
93818
93819         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
93820         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
93821         sys/fs_types.h, and make the link-test for getfsstat guard #include
93822         directives with appropriate #if HAVE_*_H tests so that we can
93823         detect getfsstat on Apple Darwin1.3.7 systems.
93824         Reported by Nelson Beebe.
93825         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
93826
93827 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93828
93829         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93830         #defines strtoimax.  Also treat the other strto* functions
93831         like strtoimax.
93832
93833         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
93834         Check for strtoul and strtoumax,
93835         as those declarations are made even in the signed case.
93836         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
93837         Likewise, for strtol and strtoimax.
93838
93839 2001-09-28  Paul Eggert  <eggert@twinsun.com>
93840
93841         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
93842         #defines strtoimax.  Also treat the other strto* functions
93843         like strtoimax.
93844
93845         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
93846         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
93847         (strtoimax, strtoumax): Do not declare if already defined as a macro.
93848
93849 2001-09-26  Jim Meyering  <meyering@lucent.com>
93850
93851         Most macros in unlocked-io.h had the wrong number of arguments.
93852         * lib/gen-uio: New script.
93853         (USE_UNLOCKED_IO): Define to 1 if not already defined.
93854         * lib/unlocked-io.hin: Remove file.
93855         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
93856         rather than trying to embed it here.
93857         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
93858         Reported by Padraig Brady.
93859
93860 2001-09-25  Volker Borchert  <bt@teknon.de>
93861
93862         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
93863         `result'.
93864
93865 2001-09-24  Jim Meyering  <meyering@lucent.com>
93866
93867         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
93868
93869 2001-09-23  Jim Meyering  <meyering@lucent.com>
93870
93871         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
93872         instead of the mere test for existence of mntent.h.  The latter
93873         would get a false-positive on AIX 3.4 systems.
93874         In the outer getmntent if-block, don't die if neither of the getmntent
93875         tests succeeds.  Instead, just fall through and continue with the
93876         remaining tests.
93877
93878 2001-09-23  Jim Meyering  <meyering@lucent.com>
93879
93880         * lib/mountlist.c: Remove useless parentheses in #if directives.
93881         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
93882         the deprecated MOUNTED symbol is no longer defined in mntent.h.
93883
93884 2001-09-22  Jim Meyering  <meyering@lucent.com>
93885
93886         * m4/gettext.m4: New file.  From gettext.
93887         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
93888         * m4/progtest.m4: Likewise
93889         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
93890         * m4/glibc21.m4: Likewise.
93891
93892         * m4/libintl.m4: Remove.  No longer used.
93893
93894 2001-09-22  Jim Meyering  <meyering@lucent.com>
93895
93896         * lib/localcharset.c: Update from latest gettext.
93897         * lib/config.charset: Likewise.
93898
93899 2001-09-20  Jim Meyering  <meyering@lucent.com>
93900
93901         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
93902         strtoimax.
93903         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
93904         strtoumax.
93905
93906 2001-09-20  Jim Meyering  <meyering@lucent.com>
93907
93908         * lib/xstrtol.c (strtoimax): Guard declaration with
93909         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
93910         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
93911         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
93912         (strtoumax): Likewise, for completeness (it wasn't necessary).
93913
93914 2001-09-17  Paul Eggert  <eggert@twinsun.com>
93915
93916         * lib/strtoimax.c (HAVE_LONG_LONG):
93917         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
93918         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
93919         to work around bug in IBM C compiler.
93920
93921 2001-09-17  Jim Meyering  <meyering@lucent.com>
93922
93923         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
93924         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
93925         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
93926         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
93927         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
93928         whenever the right hand side need not be expanded by the shell.
93929
93930 2001-09-16  Paul Eggert  <eggert@twinsun.com>
93931
93932         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
93933         library.  It's not correct, as some older glibcs are buggy.
93934         fnmatch wasn't fixed until glibc 2.2.
93935
93936         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
93937         special shell magic here.
93938
93939 2001-09-16  Jim Meyering  <meyering@lucent.com>
93940
93941         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
93942         * m4/jm-macros.m4: Require it.
93943
93944 2001-09-16  Jim Meyering  <meyering@lucent.com>
93945
93946         * lib/mkdir.c: New file.
93947
93948 2001-09-15  Jim Meyering  <meyering@lucent.com>
93949
93950         * m4/jm-macros.m4: Check for help2man.
93951
93952 2001-09-11  Jim Meyering  <meyering@lucent.com>
93953
93954         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
93955         The body, by Paul Eggert, was moved here from configure.in.
93956         * m4/jm-macros.m4: Require UTILS_HOST_OS.
93957
93958 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93959
93960         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
93961         (jm_PREREQ): Use it.
93962
93963 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93964
93965         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
93966         Use ssize_t, not int, to store result of readlink.
93967         Check for ssize_t overflow as well as size_t overflow,
93968         as POSIX says the result of readlink is implementation-defined
93969         when ssize_t overflows.
93970         Remove unnecessary cast to char*.
93971         Use free+malloc instead of realloc, as the storage doesn't need
93972         to be preserved and it's clearer and can be more efficient that way.
93973         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
93974         * lib/xreadlink.h (xreadlink): Update prototype.
93975
93976 2001-09-04  Paul Eggert  <eggert@twinsun.com>
93977
93978         * lib/xgetcwd.c: Revert some of the previous change; intead,
93979         fix the HAVE_GETCWD_NULL code to behave more like the
93980         !HAVE_GETCWD_NULL code used to.
93981
93982         Include "xalloc.h".
93983         (xgetcwd): Do not return NULL when memory is exhausted; instead,
93984         invoke xalloc_die.
93985
93986 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93987
93988         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
93989         sys/param.h, as pathmax.h includes them.
93990
93991 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93992
93993         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
93994         (jm_PREREQ_XGETCWD): New macro.
93995
93996         * m4/getcwd.m4: New file.
93997
93998 2001-09-03  Paul Eggert  <eggert@twinsun.com>
93999
94000         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
94001         like the HAVE_GETCWD_NULL code.
94002         Include pathmax.h if not HAVE_GETCWD.
94003         Do not include xalloc.h.
94004         (INITIAL_BUFFER_SIZE): New symbol.
94005         Do not use xmalloc / xrealloc, since the caller is responsible for
94006         handling errors.  Preserve errno around `free' during failure.
94007         Do not overrun buffer when using getwd.
94008
94009 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94010
94011         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
94012         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
94013         getcwd (NULL, 0).
94014
94015 2001-09-03  Paul Eggert  <eggert@twinsun.com>
94016
94017         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
94018         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
94019         spotted by Jim Meyering.
94020
94021 2001-09-03  Jim Meyering  <meyering@lucent.com>
94022
94023         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
94024         failure.
94025
94026 2001-09-02  Jim Meyering  <meyering@lucent.com>
94027
94028         * lib/error.c: Update from GNU libc.
94029
94030 2001-09-01  Jim Meyering  <meyering@lucent.com>
94031
94032         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
94033         Used by df.
94034
94035 2001-09-01  Jim Meyering  <meyering@lucent.com>
94036
94037         * lib/xreadlink.c: New file.
94038         * lib/xreadlink.h: New file.
94039         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
94040         xreadlink.h.
94041
94042         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
94043         doesn't conflict with sparc Solaris 7's definition in
94044         /usr/include/sys/int_types.h.
94045
94046         * lib/exclude.c: Use `""', not `<>' to #include non-system header
94047         files.
94048         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
94049         and strncasecmp as r-values.  Unixware didn't have declarations.
94050
94051 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94052
94053         * lib/xstrtol.h: Add copyright notice.
94054         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
94055         LONGINT_INVALID_SUFFIX_CHAR.
94056
94057 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94058
94059         * lib/xstrtol.c (strtoimax): New decl.
94060
94061 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94062
94063         * lib/xgetcwd.c: Don't include pathmax.h.
94064         Include stdlib.h and unistd.h if available.
94065         Include xalloc.h.
94066         (xmalloc, xstrdup, free): Remove decls.
94067         (xgetcwd): Don't assume sizes fit in unsigned.
94068         Check for overflow when computing sizes.
94069         Simplify reallocation code.
94070
94071 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94072
94073         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
94074         a directory's st_size can have an arbitrary value, so the old
94075         usage could waste an arbitrary amount of memory.  All uses
94076         changed.
94077         * lib/savedir.h: Update prototype.
94078
94079 2001-08-31  Paul Eggert  <eggert@twinsun.com>
94080
94081         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
94082
94083         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
94084         old strtoimax.c.
94085
94086         Also, make the following further changes to make this file's
94087         configuration more similar to that of strtol.c:
94088         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
94089         (strtoumax, uintmax_t, strtoull, strtol): Remove.
94090         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
94091         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
94092         changed to signed values.
94093
94094         And make the following changes as well:
94095         Fix copyright notice, as 1999 was missing.
94096         (verify): New macro.
94097         (strtoimax): Check sizes at compile-time, not run-time.
94098         Prefer strtol to strtoll if both work.
94099         (main): Remove; it was not that useful and was a pain to maintain.
94100
94101         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
94102
94103 2001-08-31  Jim Meyering  <meyering@lucent.com>
94104
94105         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
94106         Use an initial, malloc'd, buffer of length 128 rather than
94107         a statically allocated one of length 1024.
94108
94109 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94110
94111         Simplify code, partly by assuming autoconf 2.52 semantics.
94112
94113         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
94114
94115         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
94116         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
94117         All uses removed.
94118         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
94119         Move AC_REQUIRE to next-to-top level, to avoid confusion.
94120         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
94121         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
94122         jm_AC_HEADER_INTTYPES_H.
94123         * m4/jm-macros.m4 (jm_MACROS): Likewise.
94124
94125         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
94126
94127         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
94128         Quote first arg of AC_DEFUN.
94129         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
94130         since they are needed to parse the include file even if we need
94131         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
94132         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
94133         but with opposite signedness.
94134
94135 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94136
94137         Merge 'exclude' changes from tar 1.13.22.
94138         This fixes one or two unlikely storage allocation overflow bugs,
94139         but doesn't change user-visible behavior otherwise.
94140
94141 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94142
94143         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
94144         (jm_PREREQ_EXCLUDE): New macro.
94145
94146 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94147
94148         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
94149         tm to be declared.
94150
94151 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94152
94153         * lib/hash.c: Remove '2001' from copyright notice.
94154
94155 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94156
94157         * lib/full-write.h: New file.
94158         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
94159         * lib/full-write.c: Correct credits, as cccp.c no longer
94160         exists and anyway it was so heavily changed from the old cccp
94161         code as to be unrecognizable.  Include full-write.h.
94162         (full_write): Return size_t, with short writes meaning failure.
94163         All callers changed.  This fixes a bug with large buffers
94164         on 64-bit hosts.
94165         * lib/utime.c: Include full-write.h.
94166
94167 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94168
94169         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
94170         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
94171         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
94172         Include if available.
94173         (<xalloc.h>): Include
94174         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
94175         (verify): New macro.  Use it to verify that EXCLUDE macros do not
94176         collide with FNM macros.
94177         (struct patopts): New struct.
94178         (struct exclude): Use it, as exclude patterns now come with options.
94179         (new_exclude): Support above changes.
94180         (new_exclude, add_exclude_file):
94181         Initial size must now be a power of two to simplify overflow checking.
94182         (free_exclude, fnmatch_no_wildcards): New function.
94183         (excluded_filename): No longer requires options arg, as the options
94184         are determined by add_exclude.  Now returns bool, not int.
94185         (excluded_filename, add_exclude):
94186         Add support for the fancy new exclusion options.
94187         (add_exclude, add_exclude_file): Now takes int options arg.
94188         Check for arithmetic overflow when computing sizes.
94189         (add_exclude_file): xrealloc might modify errno, so don't
94190         realloc until after errno might be used.
94191
94192         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
94193         New macros.
94194         (free_exclude): New decl.
94195         (add_exclude, add_exclude_file): Now takes int options arg.
94196         (excluded_filename): No longer requires options arg, as the options
94197         are determined by add_exclude.  Now returns bool, not int.
94198
94199 2001-08-30  Paul Eggert  <eggert@twinsun.com>
94200
94201         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
94202
94203 2001-08-27  Jim Meyering  <meyering@lucent.com>
94204
94205         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
94206
94207         * lib/version-etc.c (N_): Remove definition.
94208         Revert most of last change.
94209         Instead, simply don't mark the `Copyright...' string for translation.
94210         Based on advice from Paul Eggert.
94211
94212         * lib/strtoxmax.c: Tweak comment.
94213
94214 2001-08-26  Jim Meyering  <meyering@lucent.com>
94215
94216         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
94217
94218         * m4/xstrtoimax.m4: New file.
94219         * m4/xstrtoumax.m4: Add comments explaining why we
94220         AC_REPLACE_FUNCS(strtol).
94221
94222 2001-08-26  Jim Meyering  <meyering@lucent.com>
94223
94224         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
94225         of copyright with `%s' so translators don't get an untranslated
94226         message in 2002.
94227         (COPYRIGHT_YEAR): Define.
94228         (version_etc): Use fprintf rather than fputs.
94229         Suggestion from Ulrich Drepper.
94230
94231         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
94232
94233         * lib/strtoll.c: New file, from GNU libc.
94234         * lib/xstrtoimax.c: New file.
94235
94236         * lib/xstrtol.h: Add xstrtoimax.
94237         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
94238         * lib/strtoimax.c: New file.  Likewise, but first define
94239         STRTOUXMAX_SIGNED.
94240
94241         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
94242         ...
94243         * lib/strtoxmax.c: ... then renamed to this.
94244
94245 2001-08-18  Paul Eggert  <eggert@twinsun.com>
94246
94247         * m4/inttypes.m4: Add AC_PREREQ(2.13).
94248         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
94249         (jm_AC_TYPE_INTMAX_T): New macro.
94250         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
94251
94252         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
94253
94254         * m4/longlong.m4: Renamed from ulonglong.m4.
94255         * m4/inttypes.m4: Renamed from inttypes_h.m4.
94256         * m4/uintmax_t.m4: Removed.
94257
94258 2001-08-13  Paul Eggert  <eggert@twinsun.com>
94259
94260         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
94261         Port to Solaris 8, where 'sed' requires a space after the 'r'
94262         command, and where sh dislikes "$/".  Clean up the spacing a bit.
94263         Redirect output to $tmp just once.
94264
94265 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
94266
94267         * lib/addext.c (<errno.h>): Include.
94268         (errno): Declare if not defined.
94269         (addext): Work correctly when pathconf returns -1 and leaves
94270         errno alone because there is no limit.  Also, work even if
94271         pathconf returns a value greater than SIZE_MAX.
94272
94273 2001-08-12  Jim Meyering  <meyering@lucent.com>
94274
94275         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
94276         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
94277         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
94278         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
94279         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
94280         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
94281         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
94282         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
94283         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
94284         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
94285         utime.m4, utimes.m4, xstrtoumax.m4:
94286         Quote the first argument in each use of AC_DEFUN.
94287
94288 2001-08-12  Jim Meyering  <meyering@lucent.com>
94289
94290         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
94291         Simply `return getcwd (NULL, 0);'.
94292         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
94293         Use 1300 as initial value for length, not PATH_MAX.
94294
94295         * lib/pathmax.h: Clean up cpp syntax.
94296
94297 2001-08-12  Jim Meyering  <meyering@lucent.com>
94298
94299         * lib/gettimeofday.c: New file.
94300         * lib/gtod.h: New file.
94301         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
94302
94303 2001-08-05  Jim Meyering  <meyering@lucent.com>
94304
94305         * m4/jm-macros.m4: Require autoconf-2.52.
94306
94307 2001-08-04  Jim Meyering  <meyering@lucent.com>
94308
94309         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
94310         stmt, to get in sync with glibc.
94311
94312 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94313
94314         The following changes are from gettext 0.10.39 as maintained by
94315         Bruno Haible.
94316
94317         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
94318         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
94319         with inverted sense.  All uses changed.
94320
94321         * lib/mbswidth.c: Don't include <limits.h>.
94322         Include <stdlib.h> and <string.h> unconditionally.
94323         (iswcntrl, mbsinit, ISCNTRL): New macros.
94324         (mbsnwidth): Use K&R style function declarations.
94325         Don't bother checking for MB_LEN_MAX == 1, since the compiler
94326         can optimize it when MB_CUR_MAX == 1.
94327         The width of control characters is zero, not 1.
94328
94329 2001-08-03  Paul Eggert  <eggert@twinsun.com>
94330
94331         The following changes are from gettext 0.10.39 as maintained by
94332         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
94333
94334         * m4/codeset.m4: Upgrade to serial AM1.
94335         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
94336         all uses changed.  Quote first arg of AC_DEFUN.
94337         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
94338
94339         * m4/iconv.m4: Upgrade to serial AM2.
94340         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
94341         Add --with-libconv-prefix.
94342         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
94343         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
94344         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
94345         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
94346         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
94347
94348         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
94349         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
94350         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
94351         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
94352         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
94353         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
94354         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
94355         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
94356         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
94357
94358         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
94359         string.h any more.
94360
94361         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
94362         not the default value.
94363
94364         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
94365         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
94366         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
94367         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
94368         Also check for iswcntrl, used for wcwidth fallback.
94369         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
94370         to Autoconf 2.13.
94371
94372 2001-08-03  Jim Meyering  <meyering@lucent.com>
94373
94374         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
94375         as it was in the original.  Reported by Paul Eggert.
94376
94377 2001-07-16  Jim Meyering  <meyering@lucent.com>
94378
94379         * m4/gettimeofday.m4: New file.
94380         Prompted by a report from Bernhard Baehr.
94381
94382 2001-07-15  Jim Meyering  <meyering@lucent.com>
94383
94384         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
94385         stuff. Now it's in ../Makefile.cfg.
94386
94387 2001-07-15  Jim Meyering  <meyering@lucent.com>
94388
94389         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
94390         (BUILT_SOURCES): Add unlocked-io.h.
94391         (io_functions): Define.
94392         (unlocked-io.h): New rule.
94393         (DISTCLEANFILES): Add unlocked-io.h.
94394         (all-local): Depend on unlocked-io.h, to ensure it is created.
94395
94396         * lib/unlocked-io.hin: New file
94397
94398         * lib/regex.c: Update from glibc.
94399
94400 2001-07-05  Jim Meyering  <meyering@lucent.com>
94401
94402         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
94403         recommendation.
94404         (libfetish_a_SOURCES): Put all .h files here instead.
94405         Remove a thus-exposed (better checks in automake) duplicate and
94406         two unnecessary .h files.
94407
94408 2001-07-04  Jim Meyering  <meyering@lucent.com>
94409
94410         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
94411         that generates jm-glibc-io.m4 so that it doesn't trigger any make
94412         distcheck failure.
94413
94414 2001-07-02  Jim Meyering  <meyering@lucent.com>
94415
94416         The following changes were prompted by suggestions from Bruno Haible.
94417
94418         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
94419         is now generated.
94420         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
94421         definition of EXTRA_DIST.
94422         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
94423         ensure that the generated file is created/updated whenever the list
94424         of $(unlocked_functions) is changed.
94425         (jm-glibc-io.m4): New rule.
94426         (unlocked-io.h): New rule -- currently unused.
94427
94428 2001-06-24  Jim Meyering  <meyering@lucent.com>
94429
94430         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
94431         unmatched right bracket, rather than kludging it with an extra,
94432         falsely-matching quote in a comment.  Patch by Akim Demaille.
94433
94434 2001-06-11  Jim Meyering  <meyering@lucent.com>
94435
94436         * lib/regex.c: Update from GNU libc.
94437
94438 2001-05-27  Jim Meyering  <meyering@lucent.com>
94439
94440         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
94441         Check for ut_type in struct utmp.
94442
94443 2001-05-27  Jim Meyering  <meyering@lucent.com>
94444
94445         * lib/readutmp.h (UT_TYPE): Define.
94446
94447 2001-05-24  Jim Meyering  <meyering@lucent.com>
94448
94449         * lib/argmatch.c: Include "quote.h".
94450         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
94451         quote function.  Reported by Göran Uddeborg.
94452
94453 2001-05-22  Jim Meyering  <meyering@lucent.com>
94454
94455         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
94456         now that we use the package-supplied version unconditionally.
94457         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
94458
94459 2001-05-21  Jim Meyering  <meyering@lucent.com>
94460
94461         * m4/regex.m4: Change a couple backticks to single quotes to avoid
94462         shell syntax errors.
94463
94464 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94465
94466         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
94467
94468 2001-05-20  Paul Eggert  <eggert@twinsun.com>
94469
94470         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
94471         Don't bother to check library strftime, since
94472         we'll be using our own my_strftime function anyway.
94473         Define my_strftime instead of strftime.
94474
94475 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
94476
94477         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
94478         which is not yet declared.
94479
94480 2001-05-15  Jim Meyering  <meyering@lucent.com>
94481
94482         * m4/regex.m4: Use proper quoting so brackets appear in the test
94483         program.
94484         Reported by, and with help from, Bruno Haible.
94485
94486 2001-05-13  Jim Meyering  <meyering@lucent.com>
94487
94488         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
94489         undefined.
94490
94491 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94492
94493         dirname code cleanup.  base_name now behaves more compatibly
94494         with POSIX basename when given file names that have trailing
94495         slashes, and similarly for dir_name.  Add new primitives
94496         base_len and dir_len.  Put the directory-name-related decls
94497         into dirname.h.
94498
94499         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
94500         * lib/backupfile.c (base_name): Likewise.
94501         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
94502         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
94503         * lib/makepath.c (strip_trailing_slashes): Likewise.
94504         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
94505         ISSLASH): Likewise.
94506         * lib/rename.c (strip_trailing_slashes): Likewise.
94507         * lib/same.c (base_name): Likewise.
94508         * lib/stripslash.c (ISSLASH): Likewise.
94509
94510         * lib/addext.c: Include <dirname.h> after size_t is defined.
94511         * lib/backupfile.c: Likewise.
94512
94513         * lib/addext.c (addext): Use base_len to trim redundant
94514         trailing slashes instead of doing it ourselves.
94515         But do not trim the last slash if it is not redundant.
94516
94517         * lib/backupfile.c (find_backup_file_name,
94518         max_backup_version): Use base_len instead of rolling it ourselves.
94519         Handle the case of "" and (on DOS) "C:" correctly.
94520
94521         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
94522         needed. Include <string.h>, <dirname.h>.
94523         (base_name): Allow file names ending in slashes, other than names
94524         that are all slashes.  In this case, return the basename followed
94525         by the slashes.  This is more general, and can be used in places
94526         where the original base_name purposely had an assertion failure.
94527         (base_len): New function.
94528
94529         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
94530         Do not include <assert.h>; no longer needed.
94531         Include xalloc.h.
94532         (memrchr): Remove decl.
94533         (dir_name_r): Remove.
94534         (dir_len): Renamed from dirlen.  All callers changed.
94535         Rewrite in terms of base_name, for simplicity and consistency.
94536         (dir_name): Never return NULL.  All callers changed.
94537         Do not include <stdlib.h> in test program; no longer needed.
94538         return 0; is fine for test program.
94539
94540         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
94541         New macros.
94542         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
94543
94544         * lib/path-concat.c (path_concat): Use base_len to compute
94545         base length, not strlen; this means we cannot rely on memcpy
94546         to null-terminate.
94547
94548         * lib/same.c (STREQ): Remove.
94549         (same_name): Handle the case where the basename ends in trailing '/'.
94550
94551         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
94552         a slash was stripped.  Do not strip the last slash after a
94553         file system prefix.
94554
94555 2001-05-11  Paul Eggert  <eggert@twinsun.com>
94556
94557         * lib/Makefile.am (libfetish_a_SOURCES):
94558         Add strftime.c, since we now compile it on all hosts.
94559
94560         * lib/strftime.c (my_strftime):
94561         Define to nstrftime if emacs, but only if my_strftime is not defined.
94562         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
94563         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
94564         Add one more extra argument: a nanoseconds value.
94565         All uses changed.
94566         (ns): New macro.
94567         (my_strftime function): Add %N format.
94568         (emacs_strftimeu): Renamed from emacs_strftime,
94569         with extra ut argument.
94570
94571 2001-05-09  Paul Eggert  <eggert@twinsun.com>
94572
94573         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
94574
94575 2001-04-21  Jim Meyering  <meyering@lucent.com>
94576
94577         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
94578         doesn't interfere.
94579
94580 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
94581
94582         * m4/ftruncate.m4: Check for chsize.
94583         Link with ftruncate.o unconditionally if ftruncate is missing.
94584         This was required when cross-compiling to i586-mingw32msvc.
94585
94586 2001-04-08  Jim Meyering  <meyering@lucent.com>
94587
94588         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
94589         recomputed; that's necessary when the offset spans a DST transition.
94590         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
94591
94592 2001-04-02  Jim Meyering  <meyering@lucent.com>
94593
94594         * lib/regex.h, regex.c: Update from GNU libc.
94595
94596 2001-03-24  Jim Meyering  <meyering@lucent.com>
94597
94598         * m4/jm-macros.m4: Require autoconf-2.49d.
94599
94600 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
94601
94602         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
94603
94604 2001-03-19  Paul Eggert  <eggert@twinsun.com>
94605
94606         * lib/version-etc.c (version_etc_copyright): Update to 2001.
94607
94608 2001-03-17  Jim Meyering  <meyering@lucent.com>
94609
94610         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
94611         now that the version in autoconf is equivalent.
94612         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
94613
94614         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
94615         Suggestion from Akim Demaille.
94616
94617         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
94618         (jm_PREREQ_TEMPNAME): New function.
94619
94620 2001-03-16  Paul Eggert  <eggert@twinsun.com>
94621
94622         * lib/tempname.c (uint64_t): Define to uintmax_t if
94623         not defined, and if UINT64_MAX is not defined.
94624         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
94625         Reported by John David Anglin.
94626
94627 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
94628
94629         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
94630         resolve alias if codeset is empty.
94631         * lib/config.charset (BeOS): Use wildcard syntax.
94632
94633 2001-03-13  Jim Meyering  <meyering@lucent.com>
94634
94635         * lib/path-concat.c (path_concat)
94636         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
94637         concatenating e.g., `C:' and `foo'.
94638         From Bruno Haible.
94639
94640 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94641
94642         * lib/localcharset.c (locale_charset): Don't use
94643         setlocale(LC_CTYPE,NULL). Don't return NULL.
94644         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
94645
94646 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
94647
94648         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
94649         support for DOS/DJGPP.
94650
94651 2001-03-01  Paul Eggert  <eggert@twinsun.com>
94652
94653         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
94654         lacks mkstemp.  Compile our own tempname.c if we compile our own
94655         mkstemp.c, as mkstemp relies on tempname.
94656
94657 2001-03-01  Jim Meyering  <meyering@lucent.com>
94658
94659         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
94660         AH_VERBATIM really does output its argument verbatim.
94661
94662 2001-02-28  Paul Eggert  <eggert@twinsun.com>
94663
94664         * lib/Makefile.am (libfetish_a_SOURCES):
94665         Add dup-safer.c, fopen-safer.c.
94666         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
94667
94668         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
94669         * lib/unistd-safer.h: New files.
94670
94671 2001-02-25  Paul Eggert  <eggert@twinsun.com>
94672
94673         The mkstemp replacement is taken from glibc 2.2.2, with some
94674         portability fixes for use outside glibc, as follows:
94675
94676         * lib/tempname.c (struct_stat64): New macro.
94677         (direxists, __gen_tempname): Use it.
94678         This avoids a portability problem with Solaris 8.
94679
94680         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
94681         (<stddef.h>, <stdint.h>, <string.h>):
94682         Include only if STDC_HEADERS || _LIBC.
94683         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
94684         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
94685         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
94686         (__set_errno): Define this macro if <errno.h> doesn't.
94687         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
94688         Define these macros if <stdio.h> doesn't.
94689         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
94690         Define these macros if <sys/stat.h>
94691         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
94692         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
94693         __xstat64): Define if not _LIBC.
94694         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
94695         (__gen_tempname): Invoke gettimeofday only if
94696         HAVE_GETTIMEOFDAY || _LIBC;
94697         otherwise, fall back on plain "time".
94698         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
94699
94700         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
94701
94702         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
94703
94704 2001-02-18  Paul Eggert  <eggert@twinsun.com>
94705
94706         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
94707
94708 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94709
94710         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
94711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
94712         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
94713         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94714
94715 2001-02-17  Paul Eggert  <eggert@twinsun.com>
94716
94717         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
94718         Remove workaround macros for hosts that have mbrtowc but not
94719         mbstate_t, as we now insist on proper declarations for both
94720         before using mbrtowc.
94721
94722 2001-02-17  Jim Meyering  <meyering@lucent.com>
94723
94724         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
94725         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
94726         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
94727         UnixWare 7.1.1.
94728
94729         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
94730         rather than AC_CACHE_VAL.
94731
94732 2001-02-17  Jim Meyering  <meyering@lucent.com>
94733
94734         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
94735         around included file name.
94736
94737         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
94738
94739         * lib/strftime.c: Update from GNU libc (the only changes were to
94740         comments).
94741
94742 2001-02-17  Jim Meyering  <meyering@lucent.com>
94743
94744         * lib/regex.c: Update from libc.
94745
94746 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
94747
94748         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
94749         clash.
94750
94751 2001-02-16  Paul Eggert  <eggert@twinsun.com>
94752
94753         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
94754         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
94755         Reported by Mark Hounschell via Paul Eggert.
94756
94757 2001-02-07  Jim Meyering  <meyering@lucent.com>
94758
94759         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
94760
94761 2001-02-05  Jim Meyering  <meyering@lucent.com>
94762
94763         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
94764         it includes the patch required for `large file' support with at least
94765         HP-UX's 10.20 /bin/cc.
94766
94767 2001-02-03  Jim Meyering  <meyering@lucent.com>
94768
94769         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
94770         AS_IF, now that it works once again (mysteriously).
94771         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94772
94773 2001-01-30  Jim Meyering  <meyering@lucent.com>
94774
94775         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
94776         * m4/chown.m4: Rename conftestchown to conftest.chown.
94777         * m4/rename.m4: s/conftestdir/conftest.d1/ and
94778         s/conftestdir2/conftest.d2/.
94779         * m4/utimes.m4: s/conftestdata/conftest.data/
94780         Inspired by Pavel Roskin's change in autoconf.
94781
94782 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
94783
94784         * lib/config.charset: Update for FreeBSD 4.2.
94785
94786 2001-01-27  Jim Meyering  <meyering@lucent.com>
94787
94788         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
94789         a use of AS_IF.
94790         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
94791
94792 2001-01-26  Jim Meyering  <meyering@lucent.com>
94793
94794         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
94795         quotearg.c includes it.
94796
94797 2001-01-26  Jim Meyering  <meyering@lucent.com>
94798
94799         * lib/quotearg.c: Include stddef.h.
94800         * lib/quote.c: Include stddef.h.
94801         Reported by Axel Kittenberger.
94802
94803         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
94804         line in double quotes so that it evokes a better diagnostic.
94805         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
94806         Reported by Axel Kittenberger.
94807
94808 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
94809
94810         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
94811         as if it was a `charset'.
94812
94813 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94814
94815         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
94816         has const.
94817
94818 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
94819
94820         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
94821         to avoid a warning.  Add back 'const' to inptr.
94822
94823 2001-01-20  Jim Meyering  <meyering@lucent.com>
94824
94825         Be sure that headers are checked before used in code compiled
94826         for the type checks.
94827         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
94828         In place of that, invoke jm_CHECK_ALL_TYPES.
94829         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
94830         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
94831         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
94832         The check for ssize_t was mistakenly run before the test for unistd.h.
94833
94834         The configure-time check for stdbool.h was missing.
94835         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
94836         (jm_PREREQ_HASH): New function.
94837
94838 2001-01-17  Jim Meyering  <meyering@lucent.com>
94839
94840         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
94841         for autoconf-2.49c.
94842         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
94843
94844 2001-01-16  Jim Meyering  <meyering@lucent.com>
94845
94846         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
94847         From Bruno Haible.
94848
94849 2001-01-14  Jim Meyering  <meyering@lucent.com>
94850
94851         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
94852         foo and bar.  Create conftestdir/ in the script, not in the C code.
94853         Remove directories in the script, not in the C code.
94854         Remove conftestdir{,2} before trying to create the directory.
94855         Make the entire configure script fail if the mkdir fails.
94856
94857 2001-01-14  Jim Meyering  <meyering@lucent.com>
94858
94859         * lib/rename.c: New file.  From Volker Borchert.
94860         Include stdlib.h, string.h or strings.h, and xalloc.h.
94861         Use strip_trailing_slashes rather than open-coding it.
94862
94863 2001-01-03  Paul Eggert  <eggert@twinsun.com>
94864
94865         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
94866
94867 2001-01-03  Jim Meyering  <meyering@lucent.com>
94868
94869         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
94870         of local `inptr' to avoid warning with some system declarations of
94871         iconv.
94872
94873 2001-01-02  Volker Borchert  <bt@teknon.de>
94874
94875         * m4/rename.m4: New file.
94876         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
94877
94878 2001-01-01  Jim Meyering  <meyering@lucent.com>
94879
94880         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
94881         even on systems with utmpx.h.  It's necessary for the declaration of
94882         utmp's ut_user member.  Reported by Andreas Jaeger.
94883
94884         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
94885         available. They are required for the declarations of getgrgid and
94886         getpwuid resp.
94887         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
94888         Reported by Andreas Jaeger.
94889
94890 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
94891
94892         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
94893         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
94894         so `make install' also works in VPATH builds.
94895
94896 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
94897
94898         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
94899         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
94900         can be used in subdirectories.
94901
94902 2000-12-29  Paul Eggert  <eggert@twinsun.com>
94903
94904         * lib/modechange.c: Do not assume that mode_t uses the
94905         traditional octal encoding.  E.g. "chmod 1 FOO" should set
94906         the other-execute bit of FOO even if S_IXOTH != 1.
94907
94908         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
94909         WOTH, XOTH, ALLM): New macros.
94910         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
94911          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
94912         Use them.
94913         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
94914         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
94915         (mode_compile):
94916         No need to use uintmax_t; unsigned long is long enough.
94917         Don't bother to get suffix since we don't use it.
94918
94919 2000-12-26  Jim Meyering  <meyering@lucent.com>
94920
94921         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
94922         better with autoheader.
94923
94924 2000-12-24  Jim Meyering  <meyering@lucent.com>
94925
94926         * lib/hash.c (is_prime): Return explicit boolean values.
94927         (hash_get_first): Return NULL to appease Irix5.6's 89.
94928         Reported by Nelson Beebe.
94929
94930 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
94931
94932         * lib/localcharset.c (locale_charset): Add support for Win32.
94933
94934 2000-12-18  Paul Eggert  <eggert@twinsun.com>
94935
94936         * lib/physmem.h, lib/physmem.c: New files.
94937
94938         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
94939         (noinst_HEADERS): Add physmem.h.
94940
94941         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
94942         't' for compatibility with Solaris 8 sort.
94943
94944 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
94945
94946         * lib/config.charset: Add support for BeOS.
94947
94948 2000-12-17  Jim Meyering  <meyering@lucent.com>
94949
94950         * m4/dos.m4 (jm_AC_DOS): New file and macro.
94951         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
94952
94953 2000-12-16  Jim Meyering  <meyering@lucent.com>
94954
94955         This bug had a serious impact on chown: `chown N:M FILE' (for integer
94956         N and M) would have treated it like `chown N:N FILE'.
94957
94958         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
94959
94960 2000-12-16  Jim Meyering  <meyering@lucent.com>
94961
94962         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
94963         SHELLS_FILE to a file name that's useful on djgpp systems.
94964         Include stdlib.h.
94965         (ADDITIONAL_DEFAULT_SHELLS): Define.
94966         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
94967         Based mostly on a patch from Prashant TR.
94968
94969 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
94970
94971         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
94972         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
94973         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
94974
94975 2000-12-08  Andreas Schwab  <schwab@suse.de>
94976
94977         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
94978         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
94979
94980 2000-12-07  Jim Meyering  <meyering@lucent.com>
94981
94982         * lib/stripslash.c (ISSLASH): Define.
94983         (strip_trailing_slashes): Use ISSLASH rather than comparing against
94984         `/'.
94985         From Prashant TR.
94986
94987         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
94988         (dir_name_r): Declare this function as static.
94989         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
94990         manifest itself on a name containing a mix of slashes and
94991         backslashes.
94992         Make this function work with names starting with a DOS-style
94993         drive letter and colon prefix.
94994         (dir_name): Append `.' if necessary.
94995         Based mostly on patches from Prashant TR and Eli Zaretskii.
94996
94997         * lib/dirname.h (dir_name_r): Remove prototype.
94998
94999 2000-12-06  Paul Eggert  <eggert@twinsun.com>
95000
95001         * m4/off_t-format.m4: Remove this file.
95002         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
95003
95004 2000-12-06  Jim Meyering  <meyering@lucent.com>
95005
95006         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
95007         replacement strtoull, we may well need the replacement strtoul, too.
95008         Check for declarations of strtoul and strtoull.
95009         Check for strtol.  Mainly as a cue to cause automake to include
95010         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
95011         Check for limits.h -- strtol.c needs it.
95012
95013 2000-12-05  Jim Meyering  <meyering@lucent.com>
95014
95015         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
95016
95017 2000-12-04  Jim Meyering  <meyering@lucent.com>
95018
95019         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
95020         Also include memory.h, stdlib.h, unistd.h if appropriate.
95021         Reported by Andreas Jaeger (conflicting declaration of malloc).
95022
95023 2000-12-02  Jim Meyering  <meyering@lucent.com>
95024
95025         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
95026         * m4/jm-macros.m4 (jm_MACROS): require it.
95027
95028 2000-12-02  Jim Meyering  <meyering@lucent.com>
95029
95030         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
95031
95032 2000-12-01  Paul Eggert  <eggert@twinsun.com>
95033
95034         * lib/memrchr.c: Include <config.h> before any system include file.
95035
95036 2000-11-30  Jim Meyering  <meyering@lucent.com>
95037
95038         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
95039
95040 2000-11-30  Jim Meyering  <meyering@lucent.com>
95041
95042         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
95043
95044 2000-11-29  Paul Eggert  <eggert@twinsun.com>
95045
95046         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
95047
95048 2000-11-26  Jim Meyering  <meyering@lucent.com>
95049
95050         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
95051
95052 2000-11-22  Paul Eggert  <eggert@twinsun.com>
95053
95054         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
95055         size of (size_t) -1; it's not portable.
95056
95057 2000-11-17  Jim Meyering  <meyering@lucent.com>
95058
95059         * lib/strstr.c: Update from GNU libc.
95060
95061 2000-11-17  Akim Demaille  <akim@epita.fr>
95062
95063         * lib/obstack.h: Formatting changes.
95064         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
95065         prevent type checking.
95066         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
95067         cast the value to (void *): assigning a `foo *' to a `void *'
95068         variable is valid.
95069         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
95070
95071 2000-11-16  Jim Meyering  <meyering@lucent.com>
95072
95073         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
95074
95075 2000-11-11  Jim Meyering  <meyering@lucent.com>
95076
95077         * lib/error.c: Add a couple #includes, merging from GNU libc version.
95078
95079 2000-11-10  Jim Meyering  <meyering@lucent.com>
95080
95081         * lib/obstack.h: Update from GNU libc.
95082         * lib/obstack.c: Likewise.
95083
95084 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
95085
95086         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
95087
95088 2000-11-06  Paul Eggert  <eggert@twinsun.com>
95089
95090         * lib/getusershell.c (setusershell): Use rewind rather than
95091         fseek/fseeko, to avoid configuration hassles with fseeko.
95092         Don't bother opening SHELLS_FILE if shellstream is NULL;
95093         it's not necessary.
95094
95095 2000-11-05  Jim Meyering  <meyering@lucent.com>
95096
95097         * lib/makepath.h (make_dir): Declare.
95098         * lib/makepath.c (make_dir): Remove `static' attribute.
95099         Tweak a comment.
95100
95101 2000-11-04  Jim Meyering  <meyering@lucent.com>
95102
95103         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
95104
95105 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
95106
95107         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
95108         last one in a bucket, advance to the next bucket.
95109
95110 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
95111
95112         * lib/fnmatch.c: Do not comment out all the code if we are using
95113         the GNU C library, because in some cases we are replacing buggy
95114         code in the GNU C library itself.
95115
95116 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
95117
95118         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
95119         (regex_compile): Catch bogus \(\1\).
95120
95121 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95122
95123         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
95124         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
95125         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
95126
95127 2000-10-30  Paul Eggert  <eggert@twinsun.com>
95128
95129         * lib/error.h, getline.h, modechange.h:
95130         Remove "2000" from Copyright line, as the file hasn't been
95131         changed this year other than in the copyright notice.
95132
95133         * lib/xalloc.h: Add "2000" to Copyright line, as this file
95134         was changed this year.
95135
95136 2000-10-29  Jim Meyering  <meyering@lucent.com>
95137
95138         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
95139         renaming.
95140         * m4/ls-mntd-fs.m4: Likewise
95141
95142 2000-10-29  Jim Meyering  <meyering@lucent.com>
95143
95144         * lib/xstat.in: Fix grammar in comment.
95145
95146 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
95147
95148         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
95149         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
95150         doesn't define __restrict_arr.
95151
95152 2000-10-28  Jim Meyering  <meyering@lucent.com>
95153
95154         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
95155         (jm_PREREQ_MEMCHR): New function.
95156
95157 2000-10-28  Jim Meyering  <meyering@lucent.com>
95158
95159         * lib/memchr.c: Update from libc.
95160         Adjust for portability:
95161         [HAVE_STDLIB_H]: Include stdlib.h.
95162         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
95163         Undef __memchr, too.
95164         [!weak_alias]: Define __memchr to memchr.
95165
95166         * lib/regex.c: Update from libc.
95167         * lib/regex.h: Likewise.
95168         * lib/getopt1.c: Likewise.
95169         * lib/memcmp.c: Likewise.
95170
95171         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
95172         Avoid using fseek, when possible -- it's broken by design.
95173         Patch by Ulrich Drepper.
95174
95175 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
95176
95177         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
95178         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
95179         Giving in to popular pressure to shut up the compiler with casts.
95180
95181 2000-10-26  Jim Meyering  <meyering@lucent.com>
95182
95183         * lib/strftime.c: Update from libc.
95184
95185 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
95186
95187         * regex.c: More `unsigned char' -> `re_char' changes.
95188         Also change several `int' into `re_wchar_t'.
95189         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
95190         (PUSH_FAILURE_POINTER): Don't cast any more.
95191         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
95192         We want GCC to complain, since this piece of code makes
95193         re_match non-reentrant, which *should* be fixed.
95194         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
95195         (EXTEND_BUFFER): Use RETALLOC.
95196         (SET_LIST_BIT): Don't cast.
95197         (re_wchar_t): New type.
95198         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
95199         that those two functions will always properly return.
95200         (IMMEDIATE_QUIT_CHECK): Cast to void.
95201         (analyse_first): Use recursion rather than an explicit stack.
95202         (re_compile_fastmap): Can't fail anymore.
95203         (re_search_2): Don't check re_compile_fastmap for failure.
95204         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
95205         Now also sets the new value (passed in a new argument).
95206         (re_match_2_internal): Use it.
95207         Also, use a new var `reg' of type size_t when looping through regs
95208         rather than reuse the inappropriate `mcnt'.
95209
95210 2000-10-25  Jim Meyering  <meyering@lucent.com>
95211
95212         * lib/obstack.c: Update from libc.
95213
95214 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
95215
95216         * regex.c (regex_compile): Change the way of handling a range from
95217         a char less than 256 to a char not less than 256.
95218
95219 2000-10-24  Andrew Innes  <andrewi@gnu.org>
95220
95221         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
95222         NT-Emacs only.
95223         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
95224         so that re_search functions only quit when callers expect them to.
95225
95226 2000-10-23  Jim Meyering  <meyering@lucent.com>
95227
95228         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
95229         wrong.  That set_locale call must not have any side effects.
95230         From Paul Eggert.
95231
95232 2000-10-22  Jim Meyering  <meyering@lucent.com>
95233
95234         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
95235         [CYCLIC]: Remove now-unused definition.
95236
95237         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
95238         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
95239         Suggestion from Ulrich Drepper.
95240
95241 2000-10-21  Jim Meyering  <meyering@lucent.com>
95242
95243         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
95244         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
95245         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
95246
95247 2000-10-21  Jim Meyering  <meyering@lucent.com>
95248
95249         * lib/dirname.c (memrchr): Declare if necessary.
95250         (dir_name): Remove the restriction that there be no
95251         trailing slashes.  Now, this code skips past them, effectively
95252         ignoring them.
95253         [TEST_DIRNAME] (main): New unit tests.
95254
95255         * lib/memrchr.c: New file from GNU libc.
95256         Undef __memrchr, too.
95257         [!weak_alias]: Define __memrchr to memrchr.
95258         Guard weak_alias use with `#ifdef weak_alias'.
95259
95260 2000-10-21  Jim Meyering  <meyering@lucent.com>
95261
95262         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
95263         (dir_name): Use dir_name_r.
95264         * lib/dirname.h (dir_name_r): Declare it.
95265
95266 2000-10-17  Jim Meyering  <meyering@lucent.com>
95267
95268         * lib/quote.h (PARAMS): Define and use.
95269         Reported by Akim Demaille.
95270
95271         * lib/getopt.c: Update from libc.
95272
95273 2000-10-16  Jim Meyering  <meyering@lucent.com>
95274
95275         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
95276         setlocale.
95277         From Jan Fedak.
95278
95279 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
95280
95281         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
95282
95283 2000-09-25  Jim Meyering  <meyering@lucent.com>
95284
95285         * lib/md5.h (rol): Define (from GnuPG).
95286
95287         * lib/sha.c: Give credit (GnuPG) where due.
95288         (M): Use rol rather than open-coding it.
95289         Add a FIXME comment.
95290
95291 2000-09-21  Jim Meyering  <meyering@lucent.com>
95292
95293         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
95294         Reported by Michael Stone.
95295
95296 2000-09-20  Jim Meyering  <meyering@lucent.com>
95297
95298         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
95299         (noinst_HEADERS): Add sha.h.
95300         Based on code from Scott G. Miller and from GnuPG.
95301
95302 2000-09-18  Jim Meyering  <meyering@lucent.com>
95303
95304         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
95305         LIBS. Otherwise, everyone ends up linking with -lelf for some
95306         configurations.
95307         Reported by Mike Stone.
95308
95309 2000-09-15  Jim Meyering  <meyering@lucent.com>
95310
95311         * lib/regex.c: Update from libc.
95312
95313 2000-09-10  Jim Meyering  <meyering@lucent.com>
95314
95315         * lib/getopt.c (_getopt_internal): Update from glibc.
95316
95317 2000-09-09  Jim Meyering  <meyering@lucent.com>
95318
95319         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
95320         think it should be used as a general replacement for isascii.
95321         * lib/fnmatch.c: Likewise.
95322         * lib/mbswidth.c: Likewise
95323         * lib/regex.c: Likewise.
95324
95325         Don't use atoi.
95326         * lib/userspec.c: Include sys/param.h and limits.h.
95327         Include xstrtol.h.
95328         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95329         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
95330         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
95331         UID, GID.  Check range.
95332
95333 2000-09-06  Jim Meyering  <meyering@lucent.com>
95334
95335         * lib/getopt.c (_getopt_internal): Update from glibc.
95336
95337 2000-08-30  Jim Meyering  <meyering@lucent.com>
95338
95339         * lib/strftime.c: Merge in changes from GNU libc.
95340
95341 2000-08-26  Jim Meyering  <meyering@lucent.com>
95342
95343         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
95344         * m4/fpending.m4: New file.
95345
95346 2000-08-26  Jim Meyering  <meyering@lucent.com>
95347
95348         * lib/closeout.c: Include "__fpending.h".
95349         (close_stdout_status): Return right away if there's nothing to flush.
95350
95351         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
95352         * lib/__fpending.c: New file.
95353         * lib/__fpending.h: New file.
95354
95355 2000-08-20  Jim Meyering  <meyering@lucent.com>
95356
95357         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
95358         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
95359         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
95360
95361 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
95362
95363         Improve fileutils installation on systems where running
95364         programs (like install) can't be unlinked.
95365         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
95366         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
95367
95368 2000-08-07  Paul Eggert  <eggert@twinsun.com>
95369
95370         Standardize on "memory exhausted" instead of "Memory exhausted"
95371         or "virtual memory exhausted".
95372         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
95373         "virtual memory exhausted".
95374         * lib/same.c (same_name): Invoke xalloc_die instead of printing
95375         our own message.
95376         * lib/userspec.c (parse_user_spec): Likewise.
95377         * lib/bumpalloc.h: comment fix
95378         * lib/same.c, userspec.c: Include xalloc.h.
95379
95380         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
95381         not char *const and pointing to a constant array.
95382         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
95383         (xrealloc): Comment fix.
95384
95385         * lib/userspec.c (parse_user_spec):
95386         Don't translate a message until just before returning,
95387         to avoid unnecessary translation.
95388
95389 2000-08-07  Jim Meyering  <meyering@lucent.com>
95390
95391         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
95392         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
95393         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
95394         getgroups.c, gethostname.c, getopt.h, group-member.c,
95395         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
95396         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
95397         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
95398         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
95399         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
95400         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
95401         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
95402         yesno.c: Back out Copyright date changes for each file with no change
95403         this year.  This eases coordination with other programs using the same
95404         source code modules.  From Paul Eggert.
95405
95406 2000-08-06  Paul Eggert  <eggert@twinsun.com>
95407
95408         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
95409         not char, for compatibility with glibc 2.1.3 strftime.c.
95410
95411 2000-08-03  Greg McGary  <greg@mcgary.org>
95412
95413         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
95414         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
95415         (EXTEND_BUFFER): Use them.
95416
95417 2000-08-01  Jim Meyering  <meyering@lucent.com>
95418
95419         * lib/dirname.c (ISSLASH): Define.
95420         (BACKSLASH_IS_PATH_SEPARATOR): Define.
95421         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
95422         both `\' and `/' may be use as path separators.
95423         Based on a patch from Prashant TR.
95424
95425 2000-07-31  Paul Eggert  <eggert@twinsun.com>
95426
95427         * lib/quotearg.c (quotearg_n_options): Don't make the initial
95428         slot vector a constant, since it might get modified.
95429
95430 2000-07-31  Jim Meyering  <meyering@lucent.com>
95431
95432         * lib/xmalloc.c: Use `virtual memory exhausted', not
95433         `Memory exhausted'.
95434         * lib/obstack.c (print_and_abort): Likewise.
95435
95436 2000-07-30  Paul Eggert  <eggert@twinsun.com>
95437
95438         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
95439         buffer, so that the caller can always quote one small
95440         component of a "memory exhausted" message in slot 0.
95441         From a suggestion by Jim Meyering.
95442
95443 2000-07-30  Jim Meyering  <meyering@lucent.com>
95444
95445         * lib/makepath.c (make_path): Quote the other instance, too.
95446
95447         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
95448         (STATIC_BUF_SIZE): Define.
95449         (quotearg_n_options): Use only statically allocated storage when
95450         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
95451         than STATIC_BUF_SIZE.
95452
95453 2000-07-29  Jim Meyering  <meyering@lucent.com>
95454
95455         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
95456         * lib/dirname.c (dir_name): Likewise.
95457
95458         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
95459         `/'.
95460
95461         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
95462         (dir_name): Assert that there are no trailing slashes.
95463
95464 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
95465
95466         * lib/mbswidth.h (mbswidth): Add a flags argument.
95467         (mbswidth): New declaration.
95468         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
95469         * lib/mbswidth.c (mbswidth): Add a flags argument.
95470         (mbsnwidth): New function.
95471
95472 2000-07-24  Jim Meyering  <meyering@lucent.com>
95473
95474         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
95475
95476 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95477
95478         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
95479
95480 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95481
95482         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
95483         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
95484         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
95485         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
95486         invoke multibyte primitives.
95487
95488 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95489
95490         * lib/quotearg.c:
95491         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
95492         so that mbstate_t is always defined.
95493
95494         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
95495         be 1 in at least one GCC installation, and this configuration
95496         error is likely to be common.  Ignoring MB_LEN_MAX hurts
95497         performance on hosts that have mbrtowc but have only unibyte
95498         locales, but I assume these hosts are rare.
95499
95500 2000-07-23  Paul Eggert  <eggert@twinsun.com>
95501
95502         * lib/mbswidth.c (_XOPEN_SOURCE):
95503         Don't define; this causes problems on Solaris 7.
95504         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
95505
95506 2000-07-23  Jim Meyering  <meyering@lucent.com>
95507
95508         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
95509         too: getgrgid, getpwuid, getuid.
95510
95511 2000-07-23  Jim Meyering  <meyering@lucent.com>
95512
95513         * lib/basename.c (base_name): Add an assertion.
95514
95515 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
95516
95517         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
95518         shadow its mbsinit function.
95519
95520 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95521
95522         * lib/mbswidth.h: New file.
95523         * lib/mbswidth.c: New file.
95524         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
95525         (noinst_HEADERS): Add mbswidth.h.
95526
95527 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
95528
95529         * lib/config.charset: Add support for FreeBSD. Improve support for
95530         HP-UX and IRIX 6.
95531
95532 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
95533
95534         * m4/mbswidth.m4: New file.
95535         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
95536
95537 2000-07-15  Jim Meyering  <meyering@lucent.com>
95538
95539         * lib/makepath.c: Include quote.h.
95540         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
95541         corresponding argument in a `quote (...)' call.
95542         Give better diagnostics.
95543
95544         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
95545         (noinst_HEADERS): Add quote.h.
95546
95547         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
95548         from tar's src/misc.c.
95549         * lib/quote.h: New file.  Prototypes for same.
95550
95551 2000-07-14  Paul Eggert  <eggert@twinsun.com>
95552
95553         From a suggestion by Bruno Haible.
95554         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
95555         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
95556         to decide whether to define the BeOS workaround macro;
95557         this adjusts to the change to AC_MBSTATE_T.
95558
95559 2000-07-14  Jim Meyering  <meyering@lucent.com>
95560
95561         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
95562         jm_AC_TYPE_UINTMAX_T.
95563
95564 2000-07-13  Paul Eggert  <eggert@twinsun.com>
95565
95566         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
95567
95568         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
95569         quotearg_buffer_restyled): Add support for
95570         clocale_quoting_style.  Undo previous change to
95571         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
95572         and "{RIGHT QUOTATION MARK}" msgids.
95573
95574 2000-07-10  Paul Eggert  <eggert@twinsun.com>
95575
95576         From a suggestion by Bruno Haible.
95577         * m4/mbstate_t.m4 (AC_MBSTATE_T):
95578         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
95579         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
95580         and mbstate_t, to a single-part test that simply defines mbstate_t.
95581         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
95582         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
95583
95584 2000-07-10  Jim Meyering  <meyering@lucent.com>
95585
95586         * m4/strerror_r.m4: Mirror the correction made in autoconf.
95587
95588         * m4/gnu-source.m4: Output to confdefs.h directly.
95589         Suggestion from Akim Demaille.
95590
95591 2000-07-09  Paul Eggert  <eggert@twinsun.com>
95592
95593         The old behavior of quoting `like this' doesn't look good with
95594         newer, ISO-style fonts.  See:
95595         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
95596
95597         Instead, quote "like this" by default.  Let the translator
95598         tailor the locale-specific quoting behavior by providing
95599         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
95600
95601         * lib/quotearg.c (N_): New macro.
95602         (gettext_default): New function.
95603         (quotearg_buffer_restyled): Use
95604         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
95605         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
95606
95607 2000-07-09  Jim Meyering  <meyering@lucent.com>
95608
95609         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
95610         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
95611
95612         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
95613         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
95614
95615 2000-07-09  Jim Meyering  <meyering@lucent.com>
95616
95617         * lib/Most files: Update copyright dates to include 2000.
95618
95619 2000-07-08  Jim Meyering  <meyering@lucent.com>
95620
95621         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
95622         if not defined.
95623         (xgethostname): Remove now-unnecessary #ifdef.
95624         Move declaration of `err' into loop where it's used.
95625
95626 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95627         and Bruno Haible  <haible@clisp.cons.org>
95628
95629         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
95630         only if the test for an object-type mbstate_t fails.  This
95631         prevents us from mistakenly reporting that mbstate_t is a
95632         system object type after we "#define mbstate_t int" to work
95633         around its lack.
95634
95635 2000-07-05  Paul Eggert  <eggert@twinsun.com>
95636         and Bruno Haible  <haible@clisp.cons.org>
95637
95638         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
95639
95640 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95641
95642         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
95643         to strerror_r.
95644         Include <ctype.h> for use of isalpha.
95645
95646 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95647
95648         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
95649         by allocating a larger buffer. Test the gethostname return value for
95650         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
95651         returns an error and ENAMETOOLONG isn't defined.
95652
95653 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
95654
95655         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
95656         dimension.
95657
95658 2000-07-04  Jim Meyering  <meyering@lucent.com>
95659
95660         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
95661         of the deprecated AC_CHECKING.
95662
95663 2000-07-04  Jim Meyering  <meyering@lucent.com>
95664
95665         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
95666         Reported by Bruno Haible.
95667
95668 2000-07-04  Jim Meyering  <meyering@lucent.com>
95669
95670         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
95671         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
95672         lacks mbrtowc.
95673
95674 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95675
95676         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
95677         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
95678
95679 2000-07-03  Paul Eggert  <eggert@twinsun.com>
95680         and Bruno Haible  <haible@clisp.cons.org>
95681
95682         * lib/quotearg.c (mbrtowc):
95683         Assign to *pwc, and return 1 only if result is nonzero.
95684         (iswprint): Use ISPRINT when substituting our own mbrtowc.
95685
95686 2000-07-03  Jim Meyering  <meyering@lucent.com>
95687
95688         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
95689
95690 2000-07-03  Jim Meyering  <meyering@lucent.com>
95691
95692         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
95693         This is necessary to get a definition of e.g., UTMP_FILE on
95694         HP-UX 10.20.
95695         From Bob Proulx.
95696
95697 2000-07-02  Jim Meyering  <meyering@lucent.com>
95698
95699         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
95700
95701         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
95702         AC_LIBOBJ(function_name).
95703         * m4/chown.m4: Likewise.
95704         * m4/fnmatch.m4: Likewise.
95705         * m4/ftruncate.m4: Likewise.
95706         * m4/getgroups.m4: Likewise.
95707         * m4/getline.m4: Likewise.
95708         * m4/group-member.m4: Likewise.
95709         * m4/jm-macros.m4: Likewise.
95710         * m4/lstat.m4: Likewise.
95711         * m4/malloc.m4: Likewise.
95712         * m4/memcmp.m4: Likewise.
95713         * m4/nanosleep.m4: Likewise.
95714         * m4/putenv.m4: Likewise.
95715         * m4/realloc.m4: Likewise.
95716         * m4/regex.m4: Likewise.
95717         * m4/stat.m4: Likewise.
95718         * m4/strftime.m4: Likewise.
95719
95720 2000-07-02  Jim Meyering  <meyering@lucent.com>
95721
95722         * lib/quotearg.c (mbstate_t): Don't define here.
95723
95724 2000-07-02  Jim Meyering  <meyering@lucent.com>
95725
95726         * lib/nanosleep.c (SIGCONT): Define if not already defined.
95727
95728 2000-07-01  Jim Meyering  <meyering@lucent.com>
95729
95730         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
95731
95732 2000-07-01  Jim Meyering  <meyering@lucent.com>
95733
95734         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
95735         problem.
95736
95737 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95738
95739         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
95740         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
95741
95742 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
95743
95744         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
95745         per change in ../m4/ls-mntd-fs.m4.
95746         (read_filesystem_list): Ignore symbolic links.
95747
95748 2000-06-29  Jim Meyering  <meyering@lucent.com>
95749
95750         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
95751         for declaration of strcmp.
95752
95753         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
95754
95755         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
95756         Avoid warning by casting result to `char *' to remove `const'.
95757
95758 2000-06-28  Jim Meyering  <meyering@lucent.com>
95759
95760         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
95761         included by quotearg.c, for which we perform this test.  From
95762         Bruno Haible.
95763
95764 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95765
95766         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
95767         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
95768         <utmpx.h> exists, put readutmp.o into LIBOBJS.
95769
95770 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
95771
95772         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
95773
95774 2000-06-26  Paul Eggert  <eggert@twinsun.com>
95775
95776         savedir now sets errno on failure and invokes xmalloc to get memory.
95777         Fix a couple of other minor bugs while we're at it.
95778
95779         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
95780         (NAMLEN): Remove macro.
95781         (malloc, realloc): Remove decls.
95782         (stpcpy): Likewise.
95783         ("xalloc.h"): Include.
95784         (NAME_SIZE_DEFAULT): New macro.
95785         (savedir): Use xmalloc / xrealloc to allocate memory.
95786         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
95787         Skip "" directory entries.
95788         Use strlen to calculate directory entry length, since the old method
95789         is rarely used these days and isn't worth supporting.
95790         Don't use a pointer after freeing it.
95791         Check for integer overflow when calculating allocation size.
95792         Use memcpy to copy entries, instead of stpcpy.
95793         Set errno properly when returning NULL.
95794         Check for readdir error.
95795
95796 2000-06-26  Jim Meyering  <meyering@lucent.com>
95797
95798         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
95799
95800 2000-06-25  Jim Meyering  <meyering@lucent.com>
95801
95802         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
95803         Linux header bug when _XOPEN_SOURCE is defined to 500.
95804
95805 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95806
95807         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
95808         deficiency.
95809
95810 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
95811
95812         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
95813         Include xalloc.h.
95814         Don't include <stdlib.h>.  Don't declare malloc, realloc.
95815
95816 2000-06-24  Jim Meyering  <meyering@lucent.com>
95817
95818         * m4/strerror_r.m4: Revive this file -- to try out an experimental
95819         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
95820         for which strerror does return char*, but which lacks a conveniently
95821         accessible declaration of the function.  If the compile-test says
95822         strerror_r doesn't work, then resort to a `run'-test that works on
95823         BeOS and segfaults on DEC Unix.
95824
95825 2000-06-24  Jim Meyering  <meyering@lucent.com>
95826
95827         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
95828
95829 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95830
95831         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
95832         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
95833
95834 2000-06-23  Paul Eggert  <eggert@twinsun.com>
95835
95836         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
95837         (mbrtowc, mbstate_t): Define substitutes if
95838         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
95839         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
95840         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
95841
95842 2000-06-23  Jim Meyering  <meyering@lucent.com>
95843
95844         * m4/afs.m4: Add missing AC_MSG_RESULT.
95845         Reported by Bruno Haible.
95846
95847         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
95848         Suggestion from Bruno Haible.
95849
95850 2000-06-23  Jim Meyering  <meyering@lucent.com>
95851
95852         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
95853
95854 2000-06-21  Jim Meyering  <meyering@lucent.com>
95855
95856         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
95857
95858 2000-06-21  Jim Meyering  <meyering@lucent.com>
95859
95860         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
95861         (noinst_HEADERS): Add getstr.h.
95862
95863         * lib/getline.c (getstr): Move into a separate file.
95864         * lib/getstr.c (getstr): New file, extracted from getline.c, with
95865         the following changes: new parameter, delim2; both delim[12]
95866         parameters have type `int', not `char'.  The latter would lose
95867         with 8-bit delimiters.
95868         * lib/getstr.h: New file.
95869
95870 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95871
95872         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
95873         than 1024, return a memory chunk of least possible size, instead
95874         of size PATH_MAX + 2. In the loop, increment the size proportionally.
95875         Use free/xmalloc instead of xrealloc to avoid copying for very long
95876         paths.
95877
95878 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95879
95880         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
95881         the empty string.
95882
95883 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
95884
95885         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
95886         address, not strdup.  Include <stdlib.h> and don't declare free().
95887
95888 2000-06-19  Jim Meyering  <meyering@lucent.com>
95889
95890         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
95891
95892 2000-06-18  Jim Meyering  <meyering@lucent.com>
95893
95894         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
95895
95896         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
95897         `checking whether...' message to be consistent with that of the
95898         lstat test.
95899
95900 2000-06-18  Jim Meyering  <meyering@lucent.com>
95901
95902         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
95903         Besides, these days every porting target provides a mkdir function.
95904
95905         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
95906         needed. (this snippet comes from src/system.h).
95907
95908 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
95909
95910         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
95911
95912 2000-06-15  Paul Eggert  <eggert@twinsun.com>
95913
95914         * lib/human.c (adjust_value): New function.
95915         (human_readable_inexact): Apply rounding style even when
95916         printing approximate values.
95917
95918 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95919
95920         * lib/human.c (human_readable_inexact): Allow an input block
95921         size that is not a multiple of the output block size, and vice versa.
95922         Reported by Piergiorgio Sartor.
95923
95924 2000-06-14  Paul Eggert  <eggert@twinsun.com>
95925
95926         * lib/getdate.y (get_date): Apply relative times after time
95927         zone indicator, not before.  Reported by Todd A. Jacobs.
95928
95929 2000-06-13  Jim Meyering  <meyering@lucent.com>
95930
95931         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
95932
95933         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
95934
95935 2000-06-12  Paul Eggert  <eggert@twinsun.com>
95936
95937         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
95938
95939 2000-06-12  Jim Meyering  <meyering@lucent.com>
95940
95941         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
95942         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
95943         optional argument.
95944         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
95945         the optional argument, `lib'.
95946
95947 2000-06-08  Jim Meyering  <meyering@lucent.com>
95948
95949         * m4/largefile.m4: Remove file (now that it's part of autoconf).
95950
95951 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95952
95953         Rewrite largefile configuration so that we don't need to run
95954         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
95955         AC_CANONICAL_HOST in configure.in -- jmm]
95956
95957         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
95958         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
95959         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
95960         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
95961         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
95962         All uses changed.
95963         Instead of inspecting the output of getconf, try to compile the
95964         test program without and with the macro definition.
95965         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
95966         for getconf.  Instead, check for the needed flags by compiling
95967         test programs.
95968
95969 2000-06-04  Paul Eggert  <eggert@twinsun.com>
95970
95971         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
95972
95973 2000-06-04  Jim Meyering  <meyering@lucent.com>
95974
95975         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
95976         SunOS 4.1.4 for which gid_t is an unsigned type.
95977
95978 2000-06-03  Jim Meyering  <meyering@lucent.com>
95979
95980         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
95981         now that autoconf requires that.
95982
95983         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
95984         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
95985         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
95986
95987 2000-06-03  Jim Meyering  <meyering@lucent.com>
95988
95989         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
95990
95991 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95992
95993         * m4/glibc21.m4: New file.
95994         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
95995
95996 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
95997
95998         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
95999         newer, don't install charset.alias.
96000         * lib/config.charset: Change the Linux/glibc rules so they become empty
96001         on glibc-2.1 or newer.
96002
96003 2000-06-02  Jim Meyering  <meyering@lucent.com>
96004
96005         * lib/mountlist.c: Back out last change.  Instead, do this...
96006         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
96007         me_dummy member using the same `ignore'-testing code.
96008         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
96009         fs_type strings.
96010         From Mark D. Roth.
96011
96012 2000-05-29  Jim Meyering  <meyering@lucent.com>
96013
96014         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
96015         mounts with the `ignore' attribute.  Based on a patch from
96016         Mark D. Roth.
96017
96018 2000-05-28  Jim Meyering  <meyering@lucent.com>
96019
96020         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
96021         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96022         * m4/stat.m4: Likewise.
96023         * m4/lstat.m4: Likewise.
96024         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
96025
96026         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
96027         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
96028
96029 2000-05-26  Jim Meyering  <meyering@lucent.com>
96030
96031         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
96032
96033 2000-05-24  Jim Meyering  <meyering@lucent.com>
96034
96035         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
96036         autoconf requires that.
96037         * m4/lib-check.m4: Likewise.
96038         * m4/jm-macros.m4: Likewise.
96039         * m4/strftime.m4: Likewise.
96040
96041         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
96042         AC_CHECK_DECLS, now that autoconf requires that.
96043
96044 2000-05-22  Jim Meyering  <meyering@lucent.com>
96045
96046         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96047         * m4/lstat.m4: Likewise.
96048
96049 2000-05-22  Jim Meyering  <meyering@lucent.com>
96050
96051         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
96052
96053 2000-05-20  Jim Meyering  <meyering@lucent.com>
96054
96055         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
96056         (jm_PREREQ): Use it.
96057
96058 2000-05-18  Jim Meyering  <meyering@lucent.com>
96059
96060         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
96061         back, too, since it may have been modified by allocate_entry.
96062         (hash_delete): Rewrite to use neither the assignment operator
96063         nor the comma operator in an if-expression.
96064
96065 2000-05-15  Paul Eggert  <eggert@twinsun.com>
96066
96067         * lib/closeout.c:
96068         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
96069         Remove; no longer needed.
96070         "quotearg.h": Add include.
96071         (file_name): Do not bother to explicitly initialize to NULL; it's less
96072         efficient on some hosts.
96073         (close_stdout_status): Remove test as to whether stdout was already
96074         closed; it breaks for the case "echo x | sort >&-".
96075         Quote file name colons.
96076         Do not assume that _("write error") lacks format strings.
96077
96078 2000-05-15  Jim Meyering  <meyering@lucent.com>
96079
96080         * lib/version-etc.c (version_etc_copyright): Update the copyright
96081         string used in all --version output.
96082
96083 2000-05-14  Jim Meyering  <meyering@lucent.com>
96084
96085         * lib/closeout.c (close_stdout_set_file_name): New function.
96086         (close_stdout_status): Use new file-scoped global.
96087         Return right away if fstat says the stdout file descriptor is invalid.
96088         * lib/closeout.h (close_stdout_set_file_name): Declare.
96089
96090 2000-05-10  Jim Meyering  <meyering@lucent.com>
96091
96092         * lib/closeout.c [default_exit_status]: New file-scoped variable.
96093         (close_stdout_set_status): New function.
96094         * lib/closeout.h (close_stdout_set_status): Declare.
96095
96096 2000-05-09  Jim Meyering  <meyering@lucent.com>
96097
96098         * m4/gettext.m4: Rename this...
96099         * m4/libintl.m4: ...to this.
96100
96101 2000-05-08  Jim Meyering  <meyering@lucent.com>
96102
96103         * lib/long-options.c: Don't include closeout.h.
96104         (parse_long_options): Don't call close_stdout for --version.
96105
96106 2000-05-06  Paul Eggert  <eggert@twinsun.com>
96107
96108         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
96109         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
96110         2.1.3 bug.  This avoids a clash when files like regex.c define
96111         _GNU_SOURCE.
96112
96113 2000-05-06  Jim Meyering  <meyering@lucent.com>
96114
96115         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
96116         (AC_REPLACE_FUNCS): Add strnlen.
96117
96118         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
96119         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
96120
96121         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
96122         AC_SEARCH_LIBS call for nanosleep.
96123         (LIB_NANOSLEEP): Set and AC_SUBST.
96124
96125 2000-05-06  Jim Meyering  <meyering@lucent.com>
96126
96127         * lib/strnlen.c: Undefine __strnlen and strnlen.
96128         [!weak_alias]: Define __strnlen to strnlen.
96129
96130         * lib/atexit.c: New file, from libiberty.
96131
96132 2000-05-06  Jim Meyering  <meyering@lucent.com>
96133
96134         * lib/closeout.c (close_stdout_status): Also check for errors on the
96135         stderr stream.
96136
96137 2000-05-05  Jim Meyering  <meyering@lucent.com>
96138
96139         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
96140         AC_SEARCH_LIBS call for clock_gettime.
96141         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
96142
96143         * m4/search-libs.m4: Update from autoconf.
96144
96145         su doesn't work on Solaris 2.6.
96146         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
96147         <shadow.h>.  Reported by Dragos Harabor.
96148
96149 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
96150
96151         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
96152         memcpy instead of xmalloc, xrealloc, path_concat.
96153         (locale_charset): Treat empty environment variables as absent.
96154         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
96155
96156 2000-05-04  Jim Meyering  <meyering@lucent.com>
96157
96158         * lib/getopt.c: Update from glibc.
96159         * lib/obstack.c: Likewise.
96160         * lib/obstack.h: Likewise.
96161         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
96162         file
96163
96164         * lib/regex.h: Likewise.
96165         * lib/strndup.c: Likewise.
96166         * lib/strnlen.c: New file, from glibc.
96167
96168 2000-05-03  Jim Meyering  <meyering@lucent.com>
96169
96170         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
96171
96172 2000-05-02  Paul Eggert  <eggert@twinsun.com>
96173
96174         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
96175         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
96176         compile-time test, rather than inspecting host and OS, to
96177         decide whether to define _LARGEFILE_SOURCE.
96178
96179 2000-05-01  Jim Meyering  <meyering@lucent.com>
96180
96181         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
96182
96183         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
96184         Based on a patch from Bruno Haible.
96185
96186 2000-05-01  Jim Meyering  <meyering@lucent.com>
96187
96188         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
96189
96190 2000-04-29  Jim Meyering  <meyering@lucent.com>
96191
96192         * lib/path-concat.c: Declare strdup only if it's not defined.
96193         * lib/canon-host.c: Likewise.
96194
96195 2000-04-28  Jim Meyering  <meyering@lucent.com>
96196
96197         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
96198         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
96199         is included first, then limits.h is included by locale.h by libintl.h.
96200         From John David Anglin.
96201
96202 2000-04-25  Jim Meyering  <meyering@lucent.com>
96203
96204         * lib/makepath.c (S_IRWXUGO): Define.
96205         (make_path): Always perform explicit chmod if MODE specifies any
96206         of the `special' permission bits.  Prompted by a bug report against
96207         install from Mate Wierdl and Joost van Baal.
96208
96209 2000-04-18  Jim Meyering  <meyering@lucent.com>
96210
96211         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
96212         (jm_PREREQ): Use it.
96213
96214 2000-04-18  Jim Meyering  <meyering@lucent.com>
96215
96216         * lib/README: New file.
96217
96218         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
96219         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
96220
96221 2000-04-17  Jim Meyering  <meyering@lucent.com>
96222
96223         Get it right :-)
96224         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
96225         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
96226         Suggestion from Akim Demaille.
96227
96228 2000-04-17  Jim Meyering  <meyering@lucent.com>
96229
96230         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
96231         the definition of it to rpl_strftime also defined-away the system's
96232         declaration.
96233
96234 2000-04-15  Jim Meyering  <meyering@lucent.com>
96235
96236         Use `C' to denote so-called `contiguous' files, the same way
96237         that tar does.
96238         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
96239         (ftypelet): Use S_ISCTG.
96240         From Michael Deutschmann.
96241
96242 2000-04-14  Jim Meyering  <meyering@lucent.com>
96243
96244         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
96245         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
96246         clobbered.
96247
96248 2000-04-14  Jim Meyering  <meyering@lucent.com>
96249
96250         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
96251
96252 2000-04-13  Jim Meyering  <meyering@lucent.com>
96253
96254         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
96255         AH_VERBATIM to insert required #ifndef into config.h.in.
96256         Suggestion from Akim Demaille.
96257
96258 2000-04-12  Jim Meyering  <meyering@lucent.com>
96259
96260         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
96261         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
96262         Christian Krackowizer.
96263
96264         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
96265         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
96266         (AC_SYS_LARGEFILE): Require.
96267         (AM_C_PROTOTYPES): Require.
96268
96269 2000-04-08  Jim Meyering  <meyering@lucent.com>
96270
96271         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
96272         names don't conflict.  Reported by Eli Zaretskii.
96273
96274 2000-04-07  Jim Meyering  <meyering@lucent.com>
96275
96276         * lib/putenv.c: Move inclusion of errno.h so it follows that of
96277         sys/types.h, to work around system header problems on AIX 3.2.5.
96278         From Bruno Haible.
96279
96280 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
96281
96282         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
96283         bug.  Deal with the different error behavior of Irix iconv.
96284
96285 2000-04-05  Paul Eggert  <eggert@twinsun.com>
96286
96287         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
96288         IRIX if the installer said otherwise.
96289
96290 2000-04-05  Jim Meyering  <meyering@lucent.com>
96291
96292         Portability tweaks required for ultrix4.3.
96293         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
96294         (jm_CHECK_DECLS): Add getutent to the list of functions.
96295         (_jm_DECL_HEADERS): Add utmpx.h.
96296         From John David Anglin.
96297
96298         * m4/strftime.m4: Back out the 2000-04-02 change.
96299         Instead of that change, simply undefine putenv in the test program.
96300
96301 2000-04-05  Jim Meyering  <meyering@lucent.com>
96302
96303         Portability tweaks required for ultrix4.3.
96304         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
96305         getutent.
96306         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
96307         * lib/canon-host.c: Declare strdup.
96308         * lib/path-concat.c: Likewise.
96309         From John David Anglin.
96310
96311 2000-04-04  Jim Meyering  <meyering@lucent.com>
96312
96313         Be more DOS 8.3-friendly.
96314         * lib/ref-add.sin: Renamed from ref-add.sed.in.
96315         * lib/ref-del.sin: Renamed from ref-del.sed.in.
96316         * lib/Makefile.am: Reflect renaming.
96317         Reported by Eli Zaretskii.
96318
96319         Use a temporary file name that won't clash with `charset.alias'
96320         in the DOS 8.3 name space.
96321         * lib/Makefile.am (charset_tmp): Define.
96322         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
96323         (uninstall-local): Likewise.
96324         Reported by Eli Zaretskii.
96325
96326 2000-04-03  Jim Meyering  <meyering@lucent.com>
96327
96328         * m4/gettext.m4: Fix typo in comment.
96329
96330         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
96331         textutils/configure.in).  Suggestion from Paul Eggert.
96332         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
96333
96334 2000-04-02  Paul Eggert  <eggert@twinsun.com>
96335
96336         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
96337         variable in the shell rather than using putenv, which isn't
96338         portable.  This avoids the configure-time inter-test dependency
96339         on the potentially-renamed putenv function.
96340
96341 2000-03-30  Paul Eggert  <eggert@twinsun.com>
96342
96343         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
96344         before checking struct stat.st_blksize, so that
96345         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
96346
96347 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96348
96349         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
96350         since strftime.c uses HAVE_STRFTIME to decide whether to use
96351         the underlying strftime.
96352
96353 2000-03-29  Paul Eggert  <eggert@twinsun.com>
96354
96355         * lib/time/strftime.c (my_strftime): Make sure we call the system
96356         strftime, not ourselves, when invoking the underlying strftime.
96357
96358 2000-03-24  Jim Meyering  <meyering@lucent.com>
96359
96360         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
96361         (charset_alias): Define.
96362         (install-exec-local): Factor out common code.
96363         (uninstall-local): Split lines longer than 80.
96364         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
96365         (SUFFIXES): Define.
96366         (.sed.in.sed): New rule.  Don't redirect directly to $@.
96367         (CLEANFILES): Add ref-add.sed and ref-del.sed.
96368
96369 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
96370
96371         * lib/config.charset: Output a line containing "Packages using this
96372         file".
96373         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
96374         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
96375         ref-del.sed): New rules.
96376
96377 2000-03-17  Jim Meyering  <meyering@lucent.com>
96378
96379         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
96380         Otherwise, include <strings.h>
96381
96382 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
96383
96384         * lib/unicodeio.c (utf8_wctomb): New function.
96385         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
96386         format instead of in UCS-4 with platform dependent endianness.
96387
96388 2000-03-10  Jim Meyering  <meyering@lucent.com>
96389
96390         * m4/lib-check.m4: Look for getspnam in -lgen, too.
96391         From Marco Franzen.
96392
96393 2000-03-07  Paul Eggert  <eggert@twinsun.com>
96394
96395         * lib/savedir.c (savedir): Work even if directory size is
96396         negative; this can happen with some screwy NFS configurations.
96397
96398 2000-03-06  Jim Meyering  <meyering@lucent.com>
96399
96400         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
96401         if it's NULL (because we ran out of memory).  From Bruno Haible.
96402
96403 2000-03-05  Jim Meyering  <meyering@lucent.com>
96404
96405         * lib/localcharset.c ("path-concat.h"): Include.
96406         (get_charset_aliases): Use path_concat instead of ANSI string
96407         concatenation.
96408
96409         * lib/unicodeio.h (PARAMS): Define.
96410         Use it to guard prototype.
96411
96412 2000-03-04  Jim Meyering  <meyering@lucent.com>
96413
96414         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
96415         for lib/localcharset.c.
96416
96417 2000-03-04  Jim Meyering  <meyering@lucent.com>
96418
96419         * lib/Makefile.am (install-exec-local): Create $(libdir) before
96420         installing into it.
96421         (uninstall-local): Uncomment this rule so `make distcheck' works
96422         once again.
96423
96424         * lib/unicodeio.c (<errno.h>): Include it.
96425         (errno): Declare if not defined.
96426
96427         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
96428
96429         * lib/config.charset: New version, incorporating remarks from a linux
96430         i18n mailing list.  From Bruno Haible.
96431
96432 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
96433
96434         * m4/codeset.m4: New file.
96435         * m4/iconv.m4: New file.
96436         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
96437
96438 2000-03-03  Jim Meyering  <meyering@lucent.com>
96439
96440         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
96441
96442 2000-03-02  Jim Meyering  <meyering@lucent.com>
96443
96444         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
96445         the messages come out on separate lines.
96446
96447         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
96448         rather than jm_CHECK_DECLARATIONS.
96449         * m4/decl.m4: Remove now-unused file.
96450
96451         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
96452         geteuid.
96453
96454 2000-03-02  Jim Meyering  <meyering@lucent.com>
96455
96456         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
96457
96458 2000-03-01  Jim Meyering  <meyering@lucent.com>
96459
96460         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
96461         * lib/unicodeio.c: Likewise.
96462
96463 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
96464
96465         * lib/config.charset: New file.
96466         * lib/localcharset.c: New file.
96467         * lib/unicodeio.h, lib/unicodeio.c: New files.
96468         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
96469         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
96470         (noinst_HEADERS): Add unicodeio.h.
96471         (all-local, install-exec-local, charset.alias): New targets.
96472
96473 2000-02-28  Paul Eggert  <eggert@twinsun.com>
96474
96475         * lib/quotearg.c (ALERT_CHAR): New macro.
96476         (quotearg_buffer_restyled): Use it.
96477
96478 2000-02-27  Jim Meyering  <meyering@lucent.com>
96479
96480         * m4/check-decl.m4: Add getenv to the list.
96481
96482 2000-02-27  Jim Meyering  <meyering@lucent.com>
96483
96484         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
96485         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
96486
96487         * lib/backupfile.c: Guard inclusion of stdlib.h with
96488         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
96489         Declare malloc if needed.
96490
96491         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
96492         `#ifndef HAVE_DECL..'
96493         now that autoconf always defines the HAVE_DECL_ symbols.
96494         * lib/human.c: Likewise.
96495         * lib/same.c: Likewise.
96496         * lib/strtoumax.c: Likewise.
96497
96498         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
96499         declaration check was not run.
96500         * lib/hash.c: Likewise.
96501         * lib/human.c: Likewise.
96502         * lib/same.c: Likewise.
96503         * lib/strtoumax.c: Likewise.
96504
96505         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
96506         `.', then first look up the entire `.'-containing string as a login
96507         name.
96508
96509 2000-02-23  Jim Meyering  <meyering@lucent.com>
96510
96511         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
96512         in place of my hack.
96513
96514 2000-02-18  Paul Eggert  <eggert@twinsun.com>
96515
96516         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
96517         (textint): New typedef.
96518         (parser_control): Member year changed from int to textint.
96519         All uses changed.
96520         (YYSTYPE): Removed; replaced by %union with int and textint members.
96521         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
96522         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
96523         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
96524         (tSNUMBER, tUNUMBER): Now of type <textintval>.
96525         (date, number, to_year): Use width of number in digits, not its value,
96526         to determine whether it's a 2-digit year, or a 2-digit time.
96527         (yylex): Store number of digits of numeric tokens.
96528         Reported by John Kendall.
96529
96530         (parser_control): Changed from struct parser_control to typedef (for
96531         consistency).  All uses changed.
96532
96533         (tID): Removed; not used.
96534         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
96535
96536 2000-02-14  Paul Eggert  <eggert@twinsun.com>
96537
96538         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
96539         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
96540
96541 2000-02-12  Jim Meyering  <meyering@lucent.com>
96542
96543         * lib/userspec.c (ISDIGIT): Define it.
96544         (isdigit): Remove definition.
96545         (is_number): Use ISDIGIT, not isdigit.
96546         <libintl.h>: Include.
96547         (_ and N_): Define.
96548         (parse_user_spec): Mark translatable strings.
96549
96550 2000-02-10  Jim Meyering  <meyering@lucent.com>
96551
96552         With these changes, nanosleep.[ch] are finally enough like the other
96553         lib/* replacement files to compile on a few more losing systems.
96554
96555         * lib/nanosleep.h: Don't include config.h.
96556         Remove prototype from declaration of nanosleep.
96557         (PARAMS): Remove now-unneeded definition.
96558         * lib/nanosleep.c: #undef nanosleep.
96559         (rpl_nanosleep): Rename from nanosleep.
96560
96561 2000-02-10  Jim Meyering  <meyering@lucent.com>
96562
96563         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
96564         gnu_nanosleep to rpl_nanosleep.
96565
96566 2000-02-09  Jim Meyering  <meyering@lucent.com>
96567
96568         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
96569         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
96570
96571 2000-02-08  Akim Demaille  <akim@epita.fr>
96572
96573         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
96574         `[' and `]' and remove uses of `changequote'.
96575         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
96576         (AC_SYS_LARGEFILE): Likewise.
96577         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
96578         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
96579         of changequote.
96580         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
96581         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
96582         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
96583         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
96584
96585 2000-02-05  Jim Meyering  <meyering@lucent.com>
96586
96587         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
96588         Remove explicit use of AC_HEADER_TIME.  It is required by
96589         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
96590         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
96591         in autoconf whereby the expansion of the latter ended up preceding
96592         the expansion of its prerequisite, AC_HEADER_TIME.
96593         Reported by Volker Borchert.
96594
96595 2000-02-03  Jim Meyering  <meyering@lucent.com>
96596
96597         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
96598
96599 2000-02-03  Jim Meyering  <meyering@lucent.com>
96600
96601         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
96602         rather than with `#if HAVE_UTMPNAME'.
96603
96604 2000-02-02  Jim Meyering  <meyering@lucent.com>
96605
96606         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
96607         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
96608         Reported by Eli Zaretskii.
96609
96610 2000-02-01  Jim Meyering  <meyering@lucent.com>
96611
96612         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
96613
96614 2000-01-31  Jim Meyering  <meyering@lucent.com>
96615
96616         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
96617         functions.  Add the time.h and sys/time.h headers along with the
96618         AC_REQUIRE'ment of AC_HEADER_TIME.
96619
96620 2000-01-31  Jim Meyering  <meyering@lucent.com>
96621
96622         * lib/nanosleep.h (nanosleep): Guard declaration with
96623         `#if ! HAVE_DECL_NANOSLEEP'.
96624         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
96625         the declaration in that vendor's sys/timers.h.
96626         Reported by Christian Krackowizer.
96627
96628         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
96629         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
96630         (ISPRINT): Likewise.
96631         Reported by Tom Tromey.
96632
96633 2000-01-30  Jim Meyering  <meyering@lucent.com>
96634
96635         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
96636
96637         * m4/prereq.m4 (utmp_includes): Define.
96638         Check for ut_user and ut_name members in both struct utmpx
96639         and struct utmp.
96640
96641 2000-01-30  Jim Meyering  <meyering@lucent.com>
96642
96643         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
96644         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
96645         header files where only utmpx.ut_user is declared.
96646
96647         * lib/readutmp.h (UT_USER): Define.
96648
96649 2000-01-29  Jim Meyering  <meyering@lucent.com>
96650
96651         * m4/lib-check.m4: New file containing library-related checks from
96652         fileutils and sh-utils (textutils had none).
96653
96654 2000-01-28  Jim Meyering  <meyering@lucent.com>
96655
96656         * m4/perl.m4: Change format of warning message to look more like that
96657         from the missing script.  Suggestion from François Pinard.
96658
96659 2000-01-25  Jim Meyering  <meyering@lucent.com>
96660
96661         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
96662         well as time.h in the compile check.
96663         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
96664         Fix typo in cross-compiling case: s/yes/no/.
96665
96666 2000-01-23  Jim Meyering  <meyering@lucent.com>
96667
96668         * m4/jm-macros.m4: Move df-related tests here from
96669         fileutils/configure.in
96670
96671         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
96672         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
96673
96674         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
96675         s/space/ac_fsusage_space/.
96676         (jm_FILE_SYSTEM_USAGE): Take two parameters.
96677
96678         * m4/ftruncate.m4: New file (derived from part of
96679         fileutils/configure.in).
96680         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
96681         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
96682
96683         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
96684         AC_SUBST these here, rather than just in sh-util/configure.in, so
96685         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
96686         all the same.
96687         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
96688         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
96689         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
96690         (AC_SUBST(POW_LIBM)): Likewise.
96691         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
96692
96693 2000-01-23  Jim Meyering  <meyering@lucent.com>
96694
96695         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
96696         obstack.c.
96697
96698 2000-01-22  Jim Meyering  <meyering@lucent.com>
96699
96700         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
96701
96702         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
96703
96704         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
96705         configure.in
96706         (AC_CHECK_HEADERS): Likewise for sh-utils.
96707         (AC_CHECK_HEADERS): Likewise for textutils.
96708         Merge the three lists of headers.
96709
96710         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
96711         from fileutils' configure.in.
96712
96713         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
96714         code. Moved tests into their own function (_jm_DECL_HEADERS) in
96715         check-decl.m4.
96716
96717         * m4/check-decl.m4: Use #if rather than #ifdef.
96718         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
96719         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
96720         (_jm_DECL_HEADERS): Define new function.
96721         (jm_CHECK_DECLARATIONS): Require it.
96722
96723 2000-01-22  Jim Meyering  <meyering@lucent.com>
96724
96725         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
96726         [! HAVE_DECL_STRTOULL]: Declare strtoull.
96727         Required for some AIX systems.  Reported by Christian Krackowizer.
96728         [TESTING] (main): New function.
96729
96730         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
96731         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
96732         letters.
96733
96734         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
96735         iswprint.
96736
96737         * lib/strverscmp.c (ISDIGIT): Define.
96738         (strverscmp): Use ISDIGIT, not isdigit.
96739
96740 2000-01-19  Jim Meyering  <meyering@lucent.com>
96741
96742         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
96743         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
96744         defines `struct timespec' in <sys/time.h>
96745
96746         * m4/c-bs-a.m4: Remove uses of changequote altogether.
96747         Thanks to Akim for explaining.
96748
96749 2000-01-17  Paul Eggert  <eggert@twinsun.com>
96750
96751         * lib/nanosleep.c (nanosleep):
96752         Don't use SA_INTERRUPT to decide whether to call sigaction, as
96753         POSIX.1 doesn't require SA_INTERRUPT and some systems
96754         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
96755         it's been part of POSIX.1 since day 1 (in 1988).
96756
96757 2000-01-17  Jim Meyering  <meyering@lucent.com>
96758
96759         * lib/interlock: Remove unused file.  Reported by François Pinard.
96760
96761 2000-01-16  Paul Eggert  <eggert@twinsun.com>
96762
96763         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
96764         alert, backslash, formfeed, and vertical tab unnecessarily in
96765         shell quoting style.
96766
96767 2000-01-16  Jim Meyering  <meyering@lucent.com>
96768
96769         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
96770         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
96771         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
96772         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
96773
96774 2000-01-16  Jim Meyering  <meyering@lucent.com>
96775
96776         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
96777         because the latter didn't work.
96778
96779 2000-01-15  Jim Meyering  <meyering@lucent.com>
96780
96781         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
96782         (AC_REPLACE_FUNCS): Add memcpy and memset.
96783         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
96784         Add strpbrk.
96785         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
96786
96787 2000-01-12  Jim Meyering  <meyering@lucent.com>
96788
96789         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
96790         (jm_PREREQ): Use it.
96791         (jm_PREREQ_READUTMP): New macro.
96792         (jm_PREREQ): Use it.
96793
96794 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96795
96796         Quote multibyte characters correctly.
96797         * m4/c-bs-a.m4: New file.
96798         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
96799         (jm_PREREQ): Use it.
96800
96801 2000-01-11  Paul Eggert  <eggert@twinsun.com>
96802
96803         * m4/uintmax_t.m4: Port to autoconf 2.13.
96804
96805 2000-01-08  Jim Meyering  <meyering@ascend.com>
96806
96807         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
96808         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
96809
96810 2000-01-04  Jim Meyering  <meyering@ascend.com>
96811
96812         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
96813         jm_STRUCT_DIRENT_D_TYPE.
96814         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
96815         jm_STRUCT_DIRENT_D_INO.
96816         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
96817         jm_STRUCT_UTIMBUF.
96818         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
96819         renamings.
96820         * m4/utime.m4: Likewise.
96821
96822         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
96823         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
96824
96825 2000-01-03  Paul Eggert  <eggert@twinsun.com>
96826
96827         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
96828         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
96829
96830 2000-01-02  Jim Meyering  <meyering@ascend.com>
96831
96832         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
96833         remember if this is necessary.
96834
96835 1999-12-26  Jim Meyering  <meyering@ascend.com>
96836
96837         * m4/jm-macros.m4: Use it here.
96838         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
96839
96840 1999-12-23  Jim Meyering  <meyering@ascend.com>
96841
96842         * m4/jm-macros.m4: Check for clock_gettime (moved from
96843         fileutils/configure.in)
96844         Check for gettimeofday.
96845
96846 1999-12-20  Jim Meyering  <meyering@ascend.com>
96847
96848         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
96849         autoconf-2.14a-1999-12-20.
96850
96851 1999-12-19  Jim Meyering  <meyering@ascend.com>
96852
96853         * m4/lstat-slash.m4: New file.
96854         * m4/jm-macros.m4: Use the new macro:
96855         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
96856
96857 1999-12-07  Jim Meyering  <meyering@ascend.com>
96858
96859         * m4/perl.m4: Require that File::Compare be available, too.
96860         Too many systems seem to lack it.
96861
96862         * m4/strftime.m4: Add checks for most of the cpp macros tested in
96863         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
96864
96865 1999-11-18  Paul Eggert  <eggert@twinsun.com>
96866
96867         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
96868         problem with the QNX 4.25 shell, which doesn't propagate exit
96869         status of failed commands inside shell assignments.
96870
96871 1999-11-17  Jim Meyering  <meyering@ascend.com>
96872
96873         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
96874
96875 1999-11-07  Jim Meyering  <meyering@ascend.com>
96876
96877         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
96878
96879 1999-11-06  Jim Meyering  <meyering@ascend.com>
96880
96881         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
96882         * m4/jm-macros.m4 (jm_MACROS): Use it here.
96883
96884 1999-11-05  Jim Meyering  <meyering@ascend.com>
96885
96886         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
96887         configure.in of textutils, fileutils, and sh-utils into this one
96888         (shared between those packages) file.
96889         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
96890         AC_STRUCT_ST_BLKSIZE.
96891
96892 1999-11-03  Jim Meyering  <meyering@ascend.com>
96893
96894         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
96895         of AC_CHECK_TYPE checks includes unistd.h.
96896         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
96897         Suggestion from Akim Demaille.
96898
96899 1999-10-30  Jim Meyering  <meyering@ascend.com>
96900
96901         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
96902         m4-quoted string.
96903         * m4/ls-mntd-fs.m4: Likewise.
96904         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
96905         * m4/jm-winsz1.m4: Likewise.
96906
96907         * m4/const.m4: Remove file, since the fix made it into the experimental
96908         version of autoconf.
96909         * m4/mktime.m4: Likewise.
96910
96911         * m4/check-type.m4: Remove file, now that the latest version of
96912         AC_CHECK_TYPE takes a third arg to specify additional #includes.
96913
96914         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
96915         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
96916         AC_CHECK_TYPE.
96917
96918 1999-10-04  Jim Meyering  <meyering@ascend.com>
96919
96920         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
96921
96922 1999-09-22  Paul Eggert  <eggert@twinsun.com>
96923
96924         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
96925         2.95.1 bug with HP-UX 10.20.
96926
96927 1999-09-17  Jim Meyering  <meyering@ascend.com>
96928
96929         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
96930         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
96931         due to missing strdup (against sh-utils-2.0).
96932
96933 1999-08-29  Jim Meyering  <meyering@ascend.com>
96934
96935         * m4/jm-macros.m4: Require jm_BISON.
96936         * m4/bison.m4: New file.
96937
96938 1999-08-17  Paul Eggert  <eggert@twinsun.com>
96939
96940         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
96941         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
96942
96943 1999-08-05  Jim Meyering  <meyering@ascend.com>
96944
96945         * m4/getline.m4: Rename test file from conftestdata to conftest.data
96946         to avoid conflicts with `conftest' on 8+3 filesystems.
96947         Suggestion from Eli Zaretskii.
96948
96949 1999-08-04  Jim Meyering  <meyering@ascend.com>
96950
96951         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
96952         fileutils and sh-utils (textutils's getline test was inadequate).
96953         (AM_FUNC_GETLINE): Run this test.
96954         (AC_CHECK_FUNCS): Check for getdelim.
96955         Reported by Bob Proulx.
96956
96957 1999-08-02  Jim Meyering  <meyering@ascend.com>
96958
96959         * m4/jm-macros.m4: Add a comment.
96960
96961 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96962
96963         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
96964         <inttypes.h> defines strtoumax as a macro (and not as a
96965         function).
96966
96967 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96968
96969         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
96970         that we can shift, multiply and divide unsigned long long
96971         values; Ultrix cc can't do it.
96972
96973 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96974
96975         * m4/mktime.m4: New file, which is a preview of what should appear
96976         in the next public autoconf release.
96977
96978 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96979
96980         * m4/lfs.m4: Remove this file.
96981         * m4/largefile.m4: New file.  It contains the old contents of
96982         lfs.m4, except that all names with prefix AC_LFS have been
96983         changed to use the prefix AC_SYS_LARGEFILE instead, to be
96984         compatible with future autoconf versions.  Also, some minor m4
96985         quoting problems have been fixed.
96986
96987 1999-08-01  Paul Eggert  <eggert@twinsun.com>
96988
96989         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
96990         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
96991         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
96992         and simplify the shell code.
96993
96994 1999-08-01  Jim Meyering  <meyering@ascend.com>
96995
96996         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
96997         m4.
96998
96999 1999-07-20  Jim Meyering  <meyering@ascend.com>
97000
97001         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
97002
97003 1999-07-15  Jim Meyering  <meyering@ascend.com>
97004
97005         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
97006
97007 1999-05-22  Jim Meyering  <meyering@ascend.com>
97008
97009         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
97010
97011 1999-05-20  Jim Meyering  <meyering@ascend.com>
97012
97013         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
97014         Add a colon after each `then' in case $4 is empty.
97015
97016 1999-05-16  Jim Meyering  <meyering@ascend.com>
97017
97018         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
97019
97020 1999-05-10  Jim Meyering  <meyering@ascend.com>
97021
97022         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
97023
97024         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
97025         AC_FUNC_MKTIME.
97026
97027 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
97028
97029         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
97030
97031 1999-05-04  Paul Eggert  <eggert@twinsun.com>
97032
97033         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
97034         not CPPFLAGS, so that linking works correctly in IRIX.
97035
97036 1999-04-30  Paul Eggert  <eggert@twinsun.com>
97037
97038         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
97039
97040 1999-04-20  Paul Eggert  <eggert@twinsun.com>
97041
97042         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
97043         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
97044         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
97045         jm_AC_TYPE_UNSIGNED_LONG_LONG.
97046         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
97047
97048         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
97049
97050 1999-04-20  Jim Meyering  <meyering@ascend.com>
97051
97052         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
97053         AC_REPLACE xstroull if necessary.  From Paul Eggert.
97054         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
97055
97056 1999-04-18  Jim Meyering  <meyering@ascend.com>
97057
97058         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
97059         * m4/jm-macros.m4: Use it.
97060
97061 1999-04-06  Jim Meyering  <meyering@ascend.com>
97062
97063         * m4/strftime.m4: Remove test for %f.
97064
97065 1999-03-29  Jim Meyering  <meyering@ascend.com>
97066
97067         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
97068         superset of the AC_TYPE_* checks in the textutils, fileutils,
97069         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
97070         AC_TYPE_PID_T.
97071
97072 1999-03-28  Jim Meyering  <meyering@ascend.com>
97073
97074         * m4/jm-macros.m4: Define GNU_PACKAGE here.
97075         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
97076         replaced e.g., in the *.sh files of the sh-utils.
97077
97078 1999-03-20  Jim Meyering  <meyering@ascend.com>
97079
97080         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
97081         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
97082         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
97083
97084 1999-03-19  Jim Meyering  <meyering@ascend.com>
97085
97086         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
97087
97088 1999-03-12  Jim Meyering  <meyering@ascend.com>
97089
97090         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
97091
97092 1999-03-07  Jim Meyering  <meyering@ascend.com>
97093
97094         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
97095         declared.
97096
97097 1999-02-17  Jim Meyering  <meyering@ascend.com>
97098
97099         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
97100         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
97101
97102 1999-02-07  Jim Meyering  <meyering@ascend.com>
97103
97104         * m4/group-member.m4: New file -- extracted from sh-utils'
97105         configure.in.
97106
97107         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
97108         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
97109
97110 1999-02-06  Jim Meyering  <meyering@ascend.com>
97111
97112         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
97113         * m4/fnmatch.m4: Likewise.
97114         * m4/getgroups.m4: Likewise.
97115         * m4/lstat.m4: Likewise.
97116         * m4/malloc.m4: Likewise.
97117         * m4/putenv.m4: Likewise.
97118         * m4/realloc.m4: Likewise.
97119         * m4/regex.m4: Likewise.
97120         * m4/stat.m4: Likewise.
97121         * m4/strftime.m4: Likewise.
97122         Suggestion from Alain Magloire.
97123
97124         * m4/chown.m4: Use `.$ac_objext', not `.o'.
97125         * m4/fnmatch.m4: Likewise.
97126         * m4/getgroups.m4: Likewise.
97127         * m4/getline.m4: Likewise.
97128         * m4/lstat.m4: Likewise.
97129         * m4/malloc.m4: Likewise.
97130         * m4/memcmp.m4: Likewise.
97131         * m4/putenv.m4: Likewise.
97132         * m4/realloc.m4: Likewise.
97133         * m4/regex.m4: Likewise.
97134         * m4/stat.m4: Likewise.
97135         * m4/strftime.m4: Likewise.
97136         Suggestion from Alain Magloire.
97137
97138         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
97139         an argument.
97140
97141         * m4/regex.m4: Add a run-time Test for proper operation of
97142         re_compile_pattern.
97143
97144 1999-01-31  Jim Meyering  <meyering@ascend.com>
97145
97146         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
97147
97148 1999-01-30  Jim Meyering  <meyering@ascend.com>
97149
97150         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
97151
97152         * m4/jm-mktime.m4: Make this a wrapper around the official
97153         AM_FUNC_MKTIME rather than my private copy, now that the official one
97154         is up to date.
97155         * m4/mktime.m4: Remove file.
97156
97157         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
97158         * m4/uptime.m4: Likewise.
97159         * m4/uintmax_t.m4: Likewise.
97160
97161 1999-01-28  Jim Meyering  <meyering@ascend.com>
97162
97163         * m4/jm-macros.m4: Use jm_AFS.
97164         * m4/afs.m4: New file (from fileutils' configure.in).
97165
97166         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
97167         * m4/chown.m4: Likewise.
97168         * m4/d-ino.m4: Likewise.
97169         * m4/d-type.m4: Likewise.
97170         * m4/fnmatch.m4: Likewise.
97171         * m4/getgroups.m4: Likewise.
97172         * m4/gettext.m4: Likewise.
97173         * m4/jm-mktime.m4: Likewise.
97174         * m4/jm-winsz2.m4: Likewise.
97175         * m4/lcmessage.m4: Likewise.
97176         * m4/ls-mntd-fs.m4: Likewise.
97177         * m4/malloc.m4: Likewise.
97178         * m4/memcmp.m4: Likewise.
97179         * m4/putenv.m4: Likewise.
97180         * m4/realloc.m4: Likewise.
97181         * m4/st_mtim.m4: Likewise.
97182         * m4/strftime.m4: Likewise.
97183
97184 1999-01-16  Jim Meyering  <meyering@ascend.com>
97185
97186         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
97187         (ARGMATCH_DIE_DECL): Define.
97188
97189 1999-01-12  Jim Meyering  <meyering@ascend.com>
97190
97191         * m4/Makefile.am.in: Rewrite to avoid using fmt.
97192         Reported by Lars Hecking.
97193
97194 1999-01-10  Jim Meyering  <meyering@ascend.com>
97195
97196         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
97197         gross kludge.
97198         * m4/inttypes_h.m4: Likewise.
97199         * m4/lstat.m4: Likewise.
97200         * m4/malloc.m4: Likewise.
97201         * m4/readdir.m4: Likewise.
97202         * m4/realloc.m4: Likewise.
97203         * m4/st_dm_mode.m4: Likewise.
97204         * m4/stat.m4: Likewise.
97205         * m4/utimbuf.m4: Likewise.
97206         * m4/utimes.m4: Likewise.
97207
97208         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
97209         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
97210         comments in config.h.in are meaningful.
97211
97212         * m4/jm-macros.m4: Require autoconf-2.13 here.
97213
97214         * m4/regex.m4: By default, don't use the included regex.c on systems
97215         with glibc 2.  Suggestion from Uli Drepper.
97216
97217 1999-01-02  Jim Meyering  <meyering@ascend.com>
97218
97219         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
97220
97221 1998-12-18  Jim Meyering  <meyering@ascend.com>
97222
97223         * m4/Makefile.am.in (Makefile.am): Simplify rule.
97224         Based on a suggestion from Lars Hecking.
97225
97226 1998-11-16  Paul Eggert  <eggert@twinsun.com>
97227
97228         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
97229
97230 1998-11-16  Jim Meyering  <meyering@ascend.com>
97231
97232         * m4/lfs.m4: Double-quote the `uname...` expression.
97233
97234 1998-11-14  Jim Meyering  <meyering@ascend.com>
97235
97236         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
97237         * m4/stat.m4: Likewise.
97238
97239 1998-11-03  Jim Meyering  <meyering@ascend.com>
97240
97241         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
97242         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
97243
97244 1998-10-18  Jim Meyering  <meyering@ascend.com>
97245
97246         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
97247
97248 1998-10-17  Jim Meyering  <meyering@ascend.com>
97249
97250         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
97251         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
97252         calls for those previously hard-coded headers.  Instead, take a new
97253         parameter.
97254         (jm_CHECK_DECLARATIONS): Reflect interface change.
97255         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
97256         (jm_CHECK_DECL_LOCALTIME_R): New macro.
97257
97258         * m4/mktime.m4: Test for spring-forward gap before long-running test.
97259
97260 1998-10-14  Jim Meyering  <meyering@ascend.com>
97261
97262         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
97263         instead of "TZ=America/Vancouver".  From Paul Eggert.
97264
97265 1998-10-11  Jim Meyering  <meyering@ascend.com>
97266
97267         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
97268         This adds a test for a recently added compatibility fix for mktime.c.
97269         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
97270
97271 1998-09-27  Jim Meyering  <meyering@ascend.com>
97272
97273         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
97274
97275         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
97276         ../configure.in, including a change from Gordon Matzigkeit to allow
97277         cross-compiling for the Hurd.
97278
97279         * m4/glibc.m4: New file/macro to test for the GNU C Library
97280         versions 1 and 2.  From Gordon Matzigkeit.
97281         Indent.
97282
97283 1998-09-21  Jim Meyering  <meyering@ascend.com>
97284
97285         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
97286
97287 1998-08-18  Paul Eggert  <eggert@twinsun.com>
97288
97289         Port nanosecond-resolution times to UnixWare 2.1.2 and
97290         pedantic Solaris 2.6.
97291
97292         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
97293         AC_STRUCT_ST_MTIM.
97294         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
97295         Generate name of ns member, instead of just 1 or undef.
97296         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
97297
97298 1998-08-15  Jim Meyering  <meyering@ascend.com>
97299
97300         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
97301         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
97302         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
97303         instead of jm_TYPE_SSIZE_T.
97304
97305 1998-08-12  Jim Meyering  <meyering@ascend.com>
97306
97307         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
97308
97309 1998-08-02  Jim Meyering  <meyering@ascend.com>
97310
97311         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
97312         in acconfig.h manually.
97313
97314 1998-07-31  Paul Eggert  <eggert@twinsun.com>
97315
97316         * m4/st_mtim.m4: New file.
97317
97318 1998-07-28  Jim Meyering  <meyering@ascend.com>
97319
97320         * m4/utimes.m4: Undef stat.
97321
97322 1998-07-25  Jim Meyering  <meyering@ascend.com>
97323
97324         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
97325         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
97326
97327 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
97328
97329         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
97330         uid and gid actually remain unchanged.
97331
97332 1998-07-07  Jim Meyering  <meyering@ascend.com>
97333
97334         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
97335
97336 1998-07-04  Jim Meyering  <meyering@ascend.com>
97337
97338         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
97339         to prove that this macro can be used in packages without regex.c.
97340
97341 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
97342
97343         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
97344         is to be used.
97345
97346 1998-07-03  Jim Meyering  <meyering@ascend.com>
97347
97348         * m4/gettext.m4: Add -lintl if it's found to be necessary.
97349
97350         * m4/gettext.m4: New file -- from gettext-0.10.35.
97351         * m4/lcmessage.m4: Likewise.
97352         * m4/progtest.m4: Likewise.
97353
97354         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
97355         * m4/jm-macros.m4: Require the new macro.
97356
97357 1998-06-29  Jim Meyering  <meyering@ascend.com>
97358
97359         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
97360         for the definition of NGROUPS (used in a system header included
97361         by sys/mount.h).
97362
97363 1998-06-28  Jim Meyering  <meyering@ascend.com>
97364
97365         * m4/ls-mntd-fs.m4: New file.
97366         * m4/fstypename.m4: New file.
97367
97368         * m4/jm-macros.m4: Require the new macro.
97369         * m4/jm-glibc-io.m4: New file.
97370
97371 1998-05-19  Jim Meyering  <meyering@ascend.com>
97372
97373         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
97374         * m4/lchown.m4: New file.
97375
97376         * m4/Makefile.am.in: New file.
97377         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
97378
97379 1998-05-14  Jim Meyering  <meyering@ascend.com>
97380
97381         * m4/Makefile.am (EXTRA_DIST): Add them.
97382         * m4/jm-macros.m4: New file.
97383         * m4/utimbuf.m4: New file.
97384
97385 1998-05-12  Jim Meyering  <meyering@ascend.com>
97386
97387         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
97388
97389 1998-05-11  Jim Meyering  <meyering@ascend.com>
97390
97391         * m4/isc-posix.m4: New file.
97392
97393 1998-05-10  Jim Meyering  <meyering@ascend.com>
97394
97395         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
97396
97397 1998-05-09  Jim Meyering  <meyering@ascend.com>
97398
97399         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
97400         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
97401         with automake.
97402
97403         * m4/ssize_t.m4: New file.
97404         * m4/mktime.m4: Remove file -- the new automake has this now.
97405
97406 1998-04-26  Jim Meyering  <meyering@ascend.com>
97407
97408         * m4/assert.m4: New file.
97409         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
97410
97411 1998-04-05  Jim Meyering  <meyering@ascend.com>
97412
97413         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
97414         (jm_PREREQ): Use it here.
97415
97416 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
97417
97418         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
97419         in acconfig.h.
97420
97421 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
97422
97423         * m4/prereq.m4: New file.
97424         * m4/error.m4: New file.
97425         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
97426
97427 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
97428
97429         * m4/getline.m4: Don't set am_cv_func_working_getline before the
97430         cache-check for the same variable -- that defeated the purpose of
97431         the test; the test program was never run.  This was a problem only
97432         on systems with losing getline functions -- HP-UX 10.20 is one.
97433         Reported by Bjorn Helgaas.
97434
97435 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
97436
97437         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
97438
97439 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
97440
97441         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
97442
97443         * m4/const.m4: New file.  Use an initializer in this declaration
97444         typedef int charset[2]; const charset x;
97445         Reported by Bob Glickstein.
97446
97447 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
97448
97449         * m4/chown.m4: Fix reversed types on -1 args to chown.
97450         From Kaveh Ghazi.
97451
97452 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
97453
97454         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
97455         Add lseek and memchr.
97456
97457         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
97458         T.E.Dickey <dickey@clark.net> said that some older preprocessors
97459         have a 20-character limit on names.
97460
97461 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
97462
97463         * m4/inttypes_h.m4: New file.
97464         * m4/uintmax_t.m4: New file.
97465         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
97466
97467
97468         -----
97469
97470         Local Variables:
97471         coding: utf-8
97472         End:
97473
97474         Copyright (C) 1997-2012 Free Software Foundation, Inc.
97475
97476         Copying and distribution of this file, with or without
97477         modification, are permitted provided the copyright notice
97478         and this notice are preserved.